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.
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.
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.
Voici les prérequis pour pouvoir installer un serveur Linux VPN PPTP à la maison:
Une connexion Internet.
Une machine roulant Linux avec un noyau 2.6.15 ou plus récent.
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.
Un routeur avec support du protocole GRE si le réseau interne est derrière celui-ci.
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 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 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
Illustration 2 |
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.
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
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