GNU/Linux >> Tutoriels Linux >  >> Panels >> OpenVPN

Configurez votre serveur OpenVPN sous Linux

OpenVPN crée un tunnel crypté entre deux points, empêchant un tiers d'accéder à votre trafic réseau. En configurant votre serveur de réseau privé virtuel (VPN), vous devenez votre propre fournisseur VPN. De nombreux services VPN populaires utilisent déjà OpenVPN, alors pourquoi lier votre connexion à un fournisseur spécifique alors que vous pouvez avoir un contrôle total ?

Le premier article de cette série a configuré un serveur pour votre VPN, et le deuxième article a montré comment installer et configurer le logiciel serveur OpenVPN. Ce troisième article montre comment démarrer OpenVPN avec l'authentification en place.

En savoir plus sur la sécurité

  • Le guide de codage défensif
  • Webinaire :Automatiser la sécurité et la conformité du système avec un système d'exploitation standard
  • 10 couches de sécurité des conteneurs Linux
  • Livre de coloriage SELinux
  • Plus d'articles sur la sécurité

Pour configurer un serveur OpenVPN, vous devez :

  • Créez un fichier de configuration.
  • Définir le sysctl valeur net.ipv4.ip_forward = 1 pour activer le routage.
  • Définissez la propriété appropriée pour tous les fichiers de configuration et d'authentification afin d'exécuter le démon du serveur OpenVPN sous un compte non root.
  • Configurez OpenVPN pour qu'il démarre avec le fichier de configuration approprié.
  • Configurez votre pare-feu.

Fichier de configuration

Vous devez créer un fichier de configuration du serveur dans /etc/openvpn/server/ . Vous pouvez recommencer à zéro si vous le souhaitez, et OpenVPN inclut plusieurs exemples de fichiers de configuration à utiliser comme point de départ. Jetez un oeil dans /usr/share/doc/openvpn/sample/sample-config-files/ pour les voir tous.

Si vous souhaitez créer un fichier de configuration à la main, commencez par server.conf ou roadwarrior-server.conf (le cas échéant) et placez votre fichier de configuration dans /etc/openvpn/server . Les deux fichiers sont largement commentés, alors lisez les commentaires et décidez lequel correspond le mieux à votre situation.

Vous pouvez gagner du temps et de l'aggravation en utilisant mes modèles de fichiers de configuration de serveur et de client prédéfinis et sysctl fichier pour activer le routage réseau. Cette configuration inclut également la personnalisation pour enregistrer les connexions et les déconnexions. Il conserve les journaux sur le serveur OpenVPN dans /etc/openvpn/server/logs .

Si vous utilisez mes modèles, vous devrez les modifier pour utiliser vos adresses IP et vos noms d'hôte.

Pour utiliser mes modèles de configuration prédéfinis, mes scripts et sysctl pour activer le transfert IP, téléchargez mon script :

$ curl \
https://www.dgregscott.com/ovpn/OVPNdownloads.sh > \
OVPNdownloads.sh

Lisez le script pour avoir une idée de ce qu'il fait. Voici un bref aperçu de ses actions :

  • Crée les répertoires appropriés sur votre serveur OpenVPN
  • Télécharge les modèles de fichiers de configuration du serveur et du client depuis mon site Web
  • Télécharge mes scripts personnalisés et les place dans le bon répertoire avec les bonnes autorisations
  • Télécharge 99-ipforward.conf et le place dans /etc/sysctl.d pour activer le transfert IP au prochain démarrage
  • Configure la propriété de tout dans /etc/openvpn

Une fois que vous êtes satisfait de comprendre ce que fait le script, rendez-le exécutable et exécutez-le :

$ chmod +x OVPNdownloads.sh
$ sudo ./OVPNdownloads.sh

Voici les fichiers qu'il copie (notez la propriété du fichier) :

$ ls -al -R /etc/openvpn
/etc/openvpn:
total 12
drwxr-xr-x.   4 openvpn openvpn   34 Apr  6 20:35 .
drwxr-xr-x. 139 root    root    8192 Apr  6 20:35 ..
drwxr-xr-x.   2 openvpn openvpn   33 Apr  6 20:35 client
drwxr-xr-x.   4 openvpn openvpn   56 Apr  6 20:35 server

/etc/openvpn/client:
total 4
drwxr-xr-x. 2 openvpn openvpn   33 Apr  6 20:35 .
drwxr-xr-x. 4 openvpn openvpn   34 Apr  6 20:35 ..
-rw-r--r--. 1 openvpn openvpn 1764 Apr  6 20:35 OVPNclient2020.ovpn

/etc/openvpn/server:
total 4
drwxr-xr-x. 4 openvpn openvpn   56 Apr  6 20:35 .
drwxr-xr-x. 4 openvpn openvpn   34 Apr  6 20:35 ..
drwxr-xr-x. 2 openvpn openvpn   59 Apr  6 20:35 ccd
drwxr-xr-x. 2 openvpn openvpn    6 Apr  6 20:35 logs
-rw-r--r--. 1 openvpn openvpn 2588 Apr  6 20:35 OVPNserver2020.conf

/etc/openvpn/server/ccd:
total 8
drwxr-xr-x. 2 openvpn openvpn  59 Apr  6 20:35 .
drwxr-xr-x. 4 openvpn openvpn  56 Apr  6 20:35 ..
-rwxr-xr-x. 1 openvpn openvpn 917 Apr  6 20:35 client-connect.sh
-rwxr-xr-x. 1 openvpn openvpn 990 Apr  6 20:35 client-disconnect.sh

/etc/openvpn/server/logs:
total 0
drwxr-xr-x. 2 openvpn openvpn  6 Apr  6 20:35 .
drwxr-xr-x. 4 openvpn openvpn 56 Apr  6 20:35 ..

Voici le 99-ipforward.conf fichier :

# Turn on IP forwarding. OpenVPN servers need to do routing
net.ipv4.ip_forward = 1

Modifier OVPNserver2020.conf et OVPNclient2020.ovpn pour inclure vos adresses IP. Modifiez également OVPNserver2020.conf pour inclure vos noms de certificat de serveur antérieurs. Plus tard, vous renommerez et modifierez une copie de OVPNclient2020.ovpn à utiliser avec vos ordinateurs clients. Les blocs commençant par ***? vous montrer où modifier.

Propriété du fichier

Si vous avez utilisé le script automatisé de mon site Web, la propriété du fichier est déjà en place. Sinon, vous devez vous assurer que votre système a un utilisateur appelé openvpn qui est membre d'un groupe nommé openvpn . Vous devez définir la propriété de tout dans /etc/openvpn à cet utilisateur et à ce groupe. Vous pouvez le faire en toute sécurité si vous ne savez pas si l'utilisateur et le groupe existent déjà car useradd refusera de créer un utilisateur portant le même nom qu'un utilisateur existant :

$ sudo useradd openvpn
$ sudo chown -R openvpn.openvpn /etc/openvpn

Pare-feu

Si vous avez décidé de ne pas désactiver le service firewalld à l'étape 1, le service de pare-feu de votre serveur peut ne pas autoriser le trafic VPN par défaut. Utilisation de firewall-cmd commande, vous pouvez activer le service OpenVPN, qui ouvre les ports nécessaires et achemine le trafic si nécessaire :

$ sudo firewall-cmd --add-service openvpn --permanent
$ sudo firewall-cmd --reload

Pas besoin de se perdre dans un labyrinthe d'iptables !

Démarrez votre serveur

Vous pouvez maintenant démarrer votre serveur OpenVPN. Pour qu'il démarre automatiquement après un redémarrage, utilisez le enable sous-commande de systemctl :

systemctl enable --now [email protected]

Étapes finales

Le quatrième et dernier article de cet article vous montrera comment configurer des clients pour se connecter à distance à votre OpenVPN.


Cet article est basé sur le blog de D. Greg Scott et est réutilisé avec sa permission.


OpenVPN
  1. Installez OpenVPN sur votre PC Linux

  2. 9 choses à faire dans vos 10 premières minutes sur un serveur Linux

  3. 7 étapes pour sécuriser votre serveur Linux

  4. Comment surveiller votre serveur Linux ?

  5. Le moyen le plus simple d'installer et de configurer le serveur OpenVPN sous Linux

Configurer un serveur VPN Linux à l'aide d'OpenVPN - Guide étape par étape

Comment configurer OpenVPN sur Ubuntu 16.04

Comment installer et configurer un serveur OpenVPN sur Ubuntu 22.04

Comment vérifier la charge de votre serveur sous Linux

Comment configurer la réplication FreeIPA sur Rocky Linux/Alma Linux/Centos 8

Comment installer KernelCare sur votre serveur Linux