Linux et les réseaux privés virtuels (VPN)

Configurer un réseau privé virtuel sur Linux :

 

Il y a sans aucun doute une tendance croissante des gens à essayer les systèmes d'exploitation Linux. La motivation pourrait être le fait qu'ils sont gratuits et généralement considérés comme supérieurs à Windows en matière de sécurité et de stabilité. Les personnes qui veulent donner à Linux une chance équitable utilisent généralement des fourches basées sur Debian comme Ubuntu, Linux Mint, etc.

Bien qu'il soit assez facile d'installer certains des logiciels les plus courants comme Skype, les navigateurs Web et les lecteurs de musique en utilisant les dépôts de logiciels, il peut être assez intimidant pour un débutant de configurer un réseau privé virtuel ou d'installer une nouvelle imprimante si elle ne fonctionne pas correctement.

Un VPN est très pratique pour protéger ses informations personnelles, accéder à des contenus géo-limités - par exemple, on peut utiliser un VPN américain pour accéder à des services comme Spotify et Netflix, pour sécuriser sa connexion internet lorsqu'on utilise des réseaux publics non protégés. Cependant, si l'on cherche le bon tutoriel ou si l'on demande de l'aide dans les forums de discussion, on se rendra compte qu'il est assez facile de configurer des chosessur les distributions populaires basées sur Debian. Il existe deux types de solutions VPN, OpenVPN et PPTP VPN. Aujourd'hui, nous allons voir comment mettre en place un VPN avec PPTP sur Ubuntu et ses dérivés.

Si vous connaissez une chose ou deux de Linux, il ne vous faudra que quelques minutes pour mettre en place un VPN. Si vous êtes débutant, arrêtez de vous ronger les ongles, vous vous en sortirez très bien si vous savez suivre les instructions.

Configuration côté serveur

Le serveur sera chargé d'attribuer des adresses IP à toutes les machines clientes du réseau, qu'il s'agisse de clients Linux, Windows ou Mac.

- – 1. La toute première chose à faire est d'installer le paquet PPTP sur votre serveur. On peut simplement utiliser la commande standard "apt-get" pour l'installer. Il est conseillé de mettre à jour les dépôts d'abord. Utilisez les commandes suivantes. L'installation ne prendra que quelques secondes.

sudo apt-get update
sudo apt-get install pptpd

- – 2. Vous devez maintenant éditer le fichier pptd.conf. Le fichier se trouve dans le chemin suivant, "/etc/pptpd.conf".
Si vous disposez d'une interface graphique, vous pouvez le faire avec votre éditeur de texte préféré (par exemple Gedit).

sudo gedit /etc/pptpd.conf

Ou vous pouvez utiliser "nano" pour éditer le fichier directement depuis le terminal.

sudo nano /etc/pptpd.conf

Si vous n'avez jamais utilisé la nano auparavant, vous pouvez aussi consulter cette discussion sur Ask Ubuntu

pour obtenir de l'aide.

- – 3. Vous devez ajouter les deux lignes suivantes à "pptpd.conf".

localip 172.20.0.1
remoteip 172.20.0.100-300

Que font ces lignes ? Le serveur VPN utilisera le localip à l'intérieur du VPN et une adresse IP comprise entre 172.20.0.100 et 300 (par exemple, 172.20.0.120, 172.20.0.124, etc.) sera attribuée aux clients qui se connectent au serveur.

- – 4. L'étape suivante consiste à ajouter de nouveaux utilisateurs. Vous devrez utiliser "nano" ou un éditeur de texte ou Gedit comme vous l'avez fait en éditant le fichier pptpd.config ci-dessus. Le fichier contiendra toutes les informations sur les utilisateurs et sera stocké dans le fichier suivant, "/etc/ppp/chap-secrets".

Modifiez ce fichier pour ajouter de nouveaux utilisateurs. Pour que cela fonctionne, vous devrez entrer certains détails dans le bon ordre. Vous devrez d'abord entrer le nom du client, puis le serveur, le mot de passe et l'adresse IP.

Ainsi, quelques nouveaux clients ajoutés au VPN pourraient ressembler à ceci.

computer1 pptpd mot de passe *
computer2 pptpd password *

Vous pouvez soit utiliser une adresse IP spécifique, mais il est préférable d'utiliser un astérisque, ce qui signifie que toute adresse IP dans la plage attribuée peut être utilisée pour se connecter.

- – 5. Cette étape est facultative, mais il est conseillé d'attribuer un serveur DNS. Il existe plusieurs DNS gratuits, les deux plus populaires étant OpenDNS et le DNS de Google.

Si vous voulez utiliser OpenDNS, vous devez utiliser ces adresses IP 208.67.222.222 & 208.67.220.220. Si vous souhaitez utiliser le DNS de Google, vous devrez utiliser les adresses IP 8.8.8.8 et 8.8.4.4. Pour utiliser OpenDNS, vous pouvez ajouter ces lignes au fichier.

ms-dns 208.67.222.222
ms-dns 208.67.220.220

- – 6. Presque tout est fait du côté serveur. Il est maintenant temps de réveiller le démon. Pour lancer le PPTPD, vous devrez utiliser la commande de terminal suivante.

service pptpd start

- – 7. Vous devez maintenant mettre en place une transmission correcte. Cette fois, vous devrez éditer le fichier "/etc/systl.conf".
Il devrait y avoir la ligne suivante dans ce dossier.

net.ipv4.ip_forward = 1

S'il n'existe pas, copiez-collez le dans le fichier et enregistrez le fichier et mettez-le à jour à l'aide de la commande,

"sysctl -p"

- – 8. Enfin, si vous souhaitez que les clients communiquent entre eux, vous devrez ajouter les règles suivantes.
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE && iptables-save

Dans la règle ci-dessus, vous devrez remplacer "eth0" par la connexion internet utilisée par le serveur. Vous pouvez utiliser les commandes iwconfig et ifconfig pour le déterminer.

# iptables -table nat -append POSTROUTING -out-interface ppp0 -j

# iptables -I INPUT -s 172.20.0.0/20 -i ppp0 -j ACCEPTER

# iptables -append FORWARD -in-interface eth0 -j ACCEPTER

La règle ci-dessus exige également que vous utilisiez la connexion internet correcte comme pour la première règle. Voilà, tout a été configuré du côté du serveur et les clients peuvent désormais se mettre en relation avec le serveur.

Configuration côté client

Le système d'exploitation utilisé par les clients n'a pas vraiment d'importance. Vous pouvez trouver des tutoriels pour configurer Windows et Mac OSX sur Internet. Il existe même des services comme Switch VPN, qui peuvent vous aider à connecter votre appareil Android au serveur VPN assez facilement. Cependant, nous allons voir ici comment on peut facilement configurer un client basé sur Debian pour le VPN.

- – 1. Le client doit avoir installé pptp. Nous avons déjà effectué cette étape sur le serveur. Il vous suffira de la refaire sur vos clients avec les commandes de terminal suivantes sur les distributions basées sur Debian.

sudo apt-get update

sudo apt-get install pptp-linux

- – 2. Vous devez maintenant charger le module ppp_mppe, qui pourrait être déclenché avec la commande suivante.

modprobe ppp_mppe

- – 3. Créez le fichier de configuration du client dans le répertoire suivant (/etc/ppp/peers/). Vous pouvez donner à ce fichier le nom que vous voulez. Mais vous devrez vous souvenir de ce nom de fichier pour vous connecter au serveur VPN.

pty "pptp -nolaunchpppd"

nom de l'ordinateur1

mot de passe

nom à distance PPTP

require-mope-128

Si vous avez nommé ce fichier "vpncomputer1", vous devez utiliser la commande suivante pour vous connecter au serveur.

pppd call vpncomputer1

- – 4. Enfin, pour un acheminement correct, vous devrez exécuter la ligne suivante.

ip route add 172.20.0.0/20 dev ppp0

Les étapes ci-dessus peuvent être utilisées plusieurs fois pour ajouter plusieurs clients au serveur.