OPENVPN

OPENVPN

Coté serveur

Installer les paquets openvpn openssl et resolvconf

  1. Création de fichiers dans le serveur VPN
      1. Création du répertoire /apps et des sous répertoires :
          1. easy-rsa
          2. openvpn + sous répertoire keys, log, conffiles
      1. Copier usr/share/easy-rsa vers apps/easy-rsa avec la commande cp -R usr/share/easy-rsa/ /apps/

Arborescence

  1. Editer fichier vars qui se trouve dans easy-rsa (vim /apps/easy-rsa/vars)

→ Modifier et compléter correctement les lignes:

  • export KEY_DIR= « /apps/easy-rsa/keys »
  • export KEY_COUNTRY

etc.

VPN1

  1. Contruction des authorités et certificats pour le server vpn
  • Rester dans /apps/easy-rsa/
  • Application des valeurs source ./vars (ces valeurs seront celles par défaut de tous les certificats. En tapant directement la ligne source vars on définit ces valeurs comme valeurs de référence pour la construction de certificats)
  • Avant de générer de nouvelles clés, nettoyer les clés qui se trouvent dans apps/openvpn/keys avec : ./clean-all

Faire un ./buid-dh

  • création de la clef Diffie-Hellman
  • Faire un ./build-ca (attention au nom d’hote dans la question common name : nous avons indiqué pour notre cas VPN -> qui est le nom d’hôte de notre machine)

VPN2

  • Création de la clé ./build-key-server VPN
  1. Contruction des authorités et certificats pour le client (dans  /apps/easy-rsa)
  • ./build-key client
  • reporter la même chose que le serveur

VPN3

 

  1. Création du fichier de configuration serveur (nano /apps/openvpn/conffiles/server.conf)

Edition du fichier server.conf:

proto udp
dev tun
ca /apps/easy-rsa/keys/ca.crt
cert /apps/easy-rsa/keys/VPN.crt
key /apps/easy-rsa/keys/VPN.key
dh /apps/easy-rsa/keys/dh2048.pem

server 10.8.0.0 255.255.255.0

push route "172.16.10.0 255.255.255.0"
push "dhcp-option DNS 8.8.8.8"
client-to-client

keepalive 10 120
persist-key
persist-tun

#tls-auth ta.key 0

cipher AES-128-CBC

comp-lzo
  1. aller dans /apps/openvpn/conffiles et taper la commande ln -s server.conf /etc/openvpn/server.conf afin de créer un lien symbolique entre le fichier server.conf placé dans /etc et celui placé dans /apps.
  2. Tester le fonctionnement en lançant la commande openvpn server.conf et vérifier les logs de connexion avec la commande tail -f /apps/openvpn/log/openvpn.log. Une des lignes doit indiquer Initialization Sequence Completed

Coté client

installer openssl openvpn resolvconf

  1. Création de fichiers dans le client VPN
      1. Création du répertoire /apps et des sous répertoires :
          1. openvpn + sous répertoire keys, log, conffile
          2. Transférer les clefs du client (ca.crt , client.crt et client.key) du serveur vers le répertoire du client: /apps/openvpn/key) du client.
      1. Créer le fichier client.conf dans /apps/openvpn/conffiles comme suit:
client
dev tun
proto udp

remote 192.168.5.100 1194

resolv-retry infinite
nobind
persist-key
persist-tun
mute-replay-warnings

ca /apps/openvpn/keys/ca.crt
cert /apps/openvpn/keys/client.crt
key /apps/openvpn/keys/client.key

#tls-auth ta.key 1
cipher AES-128-CBC
comp-lzo
verb 5

Lancer la commande openvpn client.conf, si tout s’est bien déroulé, un message Initialization Sequence Completed doit s’afficher.

 

MINDMAP:

openvpn2