Serveur vpn PPTP sous debian en MS-CHAPv2

Ayant besoin d’un VPN en pptp pour un client qui ne supporte par openvpn, j’ai essayé et réussis d’installer une serveur pptp sur un de mes serveur dédié.
Donc pour tous ceux qui ont des dedibox, kimsufi et autre serveur ovh et qui veulent un serveur vpn plus simple à mettre en place que openvpn et moins sécurisé ce tuto est pour vous ! Dans cet exemple j’utilise le MS-CHAPv2 mais le CHAP ou le PAP sont aussi disponible.

Pour ceux qui préfère openvpn (moi) voici le liens pour mon tuto openvpn : http://www.artiflo.net/2008/05/ubuntu-openvpn/

J’ai réalisé l’installation sous debian etch mais cela devrait être le même concept pour les autres distribution.

Installation du serveur pptpd :

# apt-get install pptpd

Configuration du serveur :

# nano /etc/pptpd.conf

Il faut décommenter les 2 lignes localip et remonteip. Vous indiqué l’ip du votre serveur et ensuite la plage d’adresse d’ip locale que vous voulez attribué au pc qui se connecteront au VPN

localip IP.DE.VOTRE.SERVEUR
remoteip 192.168.0.234-238,192.168.0.245

A présent nous allons configurer la méthode d’authentification. Nous allons utiliser le MS-CHAPv2. Mais les autres protocole que ce soit pap ou chap sont aussi possible c’est a vous de le configurer.

# nano /etc/ppp/options

Il faut rajouter ces lignes a la fin du fichier :

refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
proxyarp
lock
nobsdcomp 

Maintenant il reste a créer les utilisateurs.

# nano /etc/ppp/chap-secrets

Cela se présente ainsi :

artiflo pptpd artiflopassword "*"

* est pour signifier que les utilisateurs peuvent se connecter de n’importe quel ip. Dans le cas contraire spécifié l’ip.

Et enfin, pour ce concerne le firewall il faut en premier que vous autoriser le port 1723 et le protocole GRE ainsi :

# iptables -A INPUT -p tcp –dport 1723 -j ACCEPT
# iptables -A INPUT -p gre -j ACCEPT

Et ensuite il faut configurer le routage en spécifiant que toutes les adresse locale que vous avez définis toutes a l’heure doivent être rediriger sur l’adresse de la carte eth0. Et en activant l’ip forwarding.

# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j SNAT --to IP.DE.VOTRE.SERVEUR

Redémarrer pptp et cela doit fonctionner 🙂

# /etc/init.d/pptpd restart

Je n’explique pas dans ce billet la configuration du client pour Windows XP ou Vista car c’est du clic-clic.