Se connecter à un VPN PPTP

Point-to-Point Tunneling Protocol (PPTP) est un protocole d’encapsulation PPP sur IP conçu par Microsoft, permettant la mise en place de réseaux privés virtuels (VPN) au-dessus d’un réseau public.
Ce protocole est supporté par quasiment toute les plateformes : Microsoft Windows depuis 95OSR2, Mac OS X, GNU/Linux, BSD, Cisco CiOS, Iphone iOS, Androïd, Palm,… et est extrêmement simple à mettre en place. Cependant PPTP est loin d’être sécurisé, en effet de nombreuses failles de sécurités ont été trouvées dans l’implémentation de MPPE, le protocole d’authentification PPP. C’est pourquoi il est fortement déconseillé d’utiliser PPTP avec IPv6 et/ou dans les cas où la confidentialité et l’intégrité des données sont jugées indispensables.

Nous allons voir ici comment se connecter à un serveur PPTP sous GNU/Linux.

Installation du client :

apt-get install pptp-linux

Prérequis :

  • adresse (IP ou DNS) du serveur PPTP ($SERVER)
  • le nom que vous souhaitez donner au tunnel ($TUNNEL),
  • login ($USERNAME) ( peut être de la forme DOMAIN\USERNAME )
  • mot de passe ($PASSWORD)

Configuration :

Vérifier la présence des options suivantes dans le fichier /etc/ppp/options.pptp

lock noauth nobsdcomp nodeflate

Ajouter une ligne au fichier /etc/ppp/chap-secrets qui gère l’authentification ( attention le mot de passe est stocké en clair )

$USERNAME PPTP $PASSWORD *

Pensez à échapper les caractères spéciaux dans le cas DOMAIN\\USERNAME

Créer le fichier /etc/ppp/peers/$TUNNEL :

pty « pptp $SERVER –nolaunchpppd »
name $DOMAIN\\$USERNAME
remotename PPTP
require-mppe-128
file /etc/ppp/options.pptp
ipparam $TUNNEL
persist

L’option « persist » active la reconnexion auto en cas de perte de connexion.

Tester le tunnel :

pon $TUNNEL debug dump logfd 2 nodetach

Démarrer le tunnel :

pon $TUNNEL

Arrêter le tunnel :

poff $TUNNEL

Pour démarrer automatiquement le tunnel vous pouvez ajouter ceci au fichier /etc/network/interfaces :

auto tunnel
iface tunnel inet ppp
provider $TUNNEL

Tester le démarage auto :

/etc/init.d/networking restart

Pour plus d’informations ou en cas de problèmes : http://pptpclient.sourceforge.net/howto-debian.phtml

Voilà, la liaison VPN PPTP est maintenant établie, vous pouvez la voir apparaitre dans le résultat de la commande ifconfig sous le nom pppX.

root@Boris:~# ifconfig ppp0

ppp0      Link encap:Point-to-Point Protocol
inet addr:10.20.80.19  P-t-P:10.20.80.10  Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1396  Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:80 (80.0 B)  TX bytes:80 (80.0 B)

Par défaut, vous avez accès au réseau local distant mais la réciproque n’est pas vraie, pas plus que votre réseau local ne peut accéder au réseau local distant. Pour ceci il ne reste plus qu’à configurer le routage (via la table de routage et iptables ) pour rediriger les flux que vous souhaitez dans votre tunnel.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *