juil
19
2014

Installer un serveur VPN PPTP sur Ubuntu Server

Récemment une célèbre FAI en France à mis a jours sa box pour nous offrir la possibilité de pouvoir établir des connexion VPN depuis notre box.
Cette initiative m’a permis d’utiliser mon VPN sur mon serveur distant afin de pouvoir naviguer sur le net (ou tout autre activité…) sans que l’IP de mon domicile soit visible.

Ce qui est intéressant avec cette fonction c’est que le flux réseau est directement envoyé via le VPN et ce de manière transparente pour l’utilisateur.
C’est donc pourquoi aujourd’hui nous allons voir comment créer un serveur VPN sur Ubuntu Server 14.04 et comment l’utiliser depuis un poste client.

1) Prérequis

- Une machine Linux (Ubuntu/Debian) connecter au net. (Si possible dans un datacentrer c’est nettement mieux au niveau débit.)

- Un accès SSH à la machine afin de pouvoir réaliser les manipulation suivantes.

- 10 minutes de votre vie pour la mise en place :)

2) Installation et configuration du serveur VPN

Le tutoriel suivant est réalisé sous Ubuntu 14.04 si vous utilisez une distribution différente il faudra surement adapter les commandes mais elles seront certainement du même acabit.

Dans un premier temps nous allons installer le logiciel nécessaire pour mettre en place notre VPN.

sudo apt-get install pptpd

Une fois le logiciel installer nous allons modifier 3 fichiers de configuration:

/etc/pptpd.conf (configuration globale du service VPN)
/etc/ppp/pptpd-options (Configuration pour le tunnel VPN)
/etc/ppp/chap-secrets (Configuration des utilisateurs)

Nous allons commencé par le fichier /etc/pptpd.conf
Tout d’abord sauvegardé le fichier d’origine puis créer en un nouveau

sudo mv /etc/pptpd.conf /etc/pptpd.conf.bak &&  sudo touch /etc/pptpd.conf

Maintenant que vous avez un  nouveau fichier vide vous pouvez y insérer la configuration suivante:

# Configuration réseau dans le tunnel VPN
localip 10.0.0.1
remoteip 10.0.0.10-20

# Options pour le protocole PPP
option /etc/ppp/pptpd-options

# Activation des logs
logwtmp

localeip est l’adresse IP qui sera attribuée a votre serveur VPN dans le réseau VPN
remoteip est la plage d’adresse IP qui sera distribuée au clients de votre serveur

Nous allons maintenant nous interresser au fichier /etc/ppp/pptpd-options
Comme précédement nous allons sauvegarder le fichier d’origine pour en créer un nouveau

sudo mv /etc/ppp/pptpd-options /etc/ppp/pptpd-options.bak && sudo touch /etc/ppp/pptpd-options

Editez le votre nouveau fichier et insérer la configuration suivante:

# Source d'authentification
name pptpd

# Configuration des protocoles de chiffrements
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128

# Définition des serveurs DNS
ms-dns 208.67.222.222
ms-dns 208.67.220.220

proxyarp
nodefaultroute
lock
nobsdcomp
novj
novjccomp
nologfd

Enfin nous allons définir les utilisateurs qui seront authorisés a se connecter a votre serveur VPN.
Pour cela éditez le fichier /etc/ppp/chap-secrets de la manière suivante:

# Secrets for authentication using CHAP
# client        server  secret                  IP addresses
utilisateur     pptpd   mot-de-passe            *

Cette configuration permet de définir le nom de l’utilisateur et sont mot de passe

Voila il ne nous reste plus qu’à redémarer le service VPN pour qu’il prenne en compte nos modifications

service pptpd restart

Si vous n’avez pas d’erreur particulière votre nouveau serveur VPN est près à accueillir des clients.

2) Configuration d’un client VPN Windows

Pour vous connectez a votre VPN en utilisant Windows  procédé comme ceci:

Démarrer => Panneau de configuration => Centre Réseau et partage

Sélectionner ensuite « Configurer une nouvelle connexion ou un nouveau réseau »

vpnclient1

 

 Puis sélectionner « Connexion à votre espace de travail »

vpnclient2

Cliquer sur « Utiliser ma connexion internet »

Dans la nouvelle fenêtre qui vient d’apparaître remplissez comme ceci:

Adresse  Internet: Votre adresse IP publique de votre serveur

Nom de la connexion: Le nom que vous souhaitez

Cliquez sur « suivant ».

Dans la nouvelle fenêtre qui vient d’apparaître remplissez comme ceci:

Nom d’utilisateur: le nom de l’utilisateur définit dans le fichier /etc/ppp/chap-secrets

Mot de passe: le mot de passe de l’utilisateur définit dans le fichier /etc/ppp/chap-secrets

Cliquer sur « suivant ».

Voila vous êtes connectez à  votre serveur VPN

vpnclient4

4) Configuration pour utiliser la connexion internet du serveur distant

Actuellement vous pouvez vous connectez au serveur VPN mais vous n’avez pas d’accès internet l’orsque vous êtes connectez dessus.
Pour corriger ce problème procédez comme ceci:

Sur votre serveur éditez le fichier /etc/sysctl.conf et rechercher la ligne suivante:

net.ipv4.ip_forward = 0

et modifier la comme ceci

net.ipv4.ip_forward = 1

Puis entrez la commande suivante pour la prise en compte des nouveaux paramètres:

sysctl -p

Enfins pour terminer il  faut configurer le pare-feu pour qu’il vous redirige le traffic internet dans le VPN.
Pour ce faire entrez les commandes suivantes:

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i eth0 -o ppp0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i ppp0 -o eth0 -j ACCEPT

Si vous êtes sur un serveur virtualisé sous Open-VZ ajoutez ces règles:


 iptables -t nat -A POSTROUTING -j SNAT --to-source <Public Server IP>

Pour sauvegarder vos modification dans le pare-feu entrez la commande suivante:

iptables-save > /etc/default/iptables

Puis éditer le fichier /etc/network/interfaces et ajouté la ligne suivante à la fin du fichier:

pre-up iptables-restore < /etc/default/iptables

Voila vous pouvez maintenant utiliser la connexion internet de votre serveur.
Vous pouvez maintenant connecter tous les périphériques permettant de gérer le protocole PPTP a votre serveur. :)

4 Commentaires+ 1 Commentaire

  • Il y a une coquille  » sur Ubuntu Server 14.04 et comment l’utilisé depuis un poste client. »
    >> comment l’utiliser

    • Merci pour la correction

  • Merci pour ce tuto, intéressant et qui plus est compréhensible et complet.
    Petit problème , impossible pour enregistrer sur http://www.openology.net/simple-install-openvpn/

    Merci

    • Merci pour ce retour.
      Lien corrigé

Laisser un commentaire

*