OPENVPN
Coté serveur
Installer les paquets openvpn openssl et resolvconf
- Création de fichiers dans le serveur VPN
- Création du répertoire /apps et des sous répertoires :
- easy-rsa
- openvpn + sous répertoire keys, log, conffiles
- Création du répertoire /apps et des sous répertoires :
- Copier usr/share/easy-rsa vers apps/easy-rsa avec la commande cp -R usr/share/easy-rsa/ /apps/
Arborescence
-
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.
- 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)
- Création de la clé ./build-key-server VPN
- Contruction des authorités et certificats pour le client (dans /apps/easy-rsa)
- ./build-key client
- reporter la même chose que le serveur
- 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
- 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.
- 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
- Création de fichiers dans le client VPN
- Création du répertoire /apps et des sous répertoires :
- openvpn + sous répertoire keys, log, conffile
- 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.
- Création du répertoire /apps et des sous répertoires :
- 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: