Salut Nexion,
Je suis a peu près dans le même cas de figure que toi, mon VPN est fonctionnel. Le ping, le partage de fichier etc fonctionne sans problème. Cependant, ma motivation première était de rediriger l’ensemble du traffic internet des clients à travers le VPN (pour contourner des blocages). Sur ce point précis, cela fait environ une semaine que j’épluche tous les tutos sur le net et je ne suis toujours pas arrivé à mes fin ! A ma décharge je ne suis, tout comme toi, pas expert en réseau…
Je suis donc en mesure de t’apporter que des 1/2 solutions, mais ce sera un bon début !
Donc tout d’abord, pour rediriger le traffic web au travers de ton vpn, il faut que tu active ces options coté serveur :
#On définit le serveur VPN comme passerelle par défaut pour les clients.
push "redirect-gateway def1"
#On définit le serveur VPN comme DNS par défaut
push "dhcp-option DNS 10.8.0.1"
Pour plus d’info, voir ici : http://www.dailytechfix.net/2009/07/31/configuration-dopenvpn-server-en-full-tunnelling-sur-ubuntu/
Autre chose, étant donné que ton serveur va faire office de DNS, il te faut le paquet “dnsmasq” (http://manoftoday.wordpress.com/2006/12/03/openvpn-20-howto/).
Dernière chose que j’ai remarqué, uniquement si ton client est une distrib Debian like.
Il semble qu’il y ai un bug dans openvpn et qu’il soit incapable d’appliquer l’option “push dhcp-option DNS 10.8.0.1” en provenance du serveur.
Je m’explique, cette option devrai (si j’ai bien compris) changer le DNS de ton client donc le contenu du fichier “/etc/resolv.conf” (et cela au moment ou tu monte ton vpn). Or chez moi, ce n’est pas le cas.
Pour résoudre ce problème, openvpn t’offre le script “/etc/openvpn/update-resolv-conf”.
Pour le faire fonctionner, il faut ajouter dans ton fichier de config client les options suivantes :
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf
Grace a ces options, openvpn executera la script a chaque fois que tu montes ou que tu démontes ton tunnel VPN. Ton fichier “resolv.conf” devrai donc toujours etre a jour.
Chez moi, des que j’ajoute ces options, le tunnel ne se monte plus… Faut que je check les logs mais j’ai pas encore eu le temps.
Enfin j’ai aussi essayé sous Windows qui ne souffre pas de ce bug mais rien y fait…
J’ai aussi appliqué sur le serveur ces règles :
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.8.0.0/24 -o eth0 -j MASQUERADE
Et j’ai aussi activer l’IP forwarding.
Voici mon fichier de conf serveur (lenny) :
port 80
# TCP or UDP server?
proto tcp
;proto udp
;dev tap
dev tun
ca ca.crt
cert LeServeurVPN.crt
key LeServeurVPN.key # This file should be kept secret
dh dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route 192.168.0.0 255.255.255.0"
push "redirect-gateway def1"
push "dhcp-option DNS 10.8.0.1"
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
log openvpn.log
verb 5
Et le fichier de mon client (windows):
client
dev tun
proto tcp
remote xx.xx.xx.xx 80
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
comp-lzo
verb 1
Voila en esperant t’avoir un peu aidé et par la même occasion, trouver un peu d’aide ici car la je commence à avoir épuisé toutes mes cartes…
Merci.