Table des matières

Configuration du réseau privé Linuxed

Topologie

1 serveur OpenVPN central et X clients pour X démons OpenVPN.

<WRAP center round important 60%> Il est possible de faire 1 seul démon openVPN pour X clients! </WRAP>

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

Coté client

Scripts de generation/configuration

IPv6

Informations sur IPv6.

Si le serveur central dispose d'une ipv6 publique il peut servir de tunnel ipv6 pour les clients qui n'en disposeraient pas.

Dans le fichier de conf, ajouter l'option tun-ipv6.