VPN1-300x259

Si vous souhaiter pouvoir vous connecter depuis n’importe où chez vous comme si vous étiez connecté à la maison, ce tuto va vous expliquer comment faire.

Pour commencer, nous allons détailler ce qu’est un serveur VPN et à quoi ça sert.

Comment fonctionne un VPN ?

Un VPN (Virtual Private Network) permet de relier deux réseaux entre eux ou bien des machines externes à un réseau précis. La connexion se fait de manière sécurisée et est encryptée via un tunnel.

Tout cela permet de faire croire que l’on est sur le même réseau alors que l’on passe par un intermédiaire qui est en général Internet.

Le client lance la connexion vers le serveur et crypte les données, le serveur décrypte, effectue les actions et retourne les informations demandées vers le client avec le même cryptage.

A quoi cela va servir d’installer un serveur VPN sur mon Raspberry Pi ?

On peut trouver toutes une liste d’utilisation d’un serveur VPN sur le Raspberry Pi:

  • Accéder de manière distante aux machines de son réseau domestique ainsi que tous les éléments réseaux (Imprimantes, NAS, Switch … etc)
  • Fournir un accès internet en France si on est à l’étranger (comme pour certains sites de replay)
  • Se connecter depuis un lieu public chez soi pour ensuite aller sur Internet de manière sécurisée depuis sa maison

Vous savez maintenant, dans les grandes lignes, comment fonctionne un VPN et à quoi cela sert.

Techniquement, il y a pas mal de solutions qui existent. Les plus courantes sont PPTP et OpenVPN.

  • PPTP est un protocole développé par Microsoft. Il possède des lacunes mais est relativement simple à mettre en place.
  • OpenVPN pousse la technique plus loin avec un cryptage plus poussé, il passe à travers les proxy plus facilement que PPTP. Sa mise en place est par contre plus complexe.

Installation du serveur VPN sur votre Raspberry Pi

J’ai choisi dans un premier temps de vous expliquer comment configurer votre Raspberry Pi avec le protocole PPTP car il est très bien supporté (sur tous les systèmes d’exploitation ainsi que sur la plupart des appareils mobiles).

1 – Commençons par la mise à jour de Raspbian (pour installer Raspbian, c’est par ici que ça ce passe) :

 apt-get update && apt-get upgrade 

2 – Installer le paquet suivant (le serveur PPTP) :

 apt-get install pptpd 

3 – Configurer PPTPd via le fichier de configuration /etc/pptpd.conf. A la toute fin du fichier, il y a deux options à modifier :

– localip : il s’agit de l’adresse locale de votre Raspberry Pi. (pour l’exemple j’ai mis l’IP 192.168.1.35).

– remoteip : c’est là que vous rentrer le nombre d’IP que votre serveur VPN va distribué. Attention de bien rentrer des IP ne faisant PAS partie de votre range DHCP.

 localip 192.168.1.35 
 remoteip 192.168.1.200-201 

4 – Ensuite, il faut mettre à jour les options de PPTP via /etc/ppp/pptpd-options :

– ms-dns : il s’agit du DNS utilisé pour la résolution de nom.

– noipx : option recommandée pour désactiver IPX et IPXCP


name pptpd

refuse-pap

refuse-chap

refuse-mschap

require-mschap-v2

require-mppe-128

proxyarp

lock

nobsdcomp

novj

novjccomp

nologfd

ms-dns 212.27.40.240

ms-dns 212.27.40.241

5 – Dans le fichier /etc/ppp/chap-secrets vous allez pouvoir définir les accès que vous voulez donner à votre serveur VPN.

La première ligne du fichier contient le format des entrées ([TAB] correspond au caractère de tabulation):

# Secrets for authentication using CHAP

# client[TAB]server[TAB]secret[TAB]IP addresses

username[TAB]*[TAB]mon_mot_de_passe[TAB]*

6 – Relancer le service

 service pptpd restart 

7 – Il faut activer l’IP Forwarding sur le serveur afin de pouvoir surfer en sortant du VPN.
Pour cela, dans le fichier /etc/sysctl.conf, ajouter la ligne suivante

 net.ipv4.ip_forward=1 

8 – Lancer la commande suivante pour prendre en compte les changements.

 sysctl -p 

9 – Votre serveur VPN est en place. Il faut maintenant le rendre accessible depuis l’extérieur. Pour cela, il faut rediriger le port 1723 en TCP vers votre Raspberry Pi. Cela se passe sur votre routeur ou box.

Une fois terminé, il faut configurer la connexion VPN sur votre PC ou téléphone mobile.

Je ferais plus tard un article complet expliquant comment faire.

Enjoy !

Si vous avez des questions ou problèmes, n’hésitez pas à réagir en commentaires à ce tuto. Je ferais en sorte de pouvoir vous aider.

[Tuto Geek] Installer un serveur VPN PPTP sur Raspberry Pi
Tagged on:                         

12 thoughts on “[Tuto Geek] Installer un serveur VPN PPTP sur Raspberry Pi

  • trop de termes techniques pour le débutant que je suis.j’espère d’ici là me mettre au pas afin de mieux comprendre ce qu’est le serveur VPN

  • Bonjour,

    est ce qu’il possible du coup de créer une connexion VPN Site-To-Site ou bien seulement Client-To-Site avec cette méthode ?

    Merci,

    Vincent

  • bonjour,

    je voudrais savoir si l’on peut faire son serveur VPN avec OpenVpn en utilisant Raspberry sans problème. Aussi le tutoriel pour utiliser OpenVpn à cet effet.

    Merci

    1. Je n’ai pas testé mais je pense que cela devrait pouvoir se faire.
      Je me renseigne et si cela est possible, je teste et je fais un artcile dans la foulée
      Je vous tiens au courant 😉

    2. Mais bien sûr. Je fais tourner un serveur OpenVPN avec la clé de 4096 bits. Il y a pleins tutoriels à ce sujet

  • Super tuto, il y’a juste quelque chose que je n’ai pas compris : « Attention de bien rentrer des IP ne faisant PAS partie de votre range DHCP. », est ce que quelqu’un peut me dire ce que cela signifie

    1. Bonjour Pierre,
      Le serveur DHCP distribue automatiquement les adresses IP aux clients qui se connectent au réseau local (en filaire comme en wifi). Pour cela, on le configure en lui indiquant, entre autres, les plages (« ranges » en anglais) d’adresses pouvant être distribuées.
      La phrase que vous citez signifie qu’il faut indiquer au serveur VPN de fournir aux clients extérieurs qui souhaitent s’y connecter, des adresses qui NE correspondent PAS aux adresses susceptibles d’être données localement par le serveur DHCP, sous peine de conflit d’adressage.
      En effet, le client VPN va faire « virtuellement » partie du réseau local, il faut donc qu’il possède une adresse IP compatible, ce qui signifie, entre autres, qu’elle doit être unique dans le sous-réseau qui correspond à votre installation domestique.
      En espérant avoir été clair dans la réponse (sinon que quelqu’un n’hésite pas à clarifier !).

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Lire plus :
[News Geek] CyanogenMod 10.1 M2 disponible sous Android 4.2.2

    La sortie de CyanogenMod 10.1 M2 a été annoncée par les équipes de CyanogenMod et est basée sur Android 4.2.2.

Fermer