VPN sur Raspberry Pi 4 avec DuckDns et Livebox

Nous allons voir comment j’ai installé un vpn sur mon RPi4 pour pouvoir accéder à mon réseau depuis l’extérieur.

Rares sont les fournisseurs d’accès internet qui vous permettent d’avoir une adresse IP fixe en permanence. Ainsi pour accéder à son réseau domestique depuis l’extérieur il faudrait connaitre chaque jour (quasiment) sont adresse IP. Heureusement, il existe des services qui permettent de palier cette faiblesse. J’ai choisis DuckDns.org.
Ce service est gratuit et très efficace.

Je ne détail pas le processus pour créer un dns car c’est très simple. Globalement il suffit d’aller sur le site de duckdns.org, se connecter a l’aide de son compte google, twitter, reddit etc… de choisir un nom pour son dns, et il suffira de se connecter avec l’adresse « nom_choisi.duckdns.org ».

L’étape suivante consiste à installer pivpn sur son raspberry pi. Là encore les choses sont assez simples. On commence par récupérer le script d’installation sur le site https://www.pivpn.io/ .
Connectez vous en ssh à votre Rpi

ssh pi@adresse-ip-du-pi

on se connecte en ssh

puis copier coller la ligne suivante:

curl -L https://install.pivpn.io | bash

Cette commande va télécharger et installer le script pour vous.

Il suffit de laisser faire le script qui fera les mises à jour et les installations nécessaires. Personnellement j’ai pris tous les choix par défauts, sauf bien sûr lorsque installateur demande si j’ai une IPfixe auquel cas je choisi l’autre choix. Idem dans le choix des dns je choisis « custom ».

Il conviendra d’avoir, au préalable, fixé une adresse ip fixe à votre raspberry pi. Si vous possédez une livebox c’est très simple. Connectez vous à l’interface de gestion de votre box (pour livebox: 192.168.1.1) et rendez vous dans le menu « Réseau »

Une fois dans le menu réseau, restez dans le 1er onglet, et rendez vous dans la rubrique « Baux DHCP Statiques ».

1- donnez un nom a votre raspberry
2- attribuez lui une adresse ip fixe
3- notez sont adresse Mac pour que la box y associe son adresse IP
4- validez
5- redémarrez la box

Revenons à l’installation du script où globalement vous aurez à valider un certain nombre de choix, essentiellement par défaut.

Après avoir redémarré votre Pi, il faudra rediriger le port 51820 de votre box vers le port 51820 de votre Pi. Ce port est celui utilisé par défaut par Wireguard. La encore c’est très simple.

Vous retournez dans le menu « réseau » de votre livebox, mais cette fois dans le second onglet nommé « NAT/PAT »

1- vous indiquez le nom du service concerné (dans notre cas Wireguard)
2- notez le numéro de port entrant (le port extérieur – 51820)
3- notez le numéro de port interne (encore 51820)
4- indiquez le protocole, dans notre cas UDP
5- Notez l’adresse ip du Pi
6- Laissez « toutes »
7- validez et redémarrez la box

La dernière étape va consister à installer l’application Duck DNS sur le PI.

Allez sur votre compte DuckDNS, et cliquez sur « install »

Choisissez « pi »
juste en dessous, sélectionnez votre nom de domaine dans la liste déroulante et suivez les instructions.
ATTENTION: LORSQU’ON VOUS DEMANDERA VOTRE NOM DE DOMAINE DUCKDNS, IL NE FAUT METTRE QUE LE NOM DE DOMAINE SANS LES MENTIONS « .duckdns.org »
On vous demandera ensuite la valeur de votre token, il s’agit du long chiffre « Token Value » qui se trouve sur votre page d’accueil duckdns.
Voilà, c’est fait.

La dernière étape va consister à paramétrer votre smartphone ou votre PC (celui qui devra se connecter depuis l’extérieur). Pour se faire connectez vous a votre Pi en ssh et tapez simplement la commande:

pivpn add

Entrez un nom pour votre client. Par exemple: Note 20 (si vous vous connectez depuis vtre smartphone Note 20

Pour vous faciliter la vie, pivpn vous propose de générer un qr code à scanner depuis votre smartphone, pour se faire tapez la commande:

pivpn -qr

Choississez votre smartphone dans la liste et photographier le qr code depuis wireguard dans votre smartphone.

Laisser un commentaire

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