Recherche sur le site Web

Comment configurer un VPN avec OpenVPN sur Debian 9 Stretch Linux


Distribution

Ce guide est testé pour Debian 9 Stretch Linux, mais il peut fonctionner avec d'autres versions de Debian récentes.

Exigences

  • Ce guide suppose que vous exécutez Debian sur un VPS ou un serveur distant, car c'est le scénario le plus probable pour un VPN.
  • Une installation de travail de Debian Stretch avec un accès root

Difficulté

MOYEN

Conventions

  • # - Exige que les commandes Linux soient exécutées avec des privilèges racine soit directement en tant qu'utilisateur racine, soit par l'utilisation de la commande sudo
  • $ - Exige que les commandes Linux soient exécutées en tant qu'utilisateur régulier non privilégié

Configuration des iptables

La configuration de votre propre VPN n'est pas une petite tâche, mais il y a beaucoup de raisons que vous voudriez le faire. D'une part, lorsque vous exécutez votre propre VPN, vous en avez un contrôle complet et savez exactement ce qu'il fait.

La sécurité est un facteur important pour les VPN. Il est possible d'en créer un simple en quelques minutes, mais il ne sera pas du tout sécurisé. Vous devez prendre les mesures appropriées pour vous assurer que le serveur et vos connexions restent privés et cryptés.

Avant de vous lancer dans cette route, vous voudrez peut-être envisager de crypter vos disques, renforcer la sécurité du noyau avec Sellinux ou Pax et s'assurer que tout le reste est verrouillé.

Iptables est une grande partie de la sécurité du serveur. Vous avez besoin d'iptables pour vous assurer que les informations ne s'échappent pas de votre VPN. Iptables fonctionne également pour empêcher les connexions non autorisées. Ainsi, la première étape pour configurer un VPN sur Debian est la configuration des iptables.

Trouvez votre interface WAN

Avant de pouvoir commencer à écrire vos règles iptables, vous devez savoir pour quelle interface vous les écrivez.

Utilisez ifconfig ou ip a pour rechercher l'interface avec laquelle votre serveur est connecté à Internet.

Le reste de ce guide fera référence à cette interface comme eth0 , mais ce ne sera probablement pas le vôtre. Assurez-vous d'échanger à la place le nom de l'interface réseau de votre serveur.

Créer les règles iptables

Chaque utilisateur et administrateur Linux aime écrire des règles iptables, non? Ce ne sera pas si mauvais. Vous composerez un fichier avec toutes les commandes et le restaurerez simplement en iptables.

Créez votre fichier. Vous pouvez le faire quelque part que vous souhaitez enregistrer ou simplement le vider dans /tmp . Iptables enregistrera vos règles de toute façon, donc /tmp est très bien.

$ vim /tmp/v4rules

Démarrez le fichier en ajoutant * filtre pour informer les iptables que ce sont des règles de filtre.

Oui, il y en aura aussi un IPv6, mais ce sera beaucoup plus court.

Règles de bouclage

Commencez avec l'ensemble des règles le plus simple, ceux de l'interface de bouclage. Ceux-ci disent simplement que les iptables n'acceptent que le trafic Looback provenant de LocalHost.


-A INPUT -i lo -j ACCEPT
-A INPUT ! -i lo -s 127.0.0.0/8 -j REJECT
-A OUTPUT -o lo -j ACCEPT

Autoriser Ping

Ensuite, vous voulez probablement pouvoir cingler votre serveur. Ce groupe de règles permet de ping.


-A INPUT -p icmp -m state --state NEW --icmp-type 8 -j ACCEPT
-A INPUT -p icmp -m state --state ESTABLISHED,RELATED -j ACCEPT
-A OUTPUT -p icmp -j ACCEPT

Configuration SSH

Vous devriez probablement changer SSH du port 22, alors laissez vos règles refléter cela.


-A INPUT -i eth0 -p tcp -m state --state NEW,ESTABLISHED --dport 22 -j ACCEPT
-A OUTPUT -o eth0 -p tcp -m state --state ESTABLISHED --sport 22 -j ACCEPT

Autoriser OpenVPN à travers

De toute évidence, vous voudrez autoriser le trafic OpenVPN. Ce guide va utiliser UDP pour OpenVPN. Si vous choisissez d'aller avec TCP, laissez les règles refléter cela.


-A INPUT -i eth0 -p udp -m state --state NEW,ESTABLISHED --dport 1194 -j ACCEPT
-A OUTPUT -o eth0 -p udp -m state --state ESTABLISHED --sport 1194 -j ACCEPT

DNS

Vous allez également vouloir autoriser le trafic DNS via votre serveur VPN. Ce sera via UDP et TCP.


-A INPUT -i eth0 -p udp -m state --state ESTABLISHED --sport 53 -j ACCEPT
-A OUTPUT -o eth0 -p udp -m state --state NEW,ESTABLISHED --dport 53 -j ACCEPT
-A INPUT -i eth0 -p tcp -m state --state ESTABLISHED --sport 53 -j ACCEPT
-A OUTPUT -o eth0 -p tcp -m state --state NEW,ESTABLISHED --dport 53 -j ACCEPT

Http/s pour les mises à jour

Cela peut sembler étrange d'autoriser le trafic HTTP/S, mais vous voulez que Debian puisse se mettre à jour, non? Ces règles permettent à Debian de lancer des demandes HTTP, mais de ne pas les recevoir de l'extérieur.


-A INPUT -i eth0 -p tcp -m state --state ESTABLISHED --sport 80 -j ACCEPT
-A INPUT -i eth0 -p tcp -m state --state ESTABLISHED --sport 443 -j ACCEPT
-A OUTPUT -o eth0 -p tcp -m state --state NEW,ESTABLISHED --dport 80 -j ACCEPT
-A OUTPUT -o eth0 -p tcp -m state --state NEW,ESTABLISHED --dport 443 -j ACCEPT

NTP pour synchroniser votre horloge

En supposant que vous n'allez pas synchroniser manuellement votre horloge de serveur et les horloges clients, vous aurez besoin de NTP. Laissez-le aussi.


-A INPUT -i eth0 -p udp -m state --state ESTABLISHED --sport 123 -j ACCEPT
-A OUTPUT -o eth0 -p udp -m state --state NEW,ESTABLISHED --dport 123 -j ACCEPT

Tun au tunnel à travers le VPN

Ce guide utilise TUN pour tunnel via le VPN, si vous utilisez TAP, ajustez en conséquence.


-A INPUT -i tun0 -j ACCEPT
-A FORWARD -i tun0 -j ACCEPT
-A OUTPUT -o tun0 -j ACCEPT

Pour que le VPN transmette votre trafic vers Internet, vous devez activer le transfert de TUN à votre interface de réseau physique.


-A FORWARD -i tun0 -o eth0 -s 10.8.0.0/24 -j ACCEPT
-A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

Trafic de journal bloqué

Vous devriez probablement faire en sorte que les iptables enregistrent le trafic qu'il bloque. De cette façon, vous êtes conscient de toute menace potentielle.


-A INPUT -m limit --limit 3/min -j LOG --log-prefix "iptables_INPUT_denied: " --log-level 4
-A FORWARD -m limit --limit 3/min -j LOG --log-prefix "iptables_FORWARD_denied: " --log-level 4
-A OUTPUT -m limit --limit 3/min -j LOG --log-prefix "iptables_OUTPUT_denied: " --log-level 4

Rejeter tous les autres trafics

Maintenant que vous enregistrez tout ce qui ne correspond pas aux règles existantes, rejettez-la.


-A INPUT -j REJECT
-A FORWARD -j REJECT
-A OUTPUT -j REJECT

N'oubliez pas de fermer votre fichier avec commit .

Nat

Cette partie suivante nécessite une table différente. Vous ne pouvez pas l'ajouter au même fichier, vous n'aurez donc qu'à exécuter la commande manuellement.

Faire du trafic à partir de la mascarade VPN comme trafic de l'interface de réseau physique.


iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

Bloquer tout le trafic IPv6

Le trafic peut s'échapper sur IPv6, et il n'est vraiment pas nécessaire d'utiliser IPv6 pour le moment. La chose la plus simple à faire est de l'arrêter entièrement.

Créez un autre fichier et accédez aux règles pour rejeter tout le trafic IPv6.

$vim /tmp/v6rules

*filter

-A INPUT -j REJECT
-A FORWARD -j REJECT
-A OUTPUT -j REJECT

COMMIT

Tout commettre

Commencez par éliminer toutes les règles iptables existantes.


iptables -F && iptables -X

Importez chacun des fichiers de règles que vous avez créés.


iptables-restore < /tmp/v4rules
ip6tables-restore < /tmp/v6rules

Le faire coller

Debian a un package qui gérera automatiquement vos règles iptables, vous n'avez donc pas à créer un travail cron ou quelque chose comme ça.

# apt install iptables-persistent

Le processus d'installation vous demandera si vous souhaitez enregistrer vos configurations. Réponse "Oui".

À l'avenir, vous pouvez mettre à jour vos règles en exécutant la commande Linux suivante.

# service netfilter-persistent save

Configuration supplémentaire

Il y a quelques autres choses que vous devez faire pour faire fonctionner toutes vos interfaces de réseau au besoin.

Tout d'abord, ouvrez /etc/hôtes et commentez toutes les lignes IPv6.

Ensuite, ouvrez /etc/sysctl.d/99-sysctl.conf . Trouvez et décommentez la ligne suivante.


net.ipv4.ip_forward=1

Ajoutez ces lignes suivantes pour désactiver complètement IPv6.


net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
net.ipv6.conf.eth0.disable_ipv6 = 1

Enfin, appliquez vos modifications.


sysctl -p

Quelle est la prochaine étape

C'est la première partie vers le bas. Le pare-feu de votre serveur est maintenant prêt à exécuter OpenVPN, et votre réseau est également correctement aligné.

L'étape suivante consiste à créer une autorité de certificat pour gérer toutes vos clés de chiffrement. Ce n'est pas un processus long que c'était le cas, mais c'est tout aussi important.

Autorité de certification

Utilisez Easy-RSA pour établir l'autorité de certificat que vous utiliserez pour créer et les clés de chiffrement pour votre serveur OpenVPN.

Il s'agit de la deuxième partie de la configuration d'un serveur OpenVPN sur Debian Stretch.

Les VPN s'appuient sur le chiffrement. Il est absolument vital qu'ils cryptent leurs connexions avec les clients ainsi que le processus de connexion lui-même.

Afin de générer les clés nécessaires à la communication cryptée, vous devez établir une autorité de certificat. Ce n'est vraiment pas si difficile, et il existe des outils qui simplifient davantage le processus.

Installation des packages

Avant de commencer, installez OpenVPN et Easy-RSA.

# apt install openvpn easy-rsa

Configurer le répertoire

Le package OpenVPN a créé un répertoire pour lui-même chez /etc/openvpn . C'est là que vous pouvez configurer l'autorité de certificat.

Easy-RSA comprend un script qui crée automatiquement un répertoire avec tout ce dont vous avez besoin. Utilisez-le pour créer votre répertoire d'autorité de certificat.

# make-cadir /etc/openvpn/certs

Entrez ce répertoire et créez un lien souple entre la dernière configuration OpenSSL avec openssl.cnf .

# ln -s openssl-1.0.0.cnf openssl.cnf

Définir les variables

À l'intérieur du dossier se trouve un fichier appelé, vars . Ce fichier contient les variables que Easy-RSA utilisera pour générer vos clés. Ouvrez-le. Il y a quelques valeurs que vous devez modifier.

Commencez par trouver la variable key_size et modifiez sa valeur en 4096 .

export KEY_SIZE=4096

Ensuite, trouvez un bloc d'informations concernant l'emplacement et l'identité de votre autorité de certificat.


export KEY_COUNTRY="US"
export KEY_PROVINCE="CA"
export KEY_CITY="SanFrancisco"
export KEY_ORG="Fort-Funston"
export KEY_EMAIL="me@myhost.mydomain"
export KEY_OU="MyOrganizationalUnit"

Modifiez les valeurs pour vous correspondre.

La dernière variable que vous devez trouver est le key_name

export KEY_NAME="VPNServer"

Nommez quelque chose d'identifiable.

Créer les clés d'autorité

Easy-RSA comprend des scripts pour générer l'autorité de certificat.

Chargez d'abord les variables.

# source ./vars

Un message d'avertissement apparaîtra dans le terminal vous indiquant que clean-all effacera vos clés. Vous n'en avez pas encore, donc ça va.

# ./clean-all

Vous pouvez maintenant exécuter le script pour générer réellement votre autorité de certificat. Le script vous posera des questions sur les clés que vous générez. Les réponses par défaut seront les variables que vous avez déjà entrées. Vous pouvez casser en toute sécurité "Entrer". N'oubliez pas d'entrer un mot de passe si vous le souhaitez et de répondre "oui" aux deux dernières questions.

# ./build-ca

Créer une clé de serveur

Ces clés que vous avez faites concernaient l'autorité de certificat elle-même. Vous avez également besoin d'une clé pour le serveur. Encore une fois, il y a un script pour cela.

# ./build-key-server server

Générer un diffie-hellman pem

Vous devez générer un diffie-hellman pem qu'OpenVPN utilisera pour créer des clés de sessions clients sécurisées. Easy-RSA fournit également un script pour cela, mais il est tout simplement plus facile d'utiliser OpenSSL.

Étant donné que l'objectif ici est la sécurité, il est préférable de générer une clé 4096bit. Cela va prendre un certain temps à générer, et cela pourrait ralentir un peu le processus de connexion, mais le chiffrement sera raisonnablement fort.

# openssl dhparam 4096 > /etc/openvpn/dh4096.pem

Générer une clé HMAC

Oui, vous avez besoin d'une autre clé de cryptage. OpenVPN utilise des touches HMAC pour signer les paquets qu'il utilise dans le processus d'authentification TLS. En signant ces paquets, OpenVPN peut garantir que seuls les paquets provenant d'une machine avec la clé sont acceptés. Il ajoute simplement une autre couche de sécurité.

L'utilitaire de génération de votre clé HMAC est en fait intégré à OpenVPN lui-même. Exécutez-le.

# openvpn --genkey --secret /etc/openvpn/certs/keys/ta.key

Quelle est la prochaine étape

La création d'un chiffrement fort est facilement l'un des aspects les plus importants de la configuration d'un serveur OpenVPN. Sans un bon chiffrement, l'ensemble du processus est fondamentalement dénué de sens.

À ce stade, vous êtes enfin prêt à configurer le serveur lui-même. La configuration du serveur est en fait moins compliquée que ce que vous avez fait jusqu'à présent, alors félicitations.

OpenVPN Sever

Configurez le serveur OpenVPN à l'aide des touches de chiffrement que vous avez générées dans la section précédente du guide.

Il s'agit de la troisième partie de la configuration d'un serveur OpenVPN sur Debian Stretch.

Maintenant, vous êtes arrivé à l'événement principal. Il s'agit de la configuration réelle du serveur OpenVPN. Tout ce que vous avez fait jusqu'à présent était absolument nécessaire, mais rien n'a touché OpenVPN lui-même, jusqu'à présent.

Cette section concerne entièrement la configuration et l'exécution du serveur OpenVPN, et elle est en fait moins compliquée que vous ne le pensez probablement.

Obtenez la configuration de base

OpenVPN a rendu ce processus très facile. Le package que vous avez installé est livré avec des exemples de fichiers de configuration pour les clients et le serveur. Il vous suffit de décompresser le serveur dans votre /etc/openvpn répertoire.


gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz > /etc/openvpn/server.conf

Ouvrez-le dans votre éditeur de texte préféré et préparez-vous à commencer à changer les choses.

Utilisez vos clés

Une fois que vous êtes dans le fichier, vous verrez que tout est rempli de défauts de défaut raisonnables, et il y a beaucoup de commentaires qui fournissent une excellente documentation sur ce que tout fait.

La première chose que vous devez trouver est la section pour ajouter votre autorité de certificat et vos clés de serveur. Les variables sont ca , Cert et key . Définissez-les égal au chemin complet de chacun de ces fichiers. Cela devrait ressembler à l'exemple ci-dessous.


ca /etc/openvpn/certs/keys/ca.crt
cert /etc/openvpn/certs/keys/server.crt
key /etc/openvpn/certs/keys/server.key  # This file should be kept secret

La partie suivante que vous devez trouver est le diffie-hellman .pem Lorsque vous avez terminé, cela devrait ressembler à ceci:

dh dh4096.pem

Enfin, recherchez TLS-AUTH pour votre clé HMAC.

tls-auth /etc/openvpn/certs/keys/ta.key 0 # This file is secret

Oui, laissez le 0 là-bas.

Renforcer la sécurité

Les paramètres de chiffrement dans le fichier de configuration sont corrects, mais ils pourraient être beaucoup mieux. Il est temps d'activer de meilleurs paramètres de chiffrement.

Trouvez la section qui commence par, # Sélectionnez un chiffre cryptographique. C'est là que vous devez ajouter la ligne suivante ci-dessous, il existait les options commentées.

cipher AES-256-CBC

Ce n'est pas l'une des options répertoriées, mais elle est prise en charge par OpenVPN. Ce cryptage AES 256 bits est probablement le meilleur offert par OpenVPN.

Faites défiler vers la fin du fichier. Les deux options suivantes ne sont pas déjà dans la configuration, vous devez donc les ajouter.

Tout d'abord, vous devez spécifier un fort digest d'authentification. Il s'agit du chiffrement qu'OpenVPN utilisera pour l'authentification des utilisateurs. Choisissez Sha512.


Auth Digest
auth SHA512

Ensuite, limitez les chiffres qu'OpenVPN utilisera à ceux plus forts. Il est préférable de le limiter autant que possible.


Limit Ciphers
tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-128-GCM-SHA256:TLS-DHE-RSA-WITH-AES-256-CBC-SHA:TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA:TLS-DHE-RSA-WITH-AES-128-CBC-SHA:TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA

Trafic direct

Tous les trucs de chiffrement sont à l'écart. Il est temps de faire un peu de routage. Vous devez dire OpenVPN pour gérer la redirection du trafic et du DNS.

Commencez par rediriger le trafic. Trouvez la ligne ci-dessous et décommentez-la.

push "redirect-gateway def1 bypass-dhcp"

Afin d'acheminer DNS via OpenVPN, vous devez lui donner des options DNS. Ces lignes sont déjà là et ont également commenté. Lescommer. Si vous souhaitez utiliser un autre serveur DNS, vous pouvez également modifier l'IP en ce DNS.


push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"

Configurer un utilisateur OpenVPN

OpenVPN s'exécute en tant que racine par défaut. C'est une idée assez terrible. Si OpenVPN est compromis, l'ensemble du système est vissé. Il y a quelques lignes commentées pour exécuter OpenVPN en tant que "personne", mais "personne" gère généralement d'autres services aussi. Si vous ne voulez pas que OpenVPN ait accès à autre chose que OpenVPN, vous devez l'exécuter comme son propre utilisateur non privilégié.

Créez un utilisateur système pour OpenVPN à exécuter.


adduser --system --shell /usr/sbin/nologin --no-create-home openvpn

Ensuite, vous pouvez modifier le fichier de configuration en démontant les lignes qui exécutent OpenVPN comme "personne" et le remplacer par le nom d'utilisateur que vous venez de faire.


user openvpn
group nogroup

Envoyer des journaux à null

Il y a deux options en ce qui concerne les journaux, et ils ont tous deux leurs mérites. Vous pouvez tout enregistrer comme d'habitude et avoir les journaux pour remonter à une date ultérieure, ou vous pouvez être paranoïaque et vous connecter à /dev/null .

En vous connectant à /dev/null , vous effacez tout enregistrement des clients qui se connectent au VPN et où ils vont. Même si vous contrôlez votre VPN, vous voudrez peut-être suivre cette voie si vous essayez d'être plus soucieux de la vie privée.

Si vous souhaitez détruire vos journaux, recherchez le statut , log , et log-apprend variables et pointez-les tous sur /dev/null . Il devrait ressembler à l'exemple ci-dessous.


status /dev/null

…

log         /dev/null
log-append  /dev/null

C'est la dernière partie de la configuration. Enregistrez-le et préparez-vous à exécuter votre serveur.

Exécutez votre serveur

Il y a en fait deux services dont vous avez besoin pour commencer à tourner OpenVPN sur Debian Stretch. Démarrez-les tous les deux avec SystemD.


systemctl start openvpn
systemctl start openvpn@server

Vérifiez qu'ils fonctionnent correctement.


systemctl status openvpn*.service

Leur permettez de fonctionner tous les deux au démarrage.


systemctl enable openvpn
systemctl enable openvpn@server

Vous avez maintenant un serveur VPN en cours d'exécution sur Debian Stretch!

Quelle est la prochaine étape

Vous êtes ici. Vous l'avez fait! Debian dirige maintenant OpenVPN derrière un pare-feu sécurisé, et il est prêt pour les clients à se connecter.

Dans la section suivante, vous configurerez votre premier client et le connectez à votre serveur.

Client OpenVPN

Configurez et OpenVPN Client pour se connecter au serveur OpenVPN nouvellement configuré.

Il s'agit de la quatrième et dernière partie de la configuration d'un serveur OpenVPN sur Debian Stretch.

Maintenant que votre serveur est en cours d'exécution, vous pouvez configurer un client pour y connecter. Ce client peut être n'importe quel appareil qui prend en charge OpenVPN, ce qui est presque n'importe quoi.

Il y a quelque chose que vous devez d'abord faire sur le serveur pour remettre au client, mais après cela, il s'agit de configurer cette connexion.

Créer des clés client

Commencez par faire un ensemble de clés client. Le processus est presque identique à celui que vous avez utilisé pour fabriquer les clés du serveur.

cd Dans le répertoire de l'autorité de certificat, définissez la source du fichier Variables et créez les clés.


cd /etc/openvpn/certs
source ./vars
./build-key firstclient

Vous pouvez nommer la clé du client tout ce que vous choisissez. Encore une fois, le script vous posera une série de questions. Les valeurs par défaut devraient être bonnes pour tout.

Fichier de configuration du client

OpenVPN fournit des exemples de configurations client en plus de celles du serveur. Crate un nouveau répertoire pour la configuration de votre client et copiez l'exemple.


mkdir /etc/openvpn/clients
cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/clients/client.ovpn

Ouvrez le fichier dans votre éditeur de texte de choix.

Hôte éloigné

Trouvez la ligne avec la variable distante . Définissez-le égal à l'IP de votre serveur.


remote 192.168.1.5 1194

Ne devenir personne

Il n'y a pas de formation avec les hommes sans visage requis. Il suffit de trouver un décalmement les lignes ci-dessous.


user nobody
group nogroup

Configurez vos clés

Vous devez indiquer à la configuration du client où trouver les clés dont il a besoin également. Trouvez les lignes suivantes et modifiez-les pour correspondre à ce que vous avez configuré.


ca ca.crt
cert firstclient.crt
key firstclient.key

Assurez-vous d'utiliser les noms réels du CLIENT CERT et de la clé. Le chemin est bien. Vous metterez le tout dans le même répertoire.

Trouvez et décommentez la ligne pour HMAC.


tls-auth ta.key 1

Spécifier le cryptage

Le client a besoin de savoir quel cryptage le serveur utilise. Tout comme le serveur, quelques-unes de ces lignes doivent être ajoutées.

Recherchez la variable Cipher . Il est commenté. Décommentez-le et ajoutez le chiffre que vous avez utilisé sur le serveur.


cipher AES-256-CBC

Ajoutez le digest d'authentification et les restrictions de chiffre à la fin de la configuration du client.


Authentication Digest
auth SHA512

Cipher Restrictions
tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-128-GCM-SHA256:TLS-DHE-RSA-WITH-AES-256-CBC-SHA:TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA:TLS-DHE-RSA-WITH-AES-128-CBC-SHA:TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA

Enregistrez votre configuration et sortez.

Envoyez un tarball au client

Vous devez emballer la configuration et les clés de votre client dans un tarball et l'envoyer au client. Chargez tout en un seul tarball pour simplifier les choses du client.


tar cJf /etc/openvpn/clients/firstclient.tar.xz -C /etc/openvpn/certs/keys ca.crt firstclient.crt firstclient.key ta.key -C /etc/openvpn/clients/ client.ovpn

Maintenant, vous pouvez transférer ce tarball vers votre client comme vous le souhaitez.

Connecter

En supposant que votre client est une distribution Debian, le processus de connexion est très simple. Installez OpenVPN comme vous l'avez fait sur le serveur.

# apt install openvpn

Extraire votre tarball dans le répertoire /etc/openvpn que l'installation a créé.


cd /etc/openvpn
tar xJf /path/to/firstclient.tar.xz

Vous devrez peut-être renommer client.ovpn à openvpn.conf . Vous obtiendrez une erreur sur le démarrage si vous le faites.

Démarrer et activer OpenVPN avec SystemD.


systemctl start openvpn
systemctl enable openvpn

Conclusion

Vous avez un serveur VPN fonctionnel et un client connecté! Vous pouvez également suivre la même procédure détaillée dans ce guide pour vos autres clients. Assurez-vous de créer des clés distinctes pour chacune. Vous pouvez cependant utiliser le même fichier de configuration.

Vous voudrez peut-être également vous assurer que tout fonctionne correctement. Rendez-vous au test de fuite DNS pour vous assurer que votre IP corrige le serveur et que vous n'utilisez pas le DNS de votre IPS.

Articles connexes: