HOWTO vpnc

Un article de Gentoo Linux Wiki.

Cet article fait partie des HOWTOs.
Méthodes d'installation CD Live Noyau et matériel Portables et Notebooks Portage Système Réseaux et Services Serveur X Logiciels fréquemment utilisés Autres

Après de longues batailles avec vpnc, j'ai pu obtenir le résultat que j'attendais : me connecter sur le reseau de la faculté tout en utilisant les routes standards pour accéder au web public (linuxfr, gentoo, ...).

La procédure ressemble plus à un bidouillage, selon moi, barbare qu'à un HOWTO digne de ce nom, mais si cela peut aider quelqu'un pourquoi pas !


Sommaire

[modifier] Installation

[modifier] Installation de vpnc

Vérifiez tout d'abord que vous avez le module <M> Universal TUN/TAP device driver support dans la configuration de votre kernel. Puis, effectuez l'installation :

Code : Installation de vpnc
emerge vpnc


[modifier] Configuration de vpnc

On édite /etc/vpnc.conf pour y mettre :

Fichier : /etc/vpnc.conf
Interface name vpnuni
IKE DH Group dh2
Perfect Forward Secrecy nopfs
IPSec gateway [Gateway VPN]
IPSec ID [Votre Groupe]
IPSec secret [Pass du Groupe]
Xauth username [Login]


vpnuni est le nom que vous voulez donner a l'interface qui apparaîtra dans ifconfig. Vous pouvez l'appeler tux si ça vous chante.
C'est tout pour la config !


[modifier] Connexion et modification de la table de routage

Pour se connecter il suffit de faire :

Code : connexion à vpnc
modprobe tun
vpnc-connect

Puis tapez votre mot de passe. Normalement vpnc vous indique qu'il est maintenant lancé !

Pour vous déconnecter :


Code : déconnexion
vpnc-disconnect


Si vous souhaitez que TOUTES vos connections passent par le VPN, ce HOWTO s'arrête ici pour vous !


[modifier] Aller plus loin

Dans le cas qui me préoccupe, le fait que tout passe par le VPN ne me convient pas, si cela vous dérange vous aussi, l'aventure continue ...

voici un aperçu de ma table de routage à ce moment-là :


Table de routage IP du noyau
Destination     Passerelle      Genmask         Indic   MSS Fenêtre irtt Iface
134.96.12.2     192.168.0.1     255.255.255.255 UGH    1500 0          0 eth1
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U         0 0          0 eth1
127.0.0.0       127.0.0.1       255.0.0.0       UG        0 0          0 lo
0.0.0.0         0.0.0.0         0.0.0.0         U         0 0          0 vpnuni


[modifier] Détail de la table de routage

134.96.12.2 est la passerelle de mon VPN 192.168.0.1 est mon routeur DLINK


A partir de là, et comme je ne maîtrise pas la commande route je me suis mis à bricoler ...


Code : manipulation avec la commande route
route add -net 134.96.0.0 netmask 255.255.0.0 vpnuni
route del default
route add default gw dlink eth1


Ce qui donne la table de routage suivante :

Table de routage IP du noyau
Destination     Passerelle      Genmask         Indic   MSS Fenêtre irtt Iface
134.96.12.2     192.168.0.1     255.255.255.255 UGH    1500 0          0 eth1
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U         0 0          0 eth1
134.96.0.0      0.0.0.0         255.255.0.0     U         0 0          0 vpnuni
127.0.0.0       127.0.0.1       255.0.0.0       UG        0 0          0 lo
0.0.0.0         192.168.0.1     0.0.0.0         UG        0 0          0 eth1


Et ça marche !

[modifier] Récapitulatif de la dernière manipulation

Code : manipulation
route add -net <network_du_reseau_vpn> netmask <netmask_vpn> <INTERFACE_TUNNEL>
route del default
route add default gw <passerelle_Habituelle> Interface_Passerelle
Code : version iproute2
ip route add <network_du_reseau_vpn><netmask_vpn> dev <INTERFACE_TUNNEL>
ip route del default
ip route add default via <IP_Passerelle> dev <Interface_Passerelle>

<netmask_vpn> : 255.255.0.0 = /16, 255.255.255.0 = /24)

[modifier] Résolution des problèmes

Après un vpnc-connect le ping ne passe plus ! 
Vérifier que votre /etc/resolv.conf contient les nameservers de votre VPN !
Lorsque je démarre vpnc j'ai l'erreur suivante 
«Error: either "to" is duplicate, or "64" is a garbage.» et la connexion vpn ne fonctionne pas.

Pour résoudre ce problème, il faut éditer le script «vpnc-connect» et dans la fonction «fix_ip_get_output» il faut changer:

sed 's/cache//;s/metric[0-9]\+ [0-9]\+//g'

par

sed 's/cache//;s/metric \?[0-9]\+ [0-9]\+//g'


MAJ : 11/06/2004
source : http://forums.gentoo.org/viewtopic.php?t=184647
auteur : kernel_sensei

Ce document est sous licence GNU FDL. Comme le demande la licence, n'étant pas le document original, celui-ci est donc à considérer comme une version modifiée du document original.

Cet article est une ébauche. Vous pouvez l'aider à s'enrichir en le complétant.

Affichages
Outils personnels
Navigation
Indexes
Boîte à outils