Ceci est une ancienne révision du document !
Configuration du réseau privé Linuxed
Topologie
1 serveur OpenVPN central et X clients pour X démons OpenVPN.
Certification SSL
1 cryptage symétrique, donc avec une clef partagée, pour l'ouverture des sessions.
1 cryptage assymétrique, avec donc des certificats signés par un CA, pour les transmissions.
En-tAutorité de Certification (CA)
L'autorité de certification signe tous les certificats présents sur les clients qui voudront se connecter au serveur OpenVPN. La clef publique du CA devra aussi être présente sur les clients.
Génération des certificats
Le client veut un certificat, il fait une demande de signature de certificat (Certificat Signature Request = CSR).
openssl req -nodes -new -keyout client1.key -out client1.csr
La clef client1.key doit rester privée et ne pas circuler. La demande client1.csr est envoyée au CA.
Le CA signe le csr et génére ainsi un certificat.
openssl ca -cert ca.crt -keyfile ca.key -out client1.crt -in client1.csr -days 365
Le fichier ca.crt (certificat public du CA) et client1.crt peuvent être renvoyés au client.
OpenVPN
Coté serveur
Exemple de configuration utilisant les certificats générés plus haut. La liaison reliera la machine server à la machine client1.
Fichier de configuration /etc/openvpn/liaison_client1.conf:
# Nom de l'interface dev tun1 # Port d'ecoute port 9241 # Définition IP locale / distante ifconfig 10.156.1.1 10.156.1.2 # Reseau distant route 192.168.1.0 255.255.255.0 10.156.1.2 # Il s'agit du serveur pour le cryptage tls-server # Clef symetrique dh /root/vpn/dh.pem # Certificat du CA ca /root/vpn/linuxed-ca.crt # Certificat du serveur cert /root/vpn/bohort.crt # Clef privée en rapport avec le certificat key /root/vpn/bohort.key # On renegocie toutes les 300 secondes reneg-sec 300 # On verifie l'etat de la connexion toute les 60 secondes avec un timeout apres 360 secondes sans reponse keepalive 60 360 # On utilise la compression LZO comp-lzo