Telechargé par Saif Bourghida

admin06-vpn-pptp-linux

publicité
UMR7009
Mise en place d’un serveur VPN PPTP sous Linux
Olivier Dijoux1 .
RESINFO / ADMIN062
Juillet 2005, version 1.0
Résumé
Ce document décrit l’installation d’un serveur VPN PPTP sous Linux Fedora Core
avec Poptop (Open Source PPTP Server for Linux).
Table des matières
1 Introduction
2 Installation
2.1 Packages RPM requis . . . . . . . .
2.2 Patch kernel MPPE . . . . . . . . .
2.3 Configuration des logins utilisateurs
2.4 Configuration Réseau . . . . . . . . .
2.4.1 Adresses IP des clients VPN
2.4.2 Firewall . . . . . . . . . . . .
2.4.3 DNS . . . . . . . . . . . . . .
2.4.4 Routage IP . . . . . . . . . .
3 Tests de connexion
1
2
[email protected]
https://admin06.sophia.cnrs.fr
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2
2
2
2
3
3
3
3
3
3
Serveur VPN PPTP sous Linux - Admin06
1
Introduction
Poptop permets la mise en oeuvre rapide d’un serveur VPN PPTP compatible avec la
plupart des OS Windows/MacOSX/Linux.
http ://www.poptop.org
2
2.1
Installation
Packages RPM requis
Installer les pachages RPM suivant via YUM s’ils ne sont pas déja présent :
[root@olinux ~]# yum install gcc
[root@olinux ~]# yum install kernel-devel
[root@olinux ~]# yum install rpm-build
si le package RPM ppp est deja installé, desinstallez le car ppp ¿= 2.4.3 est
nécessaire pour pptpd-1.2.3-1.i386
Installer les packages RPM à télécharger sur http://www.poptop.org :
[root@olinux ~]# rpm -ivh ppp-2.4.3-5.fc3.i386.rpm
[root@olinux ~]# rpm -ivh pptpd-1.2.3-1.i386.rpm
[root@olinux ~]# rpm -ivh dkms-2.0.5-1.noarch.rpm
Dans le cas ou vous utilisez Fedora Core 4 et que le RPM de ppp n’est pas disponible,
créer le vous même à partir de la source SRPM ppp-versionxxx.src.rpm :
[root@olinux ~]# rpm -ivh ppp-2.4.3-5.src.rpm
[root@olinux ~]# rpmbuild -ba /usr/src/redhat/SPECS/ppp.spec
[root@olinux ~]# rpm -Uvh /usr/src/redhat/RPMS/i386/ppp-2.4.3-5.fc4.i386.rpm
2.2
Patch kernel MPPE
Par défaut, le kernel standard livré avec FC3 n’a pas le support MPPE3 . Vous obtiendrez ainsi l’erreur :
olinux pppd[4677]: MPPE required, but kernel has no support.
olinux pppd[4677]: Connection terminated.
Il faut donc patcher le kernel pour MPPE grace à DKMS4 , qui va se charger d’installer
correctement le module ppp_mppe dans /lib/modules/2.6.xxx_FC4/kernel/drivers/net/
[root@olinux ~]# rpm -Uvh kernel_ppp_mppe-0.0.5-2dkms.noarch.rpm
Patientez jusqu’a la fin de DKMS, et rebooter le serveur pour reloader correctement
le kernel patché.
2.3
Configuration des logins utilisateurs
Ajoutez les logins de vos utilisateurs VPN dans /etc/ppp/chap-secrets
# Secrets for authentication using CHAP
# client
server secret
IP addresses
#username
pptpd
password
*
Attention : ce fichier doit etre en chmod 600 par sécurité
Il est également possible de forwarder la partie authentification vers un serveur
Radius.
3
4
Microsoft Point to Point Encryption
Dynamic Kernel Module Support
2
Serveur VPN PPTP sous Linux - Admin06
2.4
Configuration Réseau
2.4.1
Adresses IP des clients VPN
Les adresses IP du tunnel et des clients VPN sont définies dans /etc/pptpd.conf :
localip 192.168.0.5 # ip du tunnel serveur vpn
remoteip 192.168.0.230-240 # plage des ip clients vpn
2.4.2
Firewall
Sur votre Firewall, ouvrir le port TCP/1723 (et/ou IP protocol 47 (GRE)) vers
l’adresse IP du serveur VPN.
2.4.3
DNS
Déclarez les serveurs DNS qui seront utilisés par vos clients VPN dans /etc/ppp/options.pptpd :
ms-dns 212.27.54.252
ms-dns 212.27.39.1
2.4.4
Routage IP
Si necessaire, vous pouvez autoriser le routage IP (IP forwarding) sur le serveur VPN
afin qu’il serve de passerelle par defaut :
# enable IP forwarding in /etc/sysctl.conf
net.ipv4.ip_forward = 1
# enable IP forwarding now:
echo 1 > /proc/sys/net/ipv4/ip_forward
Vous pouvez également activer le routage de broadcast entre le tunnel VPN et
l’interface du reseau local du serveur VPN (utile pour les partages SMB/CIFS) :
/etc/pptpd.conf bcrelay eth0
/etc/init.d/pptpd restart
3
Tests de connexion
connexion depuis un poste client winxp
/var/log/messages
olinux
olinux
olinux
olinux
olinux
olinux
olinux
olinux
olinux
olinux
olinux
pptpd[8979]: CTRL: Client 192.168.0.254 control connection started
pptpd[8979]: CTRL: Starting call (launching pppd, opening GRE)
pppd[8980]: Plugin /usr/lib/pptpd/pptpd-logwtmp.so loaded.
pppd[8980]: pppd 2.4.3 started by root, uid 0
pppd[8980]: Using interface ppp0
pppd[8980]: Connect: ppp0 <--> /dev/pts/2
pptpd[8979]: CTRL: Ignored a SET LINK INFO packet with real ACCMs!
pppd[8980]: MPPE 128-bit stateless compression enabled
pppd[8980]: found interface eth0 for proxy arp
pppd[8980]: local IP address 192.168.0.5
pppd[8980]: remote IP address 192.168.0.230
[root@olinux ~]# arp -a
? (192.168.0.2) at 00:0D:60:FD:7C:FE [ether] on eth0
? (192.168.0.230) at * PERM PUP on eth0
man pptpd.conf
3
Serveur VPN PPTP sous Linux - Admin06
Références
–
–
–
–
http ://www.poptop.org
http ://pptpclient.sourceforge.net/howto-fedora-core-4.phtml
http ://poptop.sourceforge.net/dox/redhat-howto.phtml
Dynamic Kernel Module Support
http ://linux.dell.com/dkms/dkms.html
– RFC 2637 : Point-to-Point Tunneling Protocol (PPTP)
http://www.ietf.org/rfc/rfc2637.txt
– RFC 3078 : Microsoft Point to Point Encryption (MPPE)
http://www.ietf.org/rfc/rfc3078.txt
– RFC 2759 : Microsoft Challenge Handshake Authentication Protocol, Version 2
(MS-CHAPv2)
http://www.ietf.org/rfc/rfc2759.txt
4
Téléchargement