08 Dec 2011, 00:00

Serveur OpenVPN sous Debian Squeeze

Share

Cet article voit la configuration d’un serveur OpenVPN en mode routé, sur base d’un Debian Squeeze.

Le dossier de travail sera /etc/openvpn/easyrsa, dans lequel nous stockerons les variables, et les outils d’administrationdu serveur (et le fichier de configuration client exemple)

  • Les clés (à garder secrètes) et certificats nécessaires seront stockées dans /etc/openvpn/easyrsa/keys

  • La conf du serveur sera stockée directement dans /etc/openvpn, ce qui permettra un démarrage automatique du serveur

On y va. Tout est à faire en root

aptitude install openvpn
cp -R /usr/share/doc/openvpn/examples/easy-rsa/2.0/ /etc/openvpn/easyrsa
cd /etc/openvpn/esayrsa

#On définit les variables dans le fichier vars. Notez l’ajout d’un $OPENVPN_CLIENTS , qui va servir pour les scripts de gestion des users.
nano ./vars

# Les 5 champs à la fin du fichier vars nous interessent. Remplir avec ce que l’on souhaite.

# on initilalise les variables
. ./vars

# on clean et crée le repertoire de clés
./clean-all

#on crée la clé et le certif de l’autorité de certification (dans le cas présent, même machine que le serveur)
./build-ca

# on crée la clé du serveur, qu’on appelle server par facilité
./build-key-server server
#on peut tout laisser par défaut, et il n’est pas obligatoire de mettre un mot de passe. Juste répondre y aux 2 dernières questions

# on génère le paramètres Diffie Hellman – crypto, pour comprendre voir sur la wiki, mais il faut le faire
./build-dh

# on récupère la conf d’exemple du server
cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/
gunzip /etc/openvpn/server.conf.gz

#et on peut la modifier. Le plus important est de donner le chemin complet aux fichiers certificats et clés server et CA. On peut aussi modifier l’adresse réseau qui servira pour le vpn. Il vaut mieux laisser udp (perf vpn). On peut spécifier un fichier pour les logs. Par défaut avec les bons chemins, le server est fonctionnel. Exemple (simplifié) ici : Fichier server.conf
nano /etc/openvpn/server.conf

# Puis on peut démarrer le server :
openvpn /etc/openvpn/server.conf
# Si la séquence se finit sur “Initialization Sequence Completed”, c’est gagné !