logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

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

Lien vers cette vue comparative

Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
doc:reseau:vpn:openvpn [27/05/2016 16:11]
kawer créée
doc:reseau:vpn:openvpn [26/01/2017 20:18]
kawer
Ligne 1: Ligne 1:
-====== ​Titre de Votre Tuto ======+====== ​OPENVPN Serveur et Client ​======
  
   * Objet : du tuto Configuration d'un serveur openvpn   * Objet : du tuto Configuration d'un serveur openvpn
-  * Niveau requis : {{tag>débutant ​avisé}} +  * Niveau requis : {{tag>​avisé}} 
-  * Commentaires : //serveur, nat.. // FIXME+  * Commentaires : //serveur, nat.. //
   * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-)   * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-)
-  * Suivi : {{tag>en-chantier ​à-tester ​à-placer}} - FIXME Pour choisir, voir les autres Tags possibles dans [[:​atelier:#​tags|l'​Atelier]].+  * Suivi : {{tag>​à-tester}}
     * Création par [[user>​kawer]] 27/05/2016     * Création par [[user>​kawer]] 27/05/2016
-    * Testé par <...> le <​...> ​FIXME +    * Testé par <...> le <​...>​ 
-  * Commentaires sur le forum : [[:url-invalide ​| Lien vers le forum concernant ce tuto]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) FIXME+  * Commentaires sur le forum : [[https://debian-facile.org/​viewtopic.php?​id=15701 ​| Lien vers le forum concernant ce tuto]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))
  
 **Nota :** **Nota :**
Ligne 16: Ligne 16:
 ==== Présentation ==== ==== Présentation ====
  
-Cette technique permet la création d'une liaison chiffrée entre votre machine et un serveur hébergé sur Internet (par exemple chez un fournisseur d’accès se trouvant en France ou à l'​étranger). Tous vos accès à Internet seront alors vus à partir de l'​adresse IP de ce serveur VPN et non plus par celle de votre machine.+Cette technique permet la création d'une liaison chiffrée entre votre machine et un serveur hébergé sur Internet (par exemple chez un fournisseur d’accès se trouvant en France ou à l'​étranger). ​\\  
 +Tous vos accès à Internet seront alors vus à partir de l'​adresse IP de ce serveur VPN et non plus par celle de votre machine.
  
 OpenVPN n'est pas un VPN IPSec. C'est un VPN SSL se basant sur la création d'un tunnel IP (UDP ou TCP au choix) authentifié et chiffré avec la bibliothèque OpenSSL. OpenVPN n'est pas un VPN IPSec. C'est un VPN SSL se basant sur la création d'un tunnel IP (UDP ou TCP au choix) authentifié et chiffré avec la bibliothèque OpenSSL.
Ligne 22: Ligne 23:
 Quelques avantages des tunnels VPN SSL : Quelques avantages des tunnels VPN SSL :
  
-    ​Facilité pour passer les réseaux NATés (pas de configuration à faire) +  * Facilité pour passer les réseaux NATés (pas de configuration à faire) 
-    Logiciel clients disponibles sur **GNU/​Linux,​ BSD, Windows et Mac OS X**+  ​* ​Logiciel clients disponibles sur **GNU/​Linux,​ BSD, Windows et Mac OS X**
  
  
Ligne 32: Ligne 33:
 <code root>​apt-get update && apt-get install openvpn</​code>​ <code root>​apt-get update && apt-get install openvpn</​code>​
  
 +=== On ce prépare à installer les certificats === 
 +<code root>cp -a /​usr/​share/​easy-rsa /​etc/​openvpn/</​code>​
 +<code user>cd /​etc/​openvpn/​easy-rsa</​code>​
 +<code root>​source vars</​code>​
 +<code root>​./​clean-all</​code>​
  
 === Création des certificats de l'​autorité de certification : === === Création des certificats de l'​autorité de certification : ===
  
 <code root>​./​build-ca</​code>​ <code root>​./​build-ca</​code>​
- 
- 
 Vous devriez obtenir ce qui suit, libre à vous d'en changer le contenus : Vous devriez obtenir ce qui suit, libre à vous d'en changer le contenus :
- 
 <​code>​ <​code>​
 Generating a 2048 bit RSA private key Generating a 2048 bit RSA private key
Ligne 67: Ligne 70:
  
 <code root>​./​build-dh</​code>​ <code root>​./​build-dh</​code>​
- 
 Qui donne : Qui donne :
- 
 <​code>​ <​code>​
 Generating DH parameters, 2048 bit long safe prime, generator 2 Generating DH parameters, 2048 bit long safe prime, generator 2
Ligne 75: Ligne 76:
 ..............+...................................................................................... ..............+......................................................................................
 </​code>​ </​code>​
- 
  
 === On génère les certificats du serveur : === === On génère les certificats du serveur : ===
  
 <code root>​./​build-key-server srvcert</​code>​ <code root>​./​build-key-server srvcert</​code>​
- 
 Qui donne ce qui suit : **(remplacez debian-facile par le nom de votre serveur)** Qui donne ce qui suit : **(remplacez debian-facile par le nom de votre serveur)**
- 
 <​code>​ <​code>​
 Generating a 2048 bit RSA private key Generating a 2048 bit RSA private key
Ligne 134: Ligne 132:
   
 <code root>​gunzip -c /​usr/​share/​doc/​openvpn/​examples/​sample-config-files/​server.conf.gz > /​etc/​openvpn/​server.conf</​code>​ <code root>​gunzip -c /​usr/​share/​doc/​openvpn/​examples/​sample-config-files/​server.conf.gz > /​etc/​openvpn/​server.conf</​code>​
- 
  
 === On configure server.conf === === On configure server.conf ===
  
 <code root>​nano /​etc/​openvpn/​server.conf</​code>​ **décommentez ou ajoutez les lignes suivantes :** <code root>​nano /​etc/​openvpn/​server.conf</​code>​ **décommentez ou ajoutez les lignes suivantes :**
- 
 <​code>​ <​code>​
 user nobody user nobody
Ligne 167: Ligne 163:
  
 <​code>​ <​code>​
-Fri May 27 15:41:06 2016 OpenVPN 2.3.4 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL] [PKCS11] [MH] [IPv6] built on Nov 12 2015 +Thu Dec 22 18:27:00 2016 OpenVPN 2.3.4 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL] [PKCS11] [MH] [IPv6] built on Nov 12 2015 
-Fri May 27 15:41:06 2016 library versions: OpenSSL 1.0.1k 8 Jan 2015, LZO 2.08 +Thu Dec 22 18:27:00 2016 library versions: OpenSSL 1.0.1t  3 May 2016, LZO 2.08 
-Fri May 27 15:41:06 2016 NOTE: the current --script-security setting may allow this configuration to call user-defined scripts +Thu Dec 22 18:27:00 2016 Diffie-Hellman initialized with 2048 bit key 
-Fri May 27 15:41:06 2016 Diffie-Hellman initialized with 2048 bit key +Thu Dec 22 18:27:00 2016 Socket Buffers: R=[212992->​131072] S=[212992->​131072] 
-Fri May 27 15:41:06 2016 Socket Buffers: R=[229376->​131072] S=[229376->​131072] +Thu Dec 22 18:27:00 2016 ROUTE_GATEWAY ​213.32.16.1 
-Fri May 27 15:41:06 2016 ROUTE_GATEWAY ​92.222.64.1 +Thu Dec 22 18:27:00 2016 TUN/TAP device tun0 opened 
-Fri May 27 15:41:06 2016 TUN/TAP device tun0 opened +Thu Dec 22 18:27:00 2016 TUN/TAP TX queue length set to 100 
-Fri May 27 15:41:06 2016 TUN/TAP TX queue length set to 100 +Thu Dec 22 18:27:00 2016 do_ifconfig,​ tt->​ipv6=0,​ tt->​did_ifconfig_ipv6_setup=0 
-Fri May 27 15:41:06 2016 do_ifconfig,​ tt->​ipv6=0,​ tt->​did_ifconfig_ipv6_setup=0 +Thu Dec 22 18:27:00 2016 /sbin/ip link set dev tun0 up mtu 1500 
-Fri May 27 15:41:06 2016 /sbin/ip link set dev tun0 up mtu 1500 +Thu Dec 22 18:27:00 2016 /sbin/ip addr add dev tun0 local 10.8.0.1 peer 10.8.0.2 
-Fri May 27 15:41:06 2016 /sbin/ip addr add dev tun0 local 10.8.0.1 peer 10.8.0.2 +Thu Dec 22 18:27:00 2016 /sbin/ip route add 10.8.0.0/24 via 10.8.0.2 
-Fri May 27 15:41:06 2016 /​etc/​openvpn/​update-resolv-conf tun0 1500 1542 10.8.0.1 10.8.0.2 init +Thu Dec 22 18:27:00 2016 GID set to nogroup 
-Fri May 27 15:41:06 2016 /sbin/ip route add 10.8.0.0/24 via 10.8.0.2 +Thu Dec 22 18:27:00 2016 UID set to nobody 
-Fri May 27 15:41:06 2016 GID set to nogroup +Thu Dec 22 18:27:00 2016 UDPv4 link local (bound): [undef] 
-Fri May 27 15:41:06 2016 UID set to nobody +Thu Dec 22 18:27:00 2016 UDPv4 link remote: [undef] 
-Fri May 27 15:41:06 2016 UDPv4 link local (bound): [undef] +Thu Dec 22 18:27:00 2016 MULTI: multi_init called, r=256 v=256 
-Fri May 27 15:41:06 2016 UDPv4 link remote: [undef] +Thu Dec 22 18:27:00 2016 IFCONFIG POOL: base=10.8.0.4 size=62, ipv6=0 
-Fri May 27 15:41:06 2016 MULTI: multi_init called, r=256 v=256 +Thu Dec 22 18:27:00 2016 IFCONFIG POOL LIST 
-Fri May 27 15:41:06 2016 IFCONFIG POOL: base=10.8.0.4 size=62, ipv6=0 +Thu Dec 22 18:27:00 2016 Initialization Sequence Completed
-Fri May 27 15:41:06 2016 IFCONFIG POOL LIST +
-Fri May 27 15:41:06 2016 Initialization Sequence Completed+
 </​code>​ </​code>​
-  
 <code user>​ifconfig tun0</​code>​ <code user>​ifconfig tun0</​code>​
- +Devrait ​vous retourner :
-Devrais ​vous retourner : +
 <​code>​ <​code>​
 tun0      Link encap:​UNSPEC ​ HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  ​ tun0      Link encap:​UNSPEC ​ HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  ​
Ligne 203: Ligne 194:
           RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B           RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B
 </​code>​ </​code>​
- 
  
 == Le test s'est bien déroulé : == == Le test s'est bien déroulé : ==
  
 <code root>​service openvpn start</​code>​ <code root>​service openvpn start</​code>​
- 
  
 === Activation de l'ip forwarding : === === Activation de l'ip forwarding : ===
  
-<code root>nano /​etc/​sysctl.conf</​code>​ +<code root>echo "net.ipv4.ip_forward=1" /​etc/​sysctl.d/​78-sysctl.conf</​code>​
- +
-**Décommentez la ligne** +
- +
-<code>​net.ipv4.ip_forward=1</​code>​+
  
 **Activez le nouveau jeux de règle :** **Activez le nouveau jeux de règle :**
- +<code root>​sysctl -p /etc/sysctl.d/​78-sysctl.conf</​code>​
-<code root>​sysctl -p /​etc/​sysctl.conf</​code>​+
  
 == Ajouts des règles dans iptables : ==  == Ajouts des règles dans iptables : == 
-**se référer ici :** https://​debian-facile.org/​doc:​reseau:​iptables+ 
 +**se référer ici :** 
 +[[doc:​reseau:​iptables|tuto Reseau iptable]]
  
 <​code>​ <​code>​
Ligne 231: Ligne 217:
 iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
 </​code>​ </​code>​
 +
 +== On génère les certificats pour le client == 
 +
 +<​code=root>​cd /​etc/​openvpn/​easy-rsa/</​code>​
 +<​code=root>​source vars</​code>​
 +<​code=root>​./​build-key clientCert</​code>​
 +Qui donne ce qui suit : **(remplacez [clientCert]:​debianFacile par le nom de votre client)**
 +<​code>​Generating a 2048 bit RSA private key
 +...........................................+++
 +......................................................+++
 +writing new private key to '​monlaptopcert.key'​
 +-----
 +You are about to be asked to enter information that will be incorporated
 +into your certificate request.
 +What you are about to enter is what is called a Distinguished Name or a DN.
 +There are quite a few fields but you can leave some blank
 +For some fields there will be a default value,
 +If you enter '​.',​ the field will be left blank.
 +-----
 +Country Name (2 letter code) [US]:
 +State or Province Name (full name) [CA]:
 +Locality Name (eg, city) [SanFrancisco]:​
 +Organization Name (eg, company) [Fort-Funston]:​
 +Organizational Unit Name (eg, section) [MyOrganizationalUnit]:​
 +Common Name (eg, your name or your server'​s hostname) [clientCert]:​debianFacile
 +Name [EasyRSA]:
 +Email Address [me@myhost.mydomain]:​
 + 
 +Please enter the following '​extra'​ attributes
 +to be sent with your certificate request
 +A challenge password []:
 +An optional company name []:
 +Using configuration from /​etc/​openvpn/​easy-rsa/​openssl-1.0.0.cnf
 +Check that the request matches the signature
 +Signature ok
 +The Subject'​s Distinguished Name is as follows
 +countryName ​          :​PRINTABLE:'​US'​
 +stateOrProvinceName ​  :​PRINTABLE:'​CA'​
 +localityName ​         :​PRINTABLE:'​SanFrancisco'​
 +organizationName ​     :​PRINTABLE:'​Fort-Funston'​
 +organizationalUnitName:​PRINTABLE:'​MyOrganizationalUnit'​
 +commonName ​           :​PRINTABLE:'​debianFacile'​
 +name                  :​PRINTABLE:'​EasyRSA'​
 +emailAddress ​         :​IA5STRING:'​me@myhost.mydomain'​
 +Certificate is to be certified until Jun 19 20:05:45 2025 GMT (3650 days)
 +Sign the certificate?​ [y/n]:y
 + 
 + 
 +1 out of 1 certificate requests certified, commit? [y/n]y
 +Write out database with 1 new entries
 +Data Base Updated
 +</​code>​
 +
 +
 +=== Sur le poste client ===
 +
 +==On installe openvpn :==
 +
 +<code root>​sudo apt-get update</​code> ​
 +<code root>​sudo apt-get install openvpn</​code>​
 +
 +=== On récupère les certificats sur le serveur : === 
 +**Récupérer les fichiers suivant dans /​etc/​openvpn/​easy-rsa/​keys/:​** ​
 +[[doc:​reseau:​scp|scp&​nbsp;:​ transfert de fichiers sécurisé entre machines]]
 +<note warning>​Déconseillé d'​utiliser root sur internet</​note>​
 +
 +<​code>​scp root@ip_du_serveur:/​etc/​openvpn/​easy-rsa/​keys/​ca.crt /​tmp/</​code>​
 +<​code>​scp root@ip_du_serveur:/​etc/​openvpn/​easy-rsa/​keys/​clientCert.key /​tmp/</​code>​
 +<​code>​scp root@ip_du_serveur:/​etc/​openvpn/​easy-rsa/​keys/​clientCert.crt /​tmp/</​code>​
 +
 +==On copie le le fichier de configuration et certificats ==
 +
 +<code root>cp /​usr/​share/​doc/​openvpn/​examples/​sample-config-files/​client.conf /​etc/​openvpn/</​code>​
 +<code root>cd /​etc/​openvpn</​code>​
 +<code root>​mkdir -p keys</​code>​
 +<code root>cd keys</​code>​
 +
 +**Coller dans le dossiers en cours (keys) les fichiers suivants :**
 +
 +<​code>​mv /tmp/ca.crt /​etc/​openvpn/​keys/</​code>​
 +<​code>​mv /​tmp/​clientCert.key /​etc/​openvpn/​keys/</​code>​
 +<​code>​mv /​tmp/​clientCert.crt /​etc/​openvpn/​keys/</​code>​
 +
 +== Modification du fichier de configuration ==
 +
 +**Changer le chemin du serveur et des certificats dans /​etc/​openvpn/​client.conf**
 +<​code>​
 +remote monServeurOpenVPN 1194 
 +ca /​etc/​openvpn/​keys/​ca.crt
 +cert /​etc/​openvpn/​keys/​clientCert.crt
 +key /​etc/​openvpn/​keys/​clientCert.key
 +</​code>​
 +
 +== Test de connection ==
 +
 +<​code=root>​openvpn /​etc/​openvpn/​client.conf</​code>​
 +
 +**Vous devez obtenir en fin de séquence :**
 +<​code>​Initialization Sequence Completed</​code>​
 +
 +Si tel est le cas, vérifiez que tun0 est bien listé avec **ifconfig**,​ puis vérifiez votre ip par exemple en allant sur [[http://​ifconfig.me/​]],​ si tout est ok, on ferme la console openvpn en pensant a faire un **Ctrl+C**
 +
 +== on démarre openvpn==
 +
 +<​code=root>​service openvpn start</​code>​
 +
 +
  
  
  
doc/reseau/vpn/openvpn.txt · Dernière modification: 07/08/2018 11:58 par cemoi

Pied de page des forums

Propulsé par FluxBB