Version 1 (modified by teste, 14 years ago) (diff) |
---|
OpenVPN
Installation
Dépôt dag
L'installation d'OpenVPN nécessite le dépôt dag. Il faut l'ajouter dans /etc/yum.repos.d.
/etc/yum.repos.d/dag.repo
[dag] name=Dag RPM Repository for Red Hat Enterprise Linux baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag gpgcheck=1 enabled=1
Installation
Tout simplement
yum install openvpn
Création des clés et certificats
Copie des scripts de génération
cp -R /usr/share/doc/openvpn-2.1.4/easy-rsa/ /etc/openvpn/ cp /usr/share/doc/openvpn-2.1.4/sample-config-files/server.conf /etc/openvpn/
Dossiers et droits
cd /etc/openvpn/easy-rsa/2.0/ chmod +x clean-all build-ca build-key-server build-dh build-key whichopensslcnf pkitool
Édition du fichier vars
Il faut éditer ce fichier et remplir les champs qui nous serviront à générer les clés.
cd /etc/openvpn/easy-rsa/2.0/ vim vars
Tout à la fin du fichier, par exemple
export KEY_COUNTRY="UK" export KEY_PROVINCE="Greater London" export KEY_CITY="London" export KEY_ORG="Core2" export KEY_EMAIL="root@core2.co.uk"
Génération
L'argument passé à au script build-key-server détermine le nom des fichiers généré.
Le . avant le ./ n'est pas un erreur. Il permet d'exécuter le script dans le même shell sans créer un fork. C'est utile pour ce script pour que tous les exports qu'il contient soit fait dans l'environnement de l'utilisateur.
. ./vars ./clean-all ./build-ca ./build-key-server server ./build-dh
Copie de clés et certificats
mkdir /etc/openvpn/keys keys/ca.crt /etc/openvpn/keys/ cp keys/dh1024.pem /etc/openvpn/keys/ cp keys/server.key /etc/openvpn/keys/
Configuration du serveur OpenVPN
On va configurer le serveur pour écouter sur le port 1987, en utilisant les certificats et clés générés. On va également lui faire propager un route vers tout le réseau 10.30.0.0/16 au client.
Pour faire passer le VPN à travers le tunnel SSH, il faut le configurer comme un VPN TCP.
Enfin la plage d'IP qu'on va utiliser dans le VPN sera 192.168.100.0.
vim /etc/openvpn/server.conf
Exemple de /etc/openvpn/server/conf (ne sont affichées que les parties intéressantes)
proto tcp dev tun ca keys/ca.crt cert keys/server.crt key keys/server.key dh keys/dh1024.pem server 192.168.100.0 255.255.255.0 push "route 10.30.0.0 255.255.0.0" user nobody group nobody
On peut également l'ajouter aux scripts de démarrage
chkconfig openvpn start
Configuration d'iptables
La configuration du serveur VPN seule ne suffit pas, il faut également faire un NAT pour tous les requêtes provenant du tunnel.
Pour plus d'information sur iptables : Documentation » iptables
iptables -t nat -A POSTROUTING -s 192.168.100.0/255.255.255.0 -d 10.30.130.0/255.255.255.0 -o eth0 -j SNAT --to-source 10.30.130.1 iptables -t nat -A POSTROUTING -s 192.168.100.0/255.255.255.0 -o eth1 -j SNAT --to-source 10.30.1.1
Démarrage du serveur OpenVPN
Ne pas oublier de le démarrer
/etc/init.d/openvpn start