User Tools

Site Tools


informatique:logiciels:openvpn

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
informatique:logiciels:openvpn [2018/01/07 16:16] pteuinformatique:logiciels:openvpn [2018/08/20 12:49] (current) – [Générer les certificats] pteu
Line 33: Line 33:
 **OpenVPN** contient des outils permettant de générer facilement des couples de clés. Ils sont situés dans le répertoire **/usr/share/doc/openvpn/examples/easy-rsa/** (ou ''/usr/share/easy-rsa'' sous Debian 8 (jessie)) ; il est conseillé de les copier dans un autre endroit, **/etc/openvpn/easy-rsa** par exemple, afin qu'une éventuelle mise à jour du paquet n'efface pas tout ce que nous allons faire. **OpenVPN** contient des outils permettant de générer facilement des couples de clés. Ils sont situés dans le répertoire **/usr/share/doc/openvpn/examples/easy-rsa/** (ou ''/usr/share/easy-rsa'' sous Debian 8 (jessie)) ; il est conseillé de les copier dans un autre endroit, **/etc/openvpn/easy-rsa** par exemple, afin qu'une éventuelle mise à jour du paquet n'efface pas tout ce que nous allons faire.
 <code bash> <code bash>
-mkdir /etc/openvpn/eay-rsa+mkdir /etc/openvpn/easy-rsa
 cp -R /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn/easy-rsa cp -R /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn/easy-rsa
  
 # alternative pour Debian 8 : # alternative pour Debian 8 :
-cp -a /usr/share/eay-rsa /etc/openvpn+cp -a /usr/share/easy-rsa /etc/openvpn
  
 # puis dans tous les cas, aller dans le répertoire copié # puis dans tous les cas, aller dans le répertoire copié
Line 250: Line 250:
 NB : avec OpenVPN Connect, le fichier de conf doit avoir l'extension **.ovpn**, il n'accepte pas les **.conf** :/. NB : avec OpenVPN Connect, le fichier de conf doit avoir l'extension **.ovpn**, il n'accepte pas les **.conf** :/.
  
 +====Intégrer les certificats dans le fichier de configuration====
 +
 +Plutôt que de pointer vers des fichiers externes, openvpn permet d'intégrer les certificats dans le fichier de configuration ovpn ; c'est le cas pour les options ''ca'', ''cert'', ''key'', ''dh'' ([[https://community.openvpn.net/openvpn/wiki/Openvpn23ManPage#lbAV|et d'autres]]). Il faut alors remplacer l'include du fichier et copier/coller son contenu entre les balises ''<option></option>''. Par exemple pour le certificat de la CA :
 +<code bash>
 +#ca /sdcard/Sync/Nexus9/openvpn/ca.crt
 +<ca>
 +-----BEGIN CERTIFICATE-----
 +MIIEoTCCA4mgAwIBAgIJAKWLtfNAkVCcMA0GCSqGSIb3DQEBCwUAMIGRMQswCQYD
 +[blabla...]
 ++/WEiArZqzcmW4tQBnmBIgfGjYfJ+5MK3an2TVlnqoMy34ZD4AJDIrzU0aZwI75w
 +9KljFHVPKEAFhZzokOREYCG+8yVA5F6Uk2miMw6ZVGDgbrYvWA==
 +-----END CERTIFICATE-----
 +</ca>
 +</code>
 +
 +Cela simplifie beaucoup la mise en œuvre, mais possède l'inconvénient de laisser la clé privée du client lisible par tous les utilisateurs pouvant lire le fichier de conf.
 =====Conf avancée===== =====Conf avancée=====
  
Line 274: Line 290:
 </code> </code>
  
-**Le driver TAP sous Windows impose l'utilisation d'un adressage en /30 (255.255.255.252) car c'est du point-à-point (2 IPs utilisables). Ainsi on ne peut utiliser les couples d'IPs suivantes (serveur/client) : (192.168.0.5,192.168.0.6), (9,10), (13,14), (17,18), etc...+**Le driver TAP sous Windows impose l'utilisation d'un adressage en /30 (255.255.255.252) car c'est du point-à-point (2 IPs utilisables). Ainsi on ne peut utiliser les couples d'IPs suivantes (serveur/client) : (192.168.0.5,192.168.0.6), (9,10), (13,14), (17,18), etc...**
  
 On peut couper la connexion si inactivité du client avec l'option ''--ping-restart <time>'' On peut couper la connexion si inactivité du client avec l'option ''--ping-restart <time>''
Line 357: Line 373:
   * ''dev-node "nom_de_linterface_reseau"'' permet de spécifier quelle interface utiliser (elle doit être créée avec ''addtap'').   * ''dev-node "nom_de_linterface_reseau"'' permet de spécifier quelle interface utiliser (elle doit être créée avec ''addtap'').
   * ''crl-verify crl.pem'' pour spécifier une liste de révocation   * ''crl-verify crl.pem'' pour spécifier une liste de révocation
 +  * ''status openvpn-status.log'' pour spécifier un fichier contenant la liste des clients connectés, mise à jour chaque minute 
 +  * ''error=unsupported certificate purpose'' : typiquement cette erreur apparait quand on utilise un certificat "serveur" sur un client ou l'inverse (un certificat client sur un serveur). Openvpn vérifie le champ **nsCertType** du certificat, et il doit correspondre à l'utilisation qu'on en fait (serveur ou client). Pour résoudre ce problème, avec easy-rsa, générer le certificat d'un serveur openvpn avec ''build-key-server'' et ceux des clients avec ''build-key''.
  
 =====Liens===== =====Liens=====
informatique/logiciels/openvpn.1515341799.txt.gz · Last modified: 2018/01/07 16:16 (external edit)