Outils pour utilisateurs

Outils du site


reseau:openvpn:accueil

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édentesRévision précédente
Prochaine révision
Révision précédente
reseau:openvpn:accueil [2021/02/06 17:29] – [Installation de OpenVPN sur un client Linux] techer.charles_educ-valadon-limoges.frreseau:openvpn:accueil [2025/06/17 13:36] (Version actuelle) – [Création du certificat signé pour le serveur OpenVPN sur le serveur VPN] admin
Ligne 9: Ligne 9:
 Ressource :  Ressource : 
   * https://www.digitalocean.com/community/tutorials/how-to-set-up-an-openvpn-server-on-debian-10   * https://www.digitalocean.com/community/tutorials/how-to-set-up-an-openvpn-server-on-debian-10
 +  * https://openmaniak.com/fr/openvpn.php
 +  * https://www.openssl.org/
 ===== Installer OpenVPN sur le serveur  OpenVPN===== ===== Installer OpenVPN sur le serveur  OpenVPN=====
 <code shell> <code shell>
Ligne 24: Ligne 26:
 ==== Configurer le CA ==== ==== Configurer le CA ====
     * copier le fichier vars.example en **vars**     * copier le fichier vars.example en **vars**
 +
 <code shell> <code shell>
 # cd EasyRSA-3.0.8 # cd EasyRSA-3.0.8
 # cp vars.example vars # cp vars.example vars
 </code> </code>
 +
     * éditer le fichier **vars** pour modifier ces lignes en les décommentant     * éditer le fichier **vars** pour modifier ces lignes en les décommentant
 +
 <code shell> <code shell>
 #set_var EASYRSA_REQ_COUNTRY    "US" #set_var EASYRSA_REQ_COUNTRY    "US"
Ligne 39: Ligne 44:
  
   * lancer le script **easyrsa** pour initialiser la PKI sur le CA serveur    * lancer le script **easyrsa** pour initialiser la PKI sur le CA serveur 
 +
 <code shell> <code shell>
 # ./easyrsa init-pki # ./easyrsa init-pki
 </code> </code>
 +
   *  génération du CA en indiquant le **common name** et en supprimant la nécessité d'utiliser une passphrase pour chaque action sur le CA avec le paramètre **no-pass** :   *  génération du CA en indiquant le **common name** et en supprimant la nécessité d'utiliser une passphrase pour chaque action sur le CA avec le paramètre **no-pass** :
 +
 <code shell> <code shell>
 # ./easyrsa build-ca nopass # ./easyrsa build-ca nopass
 </code> </code>
 +
 <WRAP center round info> <WRAP center round info>
 Le script crée 2 clés importantes : Le script crée 2 clés importantes :
Ligne 56: Ligne 65:
 ===== Création du certificat signé pour le serveur  OpenVPN sur le serveur VPN===== ===== Création du certificat signé pour le serveur  OpenVPN sur le serveur VPN=====
   * Téléchargez EasyRSA   * Téléchargez EasyRSA
 +
 <code shell> <code shell>
 # wget wget https://github.com/OpenVPN/easy-rsa/releases/download/v3.0.8/EasyRSA-3.0.8.tgz # wget wget https://github.com/OpenVPN/easy-rsa/releases/download/v3.0.8/EasyRSA-3.0.8.tgz
Ligne 62: Ligne 72:
  
   * lancer le script **easyrsa** pour initialiser le dossier PKI sur le client OpenVPN    * lancer le script **easyrsa** pour initialiser le dossier PKI sur le client OpenVPN 
 +
 <code shell> <code shell>
 # cd EasyRSA-3.0.8 # cd EasyRSA-3.0.8
 # ./easyrsa init-pki # ./easyrsa init-pki
 </code> </code>
 +
   * génération des clés avec l'option **nopass** en précisant le nom du serveur OpenVPN    * génération des clés avec l'option **nopass** en précisant le nom du serveur OpenVPN 
 +
 <code shell> <code shell>
 # ./easyrsa gen-req OpenVPN nopass # ./easyrsa gen-req OpenVPN nopass
 </code> </code>
 +
 <WRAP center round info> <WRAP center round info>
 Création : Création :
Ligne 75: Ligne 89:
   * du fichier de demande de certificat OpenVPN.req pour signature auprès du CA.    * du fichier de demande de certificat OpenVPN.req pour signature auprès du CA. 
 </WRAP> </WRAP>
-    * copie de la clé privée du serveur+ 
 +  * copie de la clé privée du serveur 
 <code shell> <code shell>
 # cp pki/private/OpenVPN.key /etc/openvpn/ # cp pki/private/OpenVPN.key /etc/openvpn/
 </code> </code>
-    * transfert du fichier OpenVPN.req du serveur OpenVPN dans le dossier /tmp du serveur CA (avec SCP ou Winscp)+ 
 +  * transfert du fichier OpenVPN.req du serveur OpenVPN dans le dossier /tmp du serveur CA (avec SCP ou Winscp) 
 <code shell> <code shell>
 # scp root@ip_serveur_OpenVPN:/root/EasyRSA-3.0.8/pki/reqs/OpenVPN.req /tmp # scp root@ip_serveur_OpenVPN:/root/EasyRSA-3.0.8/pki/reqs/OpenVPN.req /tmp
 </code > </code >
-    * sur le serveur CA, importer le fichier de demande+ 
 +  * sur le serveur CA, importer le fichier de demande 
 <code shell> <code shell>
 # ./easyrsa import-req /tmp/OpenVPN.req OpenVPN # ./easyrsa import-req /tmp/OpenVPN.req OpenVPN
 </code> </code>
-    * signer la demande en précisant le type de client qui est ici un serveur OpenVPN. Il faudra confirmer la demande avec le mot yes+ 
 +  * signer la demande en précisant le type de client qui est ici un serveur OpenVPN. Il faudra confirmer la demande avec le mot yes 
 <code shell> <code shell>
 # ./easyrsa sign-req server OpenVPN # ./easyrsa sign-req server OpenVPN
 </code> </code>
-    * transfert du certificat signé du CA vers le serveur OpenVPN+ 
 +  * transfert du certificat signé du CA vers le serveur OpenVPN 
 <code shell> <code shell>
 # scp pki/issued/OpenVPN.crt root@ip_serveur_OpenVPN:/tmp # scp pki/issued/OpenVPN.crt root@ip_serveur_OpenVPN:/tmp
 </code> </code>
 +
   * transfert du certificat public du CA vers le serveur OpenVPN   * transfert du certificat public du CA vers le serveur OpenVPN
 +
 <code shell> <code shell>
 # scp pki/ca.crt root@ip_serveur_OpenVPN:/tmp # scp pki/ca.crt root@ip_serveur_OpenVPN:/tmp
 </code> </code>
 +
   * copie sur le serveur OpenVPN des fichier OpenVPN.crt et ca.crt du dossier /tmp dans le dossier /etc/openvpn   * copie sur le serveur OpenVPN des fichier OpenVPN.crt et ca.crt du dossier /tmp dans le dossier /etc/openvpn
 +
 <code shell> <code shell>
 # cp /tmp/{OpenVPN.cet,ca.crt} /etc/openvpn # cp /tmp/{OpenVPN.cet,ca.crt} /etc/openvpn
 </code> </code>
 +
     * création sur le serveur OpenVPN d'une clé Diffie-Hellman qui sera utilisée pour les échanges de clés     * création sur le serveur OpenVPN d'une clé Diffie-Hellman qui sera utilisée pour les échanges de clés
 +
 <code shell> <code shell>
 # ./easyrsa gen-dh # ./easyrsa gen-dh
 </code> </code>
 +
 <WRAP center round info> <WRAP center round info>
 La clé Diffie-Hellman dh.pem est mise dans le sous-dossier pki La clé Diffie-Hellman dh.pem est mise dans le sous-dossier pki
Ligne 112: Ligne 143:
  
     *  génération d'une signature HMAC pour renforcer les capacités de vérification de l'intégrité TLS du serveur:     *  génération d'une signature HMAC pour renforcer les capacités de vérification de l'intégrité TLS du serveur:
 +
 <code shell> <code shell>
 # openvpn --genkey --secret ta.key # openvpn --genkey --secret ta.key
 </code> </code>
 +
     *  copie de la clé dh.pem et de la signature ta.key dans le dossier /etc/openvp:     *  copie de la clé dh.pem et de la signature ta.key dans le dossier /etc/openvp:
 +
 <code shell> <code shell>
 # cp ta.key /etc/openvpn # cp ta.key /etc/openvpn
 # cp pki/dh.pem /etc/openvpn # cp pki/dh.pem /etc/openvpn
 </code> </code>
 +
 <WRAP center round info> <WRAP center round info>
 Le serveur OpenVPN est maintenant prêt avec tous les fichiers nécessaires. Le serveur OpenVPN est maintenant prêt avec tous les fichiers nécessaires.
Ligne 374: Ligne 409:
 client$ ls /etc/openvpn client$ ls /etc/openvpn
 </code> </code>
-  * Transférer le script client1.ovpn sur le client +  * Transférer le script client1.ovpn situé sur le serveur OpenVPN sur le client 
 <code shell> <code shell>
-client$ scp compte@serveur_OpenVPNsudo apt update +client$ scp compte@ip_serveur_OpenVPN:client-configs/files/client1.opvn /
-client$ sudo apt install openvpn+
 </code> </code>
  
Ligne 389: Ligne 423:
 down /etc/openvpn/update-resolv-conf down /etc/openvpn/update-resolv-conf
 </code> </code>
-  lancer la connexion VPN+ 
 +  pour éviter le DNS leak, ajouter la lignea suivante à la fin du fichier. Pour en savoir plus  
 +    * [[https://www.dnsleaktest.com/what-is-a-dns-leak.html| DNS leak]] 
 +    * [[https://iflorian.com/openvpn-block-outside-ds/]] 
 + 
 +<code shell> 
 +# eviter DNS leak 
 +pull-filter ignore "block-outside-dns" 
 +</code> 
 +<WRAP center round info> 
 +Pour éventuellement **tester la connexion VPN** : 
 <code shell> <code shell>
 client$ sudo openvpn --config client1.ovpn client$ sudo openvpn --config client1.ovpn
 </code> </code>
 +
 +</WRAP>
 +
   * pour démarrer automatiquement le client VPN au lancement du client :    * pour démarrer automatiquement le client VPN au lancement du client : 
-    * **copier** le fichier de configuration du client VPN **client.ovpn** dans **/etc/openvpn** en le renommant **client.conf** : +    * **copier** le fichier de configuration du client VPN **client1.ovpn** dans **/etc/openvpn** en changeant l'extension ovpn par conf ce qui donne **client1.conf** : 
 <code shell> <code shell>
 client$ sudo cp client1.ovpn /etc/openvpn/client1.conf client$ sudo cp client1.ovpn /etc/openvpn/client1.conf
Ligne 406: Ligne 453:
 client$ sudo systemctl enable openvpn client$ sudo systemctl enable openvpn
 </code> </code>
 +<WRAP center round info >
 +Pour **tester le bon fonctionnement du tunnel VPN**, utiliser le site [[https://www.dnsleaktest.com/|DNSLeakTest]] pour visualiser l'**adresse IP publique** qui vous permet de naviguer sur Internet. Cette adresse IP doit être celle **serveur VPN** et non plus celle du **routeur de votre réseau** (Box Internet).
 +
 +Pour visualiser les serveurs DNS utilisés, cliquez sur **Extended Test**.
 +</WRAP>
  
 ===== Révoquer des certificats client ===== ===== Révoquer des certificats client =====
reseau/openvpn/accueil.1612628943.txt.gz · Dernière modification : 2021/02/06 17:29 de techer.charles_educ-valadon-limoges.fr