Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
openvpn [2018/10/08 19:07] wilfried.pepin |
openvpn [2018/10/09 10:56] (Version actuelle) wilfried.pepin |
||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
===== Configurer un serveur OpenVPN ===== | ===== Configurer un serveur OpenVPN ===== | ||
+ | ==== Configuration easy-rsa ==== | ||
Pour commencer il faut installer les programmes openvpn et easy-rsa: | Pour commencer il faut installer les programmes openvpn et easy-rsa: | ||
apt install openvpn easy-rsa | apt install openvpn easy-rsa | ||
- | rsync -av /usr/share/easy-rsa ~keymaster | + | Si vous voulez gardez une sauvegarde de votre dossier: |
+ | rsync -av /usr/share/easy-rsa ~/keymaster | ||
| | ||
Ensuite modifions le fichier ///usr/share/easy-rsa/vars// | Ensuite modifions le fichier ///usr/share/easy-rsa/vars// | ||
Ligne 16: | Ligne 18: | ||
Pensez à remplacer les informations par les votres ! | Pensez à remplacer les informations par les votres ! | ||
+ | Ensuite, nous allons créez un **lien symbolique** pour le fichier openssl.cnf | ||
+ | ln -s openssl-1.0.0.cnf openssl.cnf | ||
- | | + | Ensuite il faut initialisez le PKI |
+ | ./vars | ||
+ | ./clean-all | ||
+ | ./build-ca | ||
+ | Créons ensuite le **certificat du serveur** | ||
+ | ./build-key-server <nom_du_serveur> | ||
+ | Ensuite un **certificat du client** | ||
+ | ./build-key <nom_du_client> | ||
+ | (Utilisez-le autant de fois que vous avez de client) | ||
+ | |||
+ | Créons ensuite une clé de sécurité dh: | ||
+ | ./build-dh | ||
+ | Dans le dossier ///etc/openvpn//, créons la **clé partagé** entre le serveur et les clients | ||
+ | openvpn --genkey --secret ta.key | ||
+ | (il faudra ensuite copiezcette clé dans les OpenVPN clients) | ||
+ | ==== Configuration OpenVPN ==== | ||
+ | Dans le dossier ///etc/openvpn// créez un dossier **keys** et mettez y toutes les clés du dossier ///usr/share/easy-rsa/keys// | ||
+ | cp /usr/share/easy-rsa/keys/* /etc/openvpn/keys | ||
+ | Ensuite copiez l'exemple l'exemple de configuration OpenVPN dans ///etc/openvpn// | ||
+ | cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/<nom_du_serveur>.conf.gz | ||
+ | Décompressez-le: | ||
+ | gzip -d <nom_du_serveur>.conf.gz | ||
+ | Ensuite modifiez le fichier nouvellement décompressé: ///etc/openvpn/<nom_du_serveur>.conf// | ||
+ | ... | ||
+ | ca keys/ca.crt | ||
+ | cert keys/<nom_du_serveur>.crt | ||
+ | key keys/<nom_du_serveur>.key | ||
+ | # This file should be kept secret | ||
+ | ... | ||
+ | # Diffie hellman parameters. | ||
+ | # Generate your own with: | ||
+ | # openssl dhparam -out dh2048.pem 2048 | ||
+ | dh keys/dh2048.pem | ||
+ | ... | ||
+ | Vérifiez aussi dans le fichier ///etc/openvpn/<nom_du_serveur>.conf//, cette ligne: | ||
+ | tls-auth ta.key 0 | ||
+ | La valeur doit être à **0** pour le **serveur**, et à **1** pour le **client** | ||
+ | |||
+ | Ensuite, dans le dossier ///etc/openvpn//, validez la configuration: | ||
+ | openvpn <nom_du_serveur>.conf | ||
+ | Si il n'y a pas d'erreur, relancez le serveur: | ||
+ | reboot | ||
+ | ===== Configurer un client OpenVPN sur Linux ===== | ||
+ | |||
+ | **Sur le serveur**, créons une certification pour le client | ||
+ | |||
+ | Dans le dossier ///usr/share/easy-rsa//: | ||
+ | ./build-key <nom_du_client> | ||
+ | **Sur le client**, installer aussi OpenVPN: | ||
+ | apt install openvpn | ||
+ | Ensuite mettez-vous dans le dossier ///etc/openvpn// et décompressez le fichier de conf client: | ||
+ | cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/<nom_du_client>.conf.gz | ||
+ | Décompressez ensuite le fichier: | ||
+ | gzip -d <nom_du_client>.conf.gz | ||
+ | Ensuite mettez les **clé suivantes du serveur** dans le dossier **///etc/openvpn/keys// du client** | ||
+ | <nom_du_client>.crt, <nom_du_client>.key, dh2048.pem, ca.crt | ||
+ | Ensuite mettez la clé suivante du serveur dans le dossier ///etc/openvpn// du client: | ||
+ | ta.key | ||
+ | Modifiez ensuite le fichier ///etc/openvpn/<nom_du_client>.conf//: | ||
+ | ... | ||
+ | ca keys/ca.crt | ||
+ | cert keys/<nom_du_client>.crt | ||
+ | key keys/<nom_du_client>.key # This file should be kept secret | ||
+ | ... | ||
+ | # Diffie hellman parameters. | ||
+ | # Generate your own with: | ||
+ | # openssl dhparam -out dh2048.pem 2048 | ||
+ | dh keys/dh2048.pem | ||
+ | ... | ||
+ | Modifiez ensuite dans ce fichier, la valeur remote par ceci: | ||
+ | remote <adresse_ip_du_serveur> 1194 | ||
+ | Puis vérifiez la ligne: | ||
+ | tls-auth ta.key 1 | ||
+ | La valeur doit être à 1 pour le client | ||
+ | |||
+ | Ensuite toujours dans le dossier, ///etc/openvpn//: | ||
+ | openvpn <nom_du_client>.conf | ||
+ | Il ne doit pas y avoir d'erreur. | ||
+ | |||
+ | Tentez un ping vers le tun0 du serveur | ||
+ | ping <adresse_ip_de_l'interface_tun0_du_serveur> | ||
+ | Si vous obtenez une réponse, félicitation ! | ||
+ | |||
+ | Activez ensuite openvpn de manière difinitive: | ||
+ | systemctl enable openvpn | ||
+ | Puis lancer le service: | ||
+ | systemctl start openvpn | ||
+ | |||
+ | ===== Configurer un Client OpenVPN sur Windows ===== | ||
+ | **Sur le serveur**, créons une certification pour le client | ||
+ | |||
+ | Dans le dossier ///usr/share/easy-rsa//: | ||
+ | ./build-key <nom_du_client> | ||
+ | |||
+ | **Sur le client Windows**,pour commencer télécharger un **client OpenVPN pour Windows:** | ||
+ | |||
+ | [[https://openvpn.net/index.php/open-source/downloads.html | Client OpenVPn pour Windows]] | ||
+ | |||
+ | Ensuite faîtes passez les **fichiers suivants du serveur** vers le **dossier //C:\Program Files\OpenVPN\config// du client**: | ||
+ | <nom_du_client>.crt, <nom_du_client>.key, ca.crt, ta.key | ||
+ | Dans ce même dossier //C:\Program Files\OpenVPN\config//, créer un fichier <nom_du_client>.ovpn | ||
+ | |||
+ | Insérez ensuite la configuration suivante: | ||
+ | client | ||
+ | dev tun | ||
+ | proto udp | ||
+ | remote <adresse_ip_de_l'interface_tun0_du_serveur> 1194 | ||
+ | resolv-retry infinite | ||
+ | nobind | ||
+ | ca ca.crt | ||
+ | cert <nom_du_client>.crt | ||
+ | key <nom_du_client>.key | ||
+ | tls-auth ta.key 1 | ||
+ | persist-key | ||
+ | persist-tun | ||
+ | cipher AES-256-CBC | ||
+ | verb 3 | ||
+ | |||
+ | Ensuite, cliquez sur la flêche vers le haut, dans la barre des tâche windows, et trouvez l'icone d'OpenVPN. | ||
+ | |||
+ | Cliquez ensuite sur **connecter**, félicitation ! |