Dernière maj : Mars 2013
Tutoriel si vous avez un kimsufi et voulez que sur un ordinateur TOUT le trafic sortant passe via le VPN. Attention un VPN permets plusieurs chose (échange machine à machine, connexion à un LAN distant) là on est bien d'accord que tout le trafic de la machine passe par le VPN pour ensuite aller sur internet.
Armé de votre Openvpn, d'une debian (wheezy lors de la rédaction), d'un putty et de votre cerveau d'administrateur linux. On a besoin du packet openssl pour créer les clefs. Si vous reprenez les clefs d'un ancien serveur c'est peut être pas obligé ?! Installation:
apt-get install openvpn openssl
Configuration, on copie l'exemple et on édite les variables.
cd /etc/openvpn cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0 ./easy-rsa vim easy-rsa/vars
Ajuster KEY_COUNTRY, KEY_PROVINCE, KEY_CITY, KEY_ORG, KEY_EMAIL si vous voulez avoir une clef propre. Sinon laissez ! De toute facon c'est pas utile si vous faite pas du multiutilisateur / multiposte.
. ./easy-rsa/vars
C'est bien vous avez copié tel quel avec les 2 points et l'espace ? Sinon fu ! Il y a pu y avoir des écriture; osef. On continu
./easy-rsa/clean-all
On build le CA donc ce machin c'est en gros une super clef qui authentifie le serveur. La clef privée de ce truc doit rester secrete. La clef publique doit être filée a TOUS les clients.
./easy-rsa/build-ca OpenVPN
On construit la clef du serveur. Techniquement on peux faire plusieurs serveur avec un même CA mais on est pas VERISIGN. Eventuellement remplacer server par ksxxxx.
./easy-rsa/build-key-server server
A la place de PC-DE-NOOB vous pouvez mettre le nom de votre machine. Si vous êtes un débutant c'est surement PC-DE-VOTRELOGIN... FU.
./easy-rsa/build-key PC-DE-NOOB
Ca... c'est obligé mais on sais plus pourquoi alors on fait. Non mais ca un intérêt mais osef pour mon tuto simple donc google si vous voulez tout savoir.
./easy-rsa/build-dh
Configuration du fichier
vim /etc/openvpn/openvpn.conf
Exemple de mon openvpn.conf Attention dt.crt et dt.key c'est server si vous avez pris le tuto à la lettre... Le 8.8.8.8 c'est pour dire au client d'utiliser les serveurs de google pour le DNS à la rigueur vous pouvez mettre un serveur dns sur le VPN mais faut le sécuriser (iptable que votre ip par exemple et puis vous avez quoi à cacher à GOOGLE ??? HEIN ? Non sérieux sécuriser votre serveur dns si vous l'utiliser en tant que redirecteur car beaucoup d'attaques DDOS se font avec de la reflexion DNS.
dev tun proto tcp port 8080 ca /etc/openvpn/easy-rsa/keys/ca.crt cert /etc/openvpn/easy-rsa/keys/dt.crt key /etc/openvpn/easy-rsa/keys/dt.key dh /etc/openvpn/easy-rsa/keys/dh1024.pem user nobody group nogroup server 10.8.0.0 255.255.255.0 persist-key persist-tun status /var/log/openvpn-status.log verb 3 client-to-client push "redirect-gateway def1" #set the dns servers push "dhcp-option DNS 8.8.8.8" push "dhcp-option DNS 8.8.4.4" log-append /var/log/openvpn comp-lzo
Ensuite les merdes habituelles, faut que le linux puisse forwarder et faut faire du NAT par port (ip masquerade). Attention y'a 1 million de postes sur le NAT et le terme veux tout dire... C'est du NAT par translation de port. Donc sur le VPN vous aurez que 65536 connexion possible. Bon si vous avez que un seul ordinateur sur le VPN c'est pas grave. Mais vous avez 5000 machines sur le VPN si chacune fait 10 connexion TCP vous êtes bientot à la limite ! En plus le serveur NAT est obligé de garder une table des session ouvertes entre vous et le reste du monde. Bon le NAT c'est 50 pages de cours pas envie de vous apprendre DONC TAPER.
Hé eth0 c'est l'interface du kimsufi connecté à internet. Peut être ca va changer...
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
A priori faut éditer /etc/sysctl.conf et foutre à 1 net.ipv4.ip_forward
iptables -L -t nat
La commande d'avant vous à montré que tout est ok?
/etc/init.d/openvpn start tail -f /var/log/openvpn
Copier ca.crt, PC-DE-NOOB.crt, PC-DE-NOOB.key qui sont dans ..... /etc/openvpn/easy-rsa/keys
Ensuite vous faites un fichier de configuration et vous vous débrouiller pour le sheller en administrateur. Débrouillez vous.
Fichier ClientKS.ovpn
dev tun client proto tcp remote ks007.kimsufi.com 8080 resolv-retry infinite nobind persist-key persist-tun ca ca.crt cert PC-DE-NOOB.crt key PC-DE-NOOB.key comp-lzo verb 3
Fichier ClientKS.bat - A SHELLER EN ADMINISTRATEUR
e: cd e:\vpn "c:\Program Files (x86)\OpenVPN\bin\openvpn.exe" E:\VPN\clientFR.ovpn pause
Reste plus qu'a installer le client openvpn dans le dossier par défaut. Heeeu par contre je me rappelle plus de celui que j'ai installé... Y'a du 64 bits mais j'ai 32 bits je crois. Débrouillez vous ^^