Outils pour utilisateurs

Outils du site


openvpn

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 [2018/10/08 19:02]
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:
 +  apt install openvpn easy-rsa
 +
 +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//​
 +  export KEY_COUNTRY="​FR"​
 +  export KEY_PROVINCE="​PACA"​
 +  export KEY_CITY="​Marseille"​
 +  export KEY_ORG="​tieduino"​
 +  export KEY_EMAIL="​af@tieduino.fr"​
 +  export KEY_OU="​tieduino"​
 +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 !
openvpn.1539018149.txt.gz · Dernière modification: 2018/10/08 19:02 par wilfried.pepin