FREE, la liberté n'a pas de prix ! Nom de domaine chez OVH Get Firefox!
Installer un serveur VPN sous Debian
par Stéphane Le Caër
12 mai 2005
Introduction

Ce document décrit l'installation d'un serveur PPTP (Point-to-Point Tunneling Protocol) sur une distribution Debian GNU/Linux.

Le protocole de chiffrement utilisé est MPPE (Microsoft Point to Point Encryption).

 
 
Plan

 
Environnement

La distribution sur laquelle je me suis appuyé pour réaliser ce mémo est la Debian GNU/Linux testing "Sarge" RC3 datée du 23 mars 2005.

Cette distribution a été installée en respectant les instructions suivantes : Installer Debian GNU/Linux testing "Sarge".

Topographie du Réseau :

Installer le support de MPPE

MPPE (Microsoft Point to Point Encryption) est un protocole de chiffrement des paquets transitants sur un lien PPP.

MPPE doit être présent non seulement au niveau du noyau, mais aussi du démon PPPD, utilisé par le serveur PPTP. Comme il n'est pas inclus dans le noyau standard, il faut donc télécharger, patcher, compiler et installer un nouveau noyau.

Récupérer les outils nécessaires à la construction du noyau et le patch pour supporter MPPE :
# apt-get install bzip2 kernel-package kernel-patch-mppe

Installer, décompresser et préparer les sources du noyau :
# apt-get install kernel-source-2.6.8
# cd /usr/src
# tar xjvf kernel-source-2.6.8.tar.bz2
# cd kernel-source-2.6.8
# make-kpkg clean

Le noyau utilisé est à sa version 2.6.8-15 du 22 Mars 2005.

Copier le fichier de configuration actuellement utilisé :
# cp /boot/config-`uname --kernel-release` ./.config

Construire le noyau :
# cd kernel-source-2.6.8
# make-kpkg \
  --added-patches mppe \
  --append-to-version -mppe \
  --config oldconfig \
  --initrd \
  kernel_image

Quand le script le demande, répondre m pour l'option CONFIG_PPP_MPPE :
PPP MPPE compression (encryption) (PPP_MPPE) [N/m/?] (NEW) m

Remarque :
Cette opération peut être très longue. A titre d'exemple, elle a duré quasiment 2 h sur un pentium III 500 Mhz avec 256Mo de RAM. Alors que cela a duré environ 20 min sur un Pentium IV 1.8 Ghz avec 512 Mo de RAM.

Installer le nouveau noyau :
dpkg --install /usr/src/kernel-image-2.6.8-mppe_10.00.Custom_i386.deb

Remarque :
Le fichier de configuration de GRUB (/boot/grub/menu.lst) est mis à jour par le package.

Redémarrer la machine :
# shutdown -r now

Charger le module dans le noyau :
# modprobe ppp-compress-18 && echo success

Si ça marche, le message "success" est affiché et le message suivant doit s'afficher sur la console :
ppp_mppe: module license 'BSD without advertisement clause' taints kernel.
PPP MPPE Compression module registered

 
Installer le serveur PPTP

L'installation du serveur PPTP se résume à installer le package associé :
# apt-get install pptpd

Le daemon pptpd est lancé automatiquement.

 
Configurer le serveur PPTP

Editer le fichier /etc/pptp.conf pour définir les plages d'adresse IP :
localip 192.168.0.100 remoteip 192.168.0.200-203

Dans cette exemple, le serveur PPTP sera vu par les clients VPN à l'adresse 192.168.0.100. Les clients auront une adresse IP dans la plage allant de 192.168.0.200 à 203. Ce qui fait 4 connexions en simultanées.

Pour rendre accessible l'ensemble du réseau local aux clients VPN et non seulement le serveur, éditer le fichier /etc/network/options :
ip_forward=yes

Redémarrer le daemon pptpd pour prendre en compte les modifications :
# /etc/init.d/pptpd restart

 
Ajouter les utilisateurs ayant droits d'accès

Editer le fichier /etc/ppp/chap-secrets pour définir les comptes de connexion :
# Secrets for authentication using CHAP
# client        server  secret                  IP addresses
utilisateur1    pptp    motdepasse1             *
utilisateur2    pptp    motdepasse2             *

Remarque :
Il n'est pas nécessaire de redémarrer le daemon pptpd pour que les modifications faites dans le fichier /etc/ppp/chap-secrets soient prises en compte.

 
Configurer le pare-feu

Pour qu'un client VPN puisse ouvrir une connexion sur le serveur PPTP, il faut ouvrir le port 1723.

Exemple de configuration d'un routeur Netgear RP614v2 :

 
Liens

 
Historique

Version Date Commentaire
1.0 12/05/2005 Version initiale
1.1 20/05/2005 Ajout de quelques liens.
     

 
  Get Firefox