Академический Документы
Профессиональный Документы
Культура Документы
Ici c'est un VPN SSL se basant sur la cration d'un tunnel IP (UDP ou TCP au choix) authentifi et
chiffr avec la bibliothque OpenSSL.
Quelques avantages des tunnels VPN SSL:
export KEY_EMAIL="exemple@exemple.com"
Ensuite, excutez les commandes suivante afin de gnrer les cls (.key) et les certificats (.crt) :
cd /etc/openvpn/easy-rsa/
source vars
./clean-all
./build-dh
./pkitool --initca
./pkitool --server Nomduserveur
Cette configuration permet de crer un serveur VPN SSL rout bas sur le protocole TCP et utilisant le
port HTTPS (443). Les clients obtiendront une nouvelle adresse IP dans le range 10.13.0.0/24 et aurons
les DNS de Google (8.8.8.8 et 8.8.8.4).
Tester la configuration en saisissant la commande suivante :
cd /etc/openvpn
openvpn server.conf
Il faut donc configurer le serveur pour quil joue le rle de routeur entre linterface VPN (tun0) et
linterface physique (eth0). Aprs ces oprations, votre serveur NATera les adresses en 10.8.0.x vers
son adresse IP relle.
Configuration du routage:
sh -c 'echo 1 > /proc/sys/net/ipv4/ip_forward'
Afin de rendre cette modification permanente, diter le /etc/sysctl.conf :
net.ipv4.ip_forward = 1
sur Iptables, les rgles obligatoires pour dverrouiller laccs au VPN ainsi que la translation
dadresses :
iptables -I FORWARD -i tun0 -j ACCEPT
iptables -I FORWARD -o tun0 -j ACCEPT
iptables -I OUTPUT -o tun0 -j ACCEPT
iptables -A FORWARD -i tun0 -o eth0 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 10.13.0.0/24 -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 10.13.0.2/24 -o eth0 -j MASQUERADE
Pour rendre cette rgle de NAT persistante aprs un reboot de votre serveur, il faut commencer par
crer un script de chargement de rgles de Firewall (ou utiliser un script existant):
sh -c "iptables-save > /etc/iptables.rules"
Puis diter votre fichier /etc/network/interfaces pour y ajouter la ligne suivante aprs la dfinition de
votre interface rseau principale ("iface eth0 inet..." par exemple):
pre-up iptables-restore < /etc/iptables.rules
Pour que openvpn se lance au dmarrage :
service openvpn restart
update-rc.d f openvpn defaults
Imaginons que l'on veuille crer une cls pour le client "siojjr", alors il suffit de saisir les
commandes suivantes sur le serveur:
cd /etc/openvpn/easy-rsa
source vars
./build-key-pass siojjr
Note: si vous souhaitez protger l'accs vos cls par un mot de passe (c'est dire qu'un mot
de passe sera demand la mont du tunnel VPN), il faut utiliser la commande ./build-keypass en lieu et place de ./buil-key.
Le script ./build-key va gnrer 3 fichiers dans le rpertoire /etc/openvpn/easy-rsa/keys:
Pour assurer la compatibilit avec le client Windows OpenVPN, on fait une copie du fichier client.conf
vers client.ovpn:
cp client.conf client.ovpn
Pour installer le client OpenVPN, il suffit d'installer le paquet openvpn disponible dans les
dpts officiels. On pourra aussi installer le paquet network-manager-openvpn
pour avoir une interface graphique qui permet de simplifier l'utilisation.
Sans interface graphique
Pour dfinir une connexion un VPN, il faut crire un fichier contenant certaines informations
(correspondant au client.conf)
Les champs les plus importants de ce fichier sont
remote (hte abritant le nud d'entre)
dev (tun ou tap)
proto (udp ou tcp)
comp-lzo (compression lzo)
fragment
ca (fichier certificat)
ns-cert-type
Il ne reste plus qu' mettre ces fichiers (tous ceux de /etc/openvpn/clientconf/siojjr) sur le PC client
Puis, pour se connecter au VPN
openvpn fichierdeconfiguration
Si l'on veut passer des paramtres optionnels openvpn, on doit alors spcifier aussi l'option config
devant le nom du fichier de configuration. Parmi les option utiles, on remarquera auth-user-pass qui
permet de donner un fichier contenant le nom d'utilisateur et le mot de passe, ce qui permet de ne pas
avoir rentrer ces derniers l'invite de commande, et donc de lancer plus facilement openvpn en tche
de fond.
On notera qu'il faut les droits d'administration pour se connecter, ce qui est normal car openvpn va crer
une interface rseau virtuelle, la configurer avec ifconfig et changer les tables de rout
Avec network-manager, on vite d'avoir son mot de passe rentrer, ce plugin reposant sur un dmon
lanc au dmarrage avec les privilges d'administration.
Avec interface graphique
Un clic sur l'icne de network-manager montre un champ Connexions VPN, qui permet de configurer le
VPN. L'interface est assez intuitive, mais aussi assez limite par rapport aux nombreuses options
disponibles dans le fichier de configuration.
Pour une utilisation basique, ou si les rglages envoys par le serveur au client vous conviennent ce
moyen est suffisant.
le plugin propose d'importer le profil depuis un fichier de configuration openvpn. Cette option est assez
pratique mais perdra tous les rglages non pris en charge directement par network-manager, ce qui est
bien dommage, en particulier les routages diffrencis pour ne router qu'une partie du trafic par le vpn
et les scripts up et down.
Il suffit de regarder lip du client avant et aprs la connexion pour voir si laccs au vpn a
bien fonctionn ou non.