PPTP et VPN

Installation et configuration

d'un réseau privé virtuel à la maison

 

Sommaire

Dans cet article, nous allons voir comment installer et configurer, à la maison, un réseau privé virtuel sécuritaire et peu coûteux pour vous permettre d'accéder à vos fichiers à partir du bureau ou de tout autre endroit.

Introduction

Pour beaucoup d'entre nous, les réseaux informatiques font maintenant partie de notre vie quotidienne. Les technologies réseautiques nous permettent d'accéder facilement à une foule d'informations et de ressources essentielles à notre travail et nos loisirs. Mais un problème de taille se pose dès qu'on met les pieds hors du bureau ou de la maison : Comment accéder, de façon sécuritaire et facile, aux documents stockés sur nos ordinateurs? Parmi les différentes solutions possibles, les réseaux privés virtuels (ou virtual private networks en anglais) sont sans doute les plus simples et les plus abordables à mettre en place. Nous allons donc voir comment installer et configurer un réseau privé virtuel de type PPTP à la maison. Premièrement, nous regarderons le protocole PPTP de plus près. Nous listerons les prérequis. Ensuite, nous configurerons un serveur VPN Linux. Finalement, nous verrons comment configurer un système Linux pour se connecter à notre serveur.

Origine du protocole PPTP

Le protocole PPTP (Point-to-Point Tunneling Protocol) à été conçu par Microsoft, 3Com, Ascend, US Robotics et ECI Telematics pour la mise en place de réseaux privés virtuels. PPTP utilise le protocole PPP pour accomplir sont travail. Le protocole PPTP requiert deux canaux pour fonctionner : une connexion TCP utilisant le port 1723 pour le contrôle de la session PPTP et un canal GRE (Generic Routing Encapsulation) utilisant le protocole IP numéro 47 pour le transport du traffic. Les experts sont d'accord pour dire que le protocole PPTP n'est pas le plus sécuritaire, mais il est très répandu (du fait que la plateforme Windows le supporte depuis Windows 95 OSR2) ce qui simplifie grandement sont déploiement.

Prérequis

Voici les prérequis pour pouvoir installer un serveur Linux VPN PPTP à la maison:

Il est à noter que les noyaux avant la version 2.6.15 ne supportaient pas directement le protocole PPTP mais qu'il existe une rustine (« patch ») pour ajouter cette fonctionnalité sur les vieux noyaux.

PPTP et VPN (Suite)

Il y a beaucoup trop de scénarios possibles pour pouvoir tous les documenter ici. Je me limiterai donc à documenter l'installation d'un serveur VPN sur un réseau local simple composé d'un ordinateur Windows XP et d'un ordinateur Linux derrière une paserelle D-Link connectée à Internet. Voir l'illustration 1.

 

Illustration du réseau local

Illustration 1

 

Dans mon cas, le serveur VPN sera un serveur Linux Ubuntu 6.06.1 LTS. Il est à noter que d'autres distributions peuvent être utilisées mais mon choix c'est arrêté sur Ubuntu parce que cette distro est basée sur Debian et que le noyau est récent.

Installation d'un serveur Linux VPN PPTP

Installation du paquetage du serveur PopTop

# sudo apt-get install pptpd

Charger le module de chiffrement MPPE (Microsoft Point-to-Point Encryption).

# sudo modprobe ppp-compress-18 && echo success

Configuration de l'attribution des adresses IP.

Il est grandement recommandé d'assigner les adresses des client dans le même sous-réseau que le réseau local du serveur. Les adresses attribuées pour les clients ne doivent pas entrer en conflit avec les adresses assignées par le serveur DHCP.

Édition du fichier /etc/pptpd.conf

localip 192.168.2.253

remoteip 192.168.2.200-209

# /etc/init.d/pptpd restart

Installation d'un serveur Linux VPN PPTP

Illustration 2

Ajout des usagers (méthode simple).

Ajout des usagers (méthode simple).

Édition du fichier /etc/ppp/chap-secrets

Format : username pptpd password *

Exemple : clo pptpd clo *

Méthodes avancées : Samba, LDAP, Kerberos, Window Active directory.

Activer le routage IP.

echo 1 > /proc/sys/net/ipv4/ip_forward

ou sysctl -p /etc/sysctl.conf # is enough ou /etc/init.d/procps.sh restart

Édition du fichier /etc/sysctl.conf : net.ipv4.ip_forward = 1

Configurer le serveur pour utiliser une adresse IP statique.

Ouvrir le port TCP 1723 sur le routeur.

Spécifique à chaque type de routeur.

 

Configuration d'un client VPN PPTP Linux

Installation du paquetage du client PPTP

# sudo apt-get install pptp-linux

Création d'un profil PPP

Les profils PPP sont stockés dans le répertoire /etc/ppp/peers

Fichier /etc/ppp/peers/mon_serveur_vpn

ipparam MonServeurVpn

pty "pptp 70.80.251.33 --nolaunchpppd"

name clo

remotename vpn

require-mppe-128

lock

noauth

nobsdcomp

nodeflate

 

Configuration du mot de passe

Édition du fichier /etc/ppp/chap-secrets

Exemple : clo vpn clo *

 

Lancer la connexion PPTP

# sudo pon mon_serveur_vpn updetach

 

Fermer la connexion PPTP

# sudo poff mon_serveur_vpn

 

Routage

# sudo route add -net 192.168.2.0 netmask 255.255.255.0 ppp0

Martin Paquette
Club Linux Gatineau
Présenté le 30 janvier 2007
Mis en ligne le 3 juillet 2007

Ressources

Poptop project http://www.poptop.org
PPTP Client project http://pptpclient.sourceforge.net
Wikipedia PPTP page http://en.wikipedia.org/wiki/PPTP
Concept de réseau http://www.commentcamarche.net/initiation/concept.php3
Linux Journal http://www.linuxjournal.com/article/7881