Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
openvpn [Le 13/07/2019, 20:24]
88.164.114.135 ancienne révision (Le 13/07/2019, 20:13) restaurée
openvpn [Le 28/07/2023, 19:53] (Version actuelle)
169.159.221.120 [Par paquet]
Ligne 38: Ligne 38:
   * 1194 UDP   * 1194 UDP
 </​note>​ </​note>​
 +
 ==== Webmin : Interface d'​administration web ==== ==== Webmin : Interface d'​administration web ====
  
-Un module [[:Webmin]] est disponible pour faciliter le paramétrage d'[[http://​www.webmin.com/​cgi-bin/​search_third.cgi?​search=openvpn|OpenVPN]].+Un module [[:Webmin]] est disponible pour faciliter le paramétrage d'[[https://​www.webmin.com/​cgi-bin/​search_third.cgi?​search=openvpn|OpenVPN]].
  
 +<note tips>
 +Bien sur, l'​usage de webmin n'est pas nécessaire.
  
 +Certains diraient même que c'est a déconseiller.
 +</​note>​
 ===== Configuration des VPN ===== ===== Configuration des VPN =====
  
Ligne 50: Ligne 55:
  
   - Téléchargez le fichier de configuration de votre fournisseur VPN.   - Téléchargez le fichier de configuration de votre fournisseur VPN.
-  - Placez ce fichier ***.ovpn** dans le dossier **/​etc/​openvpn/​** et renommer ce fichier pour enlever les espaces (si besoin). Pour avoir l'​accès en écriture de ce dossier, faites un clic droit sur le dossier **openvpn** et choisissez **Ouvrir en tant qu'​administrateur**. 
   - Faites un clic droit sur l’icône réseau et choisis de modifier les connexions.   - Faites un clic droit sur l’icône réseau et choisis de modifier les connexions.
   - Ajoutez une nouvelle connexion.   - Ajoutez une nouvelle connexion.
Ligne 82: Ligne 86:
  
   * Le serveur n'a besoin que de ses propres certificats/​clés,​ il n'a pas besoin de connaître chacune des clés des clients qui peuvent s'y connecter.   * Le serveur n'a besoin que de ses propres certificats/​clés,​ il n'a pas besoin de connaître chacune des clés des clients qui peuvent s'y connecter.
-  * Le serveur n'​acceptera les clients que lorsque le certificat sera signé par l'​Autorité de Certification maître (qui l'aura généré avant). Et comme le serveur peut vérifier cette signature sans avoir besoin d'​accéder à la clé privée de l'​Autorité de Certification elle-même, il est possible pour la clé de l'​Autorité de Certification (clé la plus sensible dans toute l'​Infrastructure de Clés Publiques) de résider sur une toute autre machine, même une sans connexion réseau. ​+  * Le serveur n'​acceptera les clients que lorsque le certificat sera signé par l'​Autorité de Certification maître (qui l'aura généré avant). Et comme le serveur peut vérifier cette signature sans avoir besoin d'​accéder à la clé privée de l'​Autorité de Certification elle-même, il est possible pour la clé de l'​Autorité de Certification (clé la plus sensible dans toute l'​Infrastructure de Clés Publiques) de résider sur une toute autre machine, même une sans connexion réseau.
   * Si une clé privée est compromise, il est possible de la désactiver en ajoutant son certificat à une Liste de Révocation de Certificat (LRC ou CRL en anglais). La LRC permet aux certificats compromis d'​être rejetés sélectivement sans nécessiter une entière refonte de l'​Infrastructure de Clé Publiques.   * Si une clé privée est compromise, il est possible de la désactiver en ajoutant son certificat à une Liste de Révocation de Certificat (LRC ou CRL en anglais). La LRC permet aux certificats compromis d'​être rejetés sélectivement sans nécessiter une entière refonte de l'​Infrastructure de Clé Publiques.
  
Ligne 92: Ligne 96:
  
  
-Il faut tout d'​abord ouvrir un terminal et effectuer une copie dans son dossier /home des scripts de génération de clés : +Il faut tout d'​abord ouvrir un terminal et effectuer une copie dans son dossier /home des scripts de génération de clés :
  
 <​code>​cp /​usr/​share/​doc/​openvpn/​examples/​easy-rsa ~/openvpn/ -R</​code>​ <​code>​cp /​usr/​share/​doc/​openvpn/​examples/​easy-rsa ~/openvpn/ -R</​code>​
Ligne 107: Ligne 111:
  
 Maintenant [[:​tutoriel:​comment_editer_un_fichier|éditez le fichier]] **vars** et initialiser les variables **KEY_COUNTRY,​ KEY_PROVINCE,​ KEY_CITY, KEY_ORG, and KEY_EMAIL**. Maintenant [[:​tutoriel:​comment_editer_un_fichier|éditez le fichier]] **vars** et initialiser les variables **KEY_COUNTRY,​ KEY_PROVINCE,​ KEY_CITY, KEY_ORG, and KEY_EMAIL**.
-Ne laisser surtout pas un seul champ vide. +Ne laisser surtout pas un seul champ vide.
  
 Il faut modifier les dernières lignes à sa convenance. Dans notre cas : Il faut modifier les dernières lignes à sa convenance. Dans notre cas :
Ligne 123: Ligne 127:
  
 On initialise les variables : On initialise les variables :
 +<note important>​ Sur la 19.10 easyrsa est en version 3 pour générer le PKI il faut utiliser: 
 +<​code>​./​easyrsa init-pki 
 + ​./​easyrsa build-ca 
 + ​./​easyrsa gen-req hakase-server nopass 
 + ​./​easyrsa sign-req server hakase-server 
 +  openssl dhparam -out dh2048.pem 2048</​code></​note>​ 
 +  ​
 <​code>​source ./​vars</​code>​ <​code>​source ./​vars</​code>​
  
Ligne 144: Ligne 154:
 ''​...........++++++''​ ''​...........++++++''​
  
-''​writing new private key to '​ca.key'''''​-----''​+''​writing new private key to 'ca.key'''''​-----''​
  
 ''​You are about to be asked to enter information that will be incorporated into your certificate request.''​ ''​You are about to be asked to enter information that will be incorporated into your certificate request.''​
Ligne 156: Ligne 166:
 ''​If you enter '​.',​ the field will be left blank.''​ ''​If you enter '​.',​ the field will be left blank.''​
  
-''​-----''​+''​-----''​
  
 ''​Country Name (2 letter code) [FR]:''​ ''​Country Name (2 letter code) [FR]:''​
Ligne 189: Ligne 199:
  
  
-Quand le **Common Name** est demandé, il faut entrer « server » comme le dernier paramètre entré dans la commande précédente. Puis il faut mettre un mot de passe et un nom d'​entreprise (facultatif). ​+Quand le **Common Name** est demandé, il faut entrer « server » comme le dernier paramètre entré dans la commande précédente. Puis il faut mettre un mot de passe et un nom d'​entreprise (facultatif).
  
 Suivent deux dernières questions qui requièrent des réponses positives : Suivent deux dernières questions qui requièrent des réponses positives :
Ligne 203: Ligne 213:
 === Générer les certificats et les clés pour 3 clients === === Générer les certificats et les clés pour 3 clients ===
  
-Générer des certificats et des clés pour les clients est une étape similaire à l'​étape précédente. ​+Générer des certificats et des clés pour les clients est une étape similaire à l'​étape précédente.
  
 <note important>​ <note important>​
Ligne 211: Ligne 221:
  
 </​note>​ </​note>​
 +<note important>​Depuis la 19.10 easyrsa 3 pour générer et signer vos clées: 
 +<​code>​./​easyrsa gen-req client01 nopass 
 +./easyrsa sign-req client client01 
 +</​code>​ 
 +</​note>​
 Exemple avec un client nommé **client1** : Exemple avec un client nommé **client1** :
  
Ligne 233: Ligne 247:
  
 Les paramètres Diffie Hellman doivent être générés pour le serveur OpenVPN : Les paramètres Diffie Hellman doivent être générés pour le serveur OpenVPN :
 +
 +<note important>​ Sur la 19.10 easyrsa est en version 3 pour générer le Diffie Hellman il faut utiliser:
 +<​code>​./​easyrsa gen-dh
 +./easyrsa gen-crl</​code></​note>​
  
 <​code>​./​build-dh</​code>​ <​code>​./​build-dh</​code>​
Ligne 270: Ligne 288:
 Au lieu de générer les certificats et les clés clients sur le serveur, le client aurait pu générer sa propre clé privée localement, et ensuite, soumettre un CSR (Certificat Signing Request ou Demande de Signature de Certificat) à la machine qui signe les clés. A son tour, la machine signant les clés peut procéder au CSR et retourner un certificat signé au client. Tout ceci peut se faire sans avoir besoin qu'un fichier secret ''​.key''​ quitte le disque dur de la machine qui l'a généré. Au lieu de générer les certificats et les clés clients sur le serveur, le client aurait pu générer sa propre clé privée localement, et ensuite, soumettre un CSR (Certificat Signing Request ou Demande de Signature de Certificat) à la machine qui signe les clés. A son tour, la machine signant les clés peut procéder au CSR et retourner un certificat signé au client. Tout ceci peut se faire sans avoir besoin qu'un fichier secret ''​.key''​ quitte le disque dur de la machine qui l'a généré.
  
-Copie des fichiers serveur :<​code>​cp keys/​dh*.pem keys/ca.crt keys/​server.crt keys/​server.key /​etc/​openvpn/</​code>​+Copie des fichiers serveur : 
 +<note important>​ Sur la 19.10 easyrsa est en version 3 pour copier les clées il faut utiliser: 
 +<​code>​cp pki/ca.crt /​etc/​openvpn/​server/​ 
 +cp pki/​issued/​hakase-server.crt /​etc/​openvpn/​server/​ 
 +cp pki/​private/​hakase-server.key /​etc/​openvpn/​server/​ 
 +cp pki/dh.pem /​etc/​openvpn/​server/​ 
 +cp pki/crl.pem /​etc/​openvpn/​server/</​code></​note>​ 
 +<​code>​cp keys/​dh*.pem keys/ca.crt keys/​server.crt keys/​server.key /​etc/​openvpn/</​code>​
  
  
Ligne 307: Ligne 332:
  
 === Configuration du client === === Configuration du client ===
 +<note important>​Depuis la 19.10 easyrsa 3 pour copier vos clées: 
 +<​code>​cp pki/ca.crt /​etc/​openvpn/​client/​ 
 +cp pki/​issued/​client01.crt /​etc/​openvpn/​client/​ 
 +cp pki/​private/​client01.key /​etc/​openvpn/​client/​ 
 +</​code>​ 
 +</​note>​
 Le fichier d'​exemple de configuration du client **client.conf** reflète les directives mises dans le fichier **server.conf**. Le fichier d'​exemple de configuration du client **client.conf** reflète les directives mises dans le fichier **server.conf**.
  
Ligne 325: Ligne 355:
 ===== Démarrage automatique d'​OpenVPN au lancement du système ===== ===== Démarrage automatique d'​OpenVPN au lancement du système =====
  
-Pour qu'​OpenVPN se lance au démarrage du serveur ou du client, il faut placer le fichier de configuration au bon endroit. ​+Pour qu'​OpenVPN se lance au démarrage du serveur ou du client, il faut placer le fichier de configuration au bon endroit.
  
   * Pour le serveur, copiez le fichier **server.conf** dans le répertoire **/​etc/​openvpn**   * Pour le serveur, copiez le fichier **server.conf** dans le répertoire **/​etc/​openvpn**
Ligne 338: Ligne 368:
     * dh1024.pem     * dh1024.pem
  
-  * Pour le client : +  * Pour le client :
     * ca.crt     * ca.crt
     * client.crt     * client.crt
Ligne 397: Ligne 427:
 ==== Test ==== ==== Test ====
  
-Maintenant, essayons de pinguer à travers le VPN depuis le client. ​+Maintenant, essayons de pinguer à travers le VPN depuis le client.
  
 Dans une configuration bridgée (c'​est-à-dire qu'il y a ''​dev tap''​ et non ''​dev''​ ''​tun''​ dans ''​server.conf''​),​ on peut essayer de pinguer le serveur (adresse par défaut 10.8.0.1 si vous n'avez pas changé le sous-réseau attribué) : Dans une configuration bridgée (c'​est-à-dire qu'il y a ''​dev tap''​ et non ''​dev''​ ''​tun''​ dans ''​server.conf''​),​ on peut essayer de pinguer le serveur (adresse par défaut 10.8.0.1 si vous n'avez pas changé le sous-réseau attribué) :
Ligne 416: Ligne 446:
 </​note>​ </​note>​
  
-puis exécuter une fenetre MS-DOS en "​administrateur"​ et exécuter la commande suivante : +puis exécuter une fenetre MS-DOS en "​administrateur"​ et exécuter la commande suivante :
  
 <​code>​netsh firewall set icmpsetting 8 enable</​code>​ <​code>​netsh firewall set icmpsetting 8 enable</​code>​
Ligne 424: Ligne 454:
 <​code>​netsh advfirewall firewall add rule name="​All ICMP V4" protocol=icmpv4:​any,​any dir=in action=allow</​code>​ <​code>​netsh advfirewall firewall add rule name="​All ICMP V4" protocol=icmpv4:​any,​any dir=in action=allow</​code>​
  
-cette commande permet d'​activer le ping des interfaces réseaux. ​+cette commande permet d'​activer le ping des interfaces réseaux.
  
-pour désactiver le ping ensuite, il faut exécuter cette commande : +pour désactiver le ping ensuite, il faut exécuter cette commande :
  
 <​code>​netsh firewall set icmpsetting 8 disable</​code>​ <​code>​netsh firewall set icmpsetting 8 disable</​code>​
Ligne 496: Ligne 526:
 Vous pouvez à présent vous connecter à l'aide du [[client OpenVPN]] (network-manager-openvpn). Il gère automatiquement les règles de routage en local pour avoir un accès complet à internet. Sinon, vous devrez le faire à la main. Vous pouvez à présent vous connecter à l'aide du [[client OpenVPN]] (network-manager-openvpn). Il gère automatiquement les règles de routage en local pour avoir un accès complet à internet. Sinon, vous devrez le faire à la main.
  
-Problèmes connus : +Problèmes connus :
   * Par défaut le serveur utilise la compression LZO, il faut donc l'​activer également dans les paramètres avancés du manager gnome.   * Par défaut le serveur utilise la compression LZO, il faut donc l'​activer également dans les paramètres avancés du manager gnome.
   * Selon ce que vous avez fait précédemment,​ vous pouvez avoir plusieurs instances du client en cours. Vérifier que vous n'avez qu'une seule interface tun0 en local avec la commande ifconfig.   * Selon ce que vous avez fait précédemment,​ vous pouvez avoir plusieurs instances du client en cours. Vérifier que vous n'avez qu'une seule interface tun0 en local avec la commande ifconfig.
Ligne 507: Ligne 537:
 [[:​tutoriel:​comment_editer_un_fichier|Éditez le fichier]] **/​etc/​openvpn/​server.conf**. [[:​tutoriel:​comment_editer_un_fichier|Éditez le fichier]] **/​etc/​openvpn/​server.conf**.
  
-et ajoutez-y : +et ajoutez-y :
 <​file>​ <​file>​
 management localhost <un numéro de port> management localhost <un numéro de port>
Ligne 623: Ligne 653:
 push "route 192.168.4.0 255.255.255.0"</​file>​ push "route 192.168.4.0 255.255.255.0"</​file>​
  
-Ceci permet au serveur OpenVPN d'​indiquer aux autres clients que le réseau du client2 existe. ​+Ceci permet au serveur OpenVPN d'​indiquer aux autres clients que le réseau du client2 existe.
  
-La dernière étape, celle qui est souvent oubliée, est d'​ajouter une route sur la passerelle du réseau côté serveur qui redirigera le trafic allant vers 192.168.4.0/​24 vers le serveur OpenVPN (inutile si la passerelle est le serveur OpenVPN). ​+La dernière étape, celle qui est souvent oubliée, est d'​ajouter une route sur la passerelle du réseau côté serveur qui redirigera le trafic allant vers 192.168.4.0/​24 vers le serveur OpenVPN (inutile si la passerelle est le serveur OpenVPN).
  
 Pour ceci, il faut voir la documentation de votre passerelle et lui indiquer que tout le trafic allant vers 192.168.4.0/​24 doit être redirigé sur le serveur OpenVPN (''​adresseIP:​port''​). Pour ceci, il faut voir la documentation de votre passerelle et lui indiquer que tout le trafic allant vers 192.168.4.0/​24 doit être redirigé sur le serveur OpenVPN (''​adresseIP:​port''​).
Ligne 651: Ligne 681:
  
 <​file>​ <​file>​
-push "​dhcp-option DNS 192.168.1.4" ​+push "​dhcp-option DNS 192.168.1.4"​
 push "​dhcp-option DNS 192.168.1.5"​ push "​dhcp-option DNS 192.168.1.5"​
 push "​dhcp-option WINS 192.168.1.8"​ push "​dhcp-option WINS 192.168.1.8"​
Ligne 673: Ligne 703:
  
   * Le [[http://​openvpn.net|site officiel d'​OpenVPN]]   * Le [[http://​openvpn.net|site officiel d'​OpenVPN]]
-  * Un [[http://​howto.landure.fr/​lone-wolf-scripts/​gnu-linux/​debian-4-0-etch/​installer-et-configurer-openvpn-sur-debian-4-0-etch|HOWTO sur l'​installation/​configuration d'​OpenVPN sous Debian Etch]] (que vous pouvez suivre en lançant en premier lieu un shell super utilisateur avec la commande « sudo -s ») 
-  * Un [[http://​15minutesoffame.be/​nico/​blog2/?​article16/​creer-un-serveur-openvpn|autre tuto testé avec 11.04]] 
   * [[wpfr>​OpenVPN|Article sur Wikipédia]]   * [[wpfr>​OpenVPN|Article sur Wikipédia]]
-  * [[http://​www.system-linux.eu/​index.php?​category/​VPN|Tutoriels et documentations complémentaire sur OpenVPN]] +  * [[https://​www.system-linux.eu/​index.php?​category/​VPN|Tutoriels et documentations complémentaire sur OpenVPN]] 
-  * [[http://​www.system-linux.eu/​index.php?​post/​2010/​05/​24/​Installation-ipsec-Host-to-Host-et-Network-to-Network|Pour ceux qui prefereraient IPSEC]] +  * [[https://​www.system-linux.eu/​index.php?​post/​2010/​05/​24/​Installation-ipsec-Host-to-Host-et-Network-to-Network|Pour ceux qui prefereraient IPSEC]] 
-  * [[http://​www.webmin.com/​cgi-bin/​search_third.cgi?​search=openvpn|Modules OpenVPN pour Webmin]]+  * [[https://​www.webmin.com/​cgi-bin/​search_third.cgi?​search=openvpn|Modules OpenVPN pour Webmin]] 
 +  * [[https://​fr.linux-console.net/?​p=1562#​gsc.tab=0|Installation complète d'​OpenVPN avec un script]]
  
  
  • openvpn.1563042271.txt.gz
  • Dernière modification: Le 13/07/2019, 20:24
  • par 88.164.114.135