Tuto - Raspberry Pi - PiVPN

Comment installer un VPN sur son Raspberry Pi ?
PiVPN est un script bash conçu pour simplifier l'installation et la configuration d'OpenVPN ou de WireGuard sur des systèmes basés sur Debian.
Même si le nom indique « Pi », il n’est pas exclusif au Raspberry.

PiVPN permet :
  • Installation simplifiée : PiVPN automatise de nombreuses étapes manuelles.
  • Durcissement de la sécurité : PiVPN configure le serveur avec des protocoles à jour et des normes de cryptage fortes.
  • Facilité d’utilisation : Le script fournit un menu clair et interactif.
  • Polyvalence : PiVPN est compatible avec les systèmes Debian.
  • Mises à jour automatiques : PiVPN prend en charge les mises à niveau sans surveillance.
  • Gratuit et Open-Source


PiVPN en matière de sécurité :
Ses principales caractéristiques de sécurité.
  • Protocole TLS 1.2
  • AES et SHA256 Encryption : PiVPN utilise des algorithmes de cryptage AES forts et de hachage SHA256
  • Unattended Upgrades : Cette fonctionnalité installe automatiquement les mises à jour de sécurité.
  • Configuration du pare-feu
  • Mises à jour régulières : projet actif


Installation PiVPN : un guide étape par étape

C'est une installation, les étapes les plus importantes seront expliquées. Pour les plus simples, un suivant est suffisant !!!

Etape 1 : Prérequis
  • Installation propre du Raspberry Pi
  • Connexion Internet stable
  • Privilège "sudo" sur l'utilisateur faisant l'instalaltion.
Etape 2 :

Faire la mse à jour du Raspberry.
Si vous venez de faire l'installation, vous n'êtes pas obligé de faire cette étape.
Sinon, ouvrez un terminal et tapez.

Commande dans le terminal
$ sudo apt update
$ sudo apt upgrade
$ sudo apt update	
Etape 3 :

Téléchargement et exécution de l'installation PiVPN.
Pour ce faire, une simple commande suffit.

Commande dans le terminal
curl -L https://install.pivpn.io | bash


Etape 4 : Installation
1. Premier point : Ip fixe
Je répète, nous allons voire les points clés.

Dans la page « DHCP Reservation », on doit faire l’attribution d’une Ip fixe pour le Raspberry.
Si le PI n'a pas déjà d'adresse statique, il faut choisir "No" pour "Setup static IP adresse".

Dans l'écran "Static IP Address", l'adresse actuelle vous sera proposée.
Vous pouvez simplement valider l'adresse courante si elle convient.
Pourquoi on a besoin d'une Ip fixe ?
Tout simplement car nous devoir faire une redirection de port depuis votre accès Internet vers une IP.
Il faut que l'IP soit toujours la même.

2. Second point : Le user
Autre point important, il vous sera demandé de faire le choix d'un utilisateur local.
Comme mon Raspberry aura comme seul fonction d'être mon VPN, je conserve mon utilisateur de base. On peut faire la création d’un user spécifique avec les droits sudo.

3. Triosième point : choix du VPN
Après le choix du user, il faut faire le choix du VPN à installer dans la fenêtre "Installation mode".
On a le choix entre OpenVPN et WireGuard.

Le choix réside dans l'approche que vous souhaitez :
  • WireGuard bénéficie d’une intégration native sur Linux (module noyau) et d’applications officielles simples à installer sur les plateformes mobiles et desktop.
  • OpenVPN possède une compatibilité très étendue, notamment sur les routeurs et les environnements où le support natif de WireGuard n’est pas encore présent.

Le choix se porte sur « WireGuard » !!!

4. Quatrième point : les derniers choix
C'est déjà presque terminé !

Nous pouvons sélectionner un port WireGuard.
UDP 51820 est la valeur par défaut.
Cette valeur a été conservé mais on aurait pu choisir n’importe quel autre port disponible.
Le choix d'un autre port augmente un peu la sécurité.

L'assistant nous demandera de choisir un fournisseur DNS pour la résolution de nom.
Le choix est ouvert, et franchement, laissez votre sensibilité parler.

L’assistant veut savoir si nous allons nous connecter à PiVPN en utilisant un nom DNS (FQDN) ou une adresse IP WAN.

Si vous avez la chance d'avoir une IP publique fixe, le choix est fait.

Et là, vous ne croirez peut-être pas mais l’installation est terminée !!!
Félicitations !

Etape 5 : Création des utilisateurs

Dans un terminal, il faut faire la création des utilisateurs.
Il suffit de saisir le nom de la personne pour laquelle créer le fichier de conf.
Il faudra ensuite donner communiquer ce fichier au collaborateur
Les fichiers seront générés dans /home/NomUserPi/configs.

Commande dans le terminal
pivpn -a



Etape 6 : Modification du pare-feu
On va devoir faire la création d’une règle de routage.
PiVPN / WireGuard nécessite un port ouvert via votre pare-feu. Par défaut, le port est UDP 51820 (sauf s’il a été changé).
Chaque routeur/pare-feu aura une option pour transférer votre interface WAN dans votre réseau local.
Etape 6 Bis : info plus

Si l’Ip fixe change pour une raison ou une autre, il suffit de changer le paramétrage dans le fichier de configuration avec la commande.

Commande dans le terminal
$ sudo nano /etc/pivpn/wireguard/setupVars.conf


Quelques commandes utiles :
1. Accès fichier de configuration de wireguard :
  • Commande générale : sudo nano /etc/pivpn/wireguard/setupVars.conf
  • Vous pouvez agir sur la configuration générale.
  • Nota : il faudra faire la régénération des conf.


2. Commande de base de PiVPN :
Toutes les commandes s’exécutent dans un terminal et sont préfixées par pivpn.
Ex. : pivpn -a => pour ajouter un profil utilisateur
  • -a : Création d’un fichier de conf pour un profil client
  • -c : Listez tous les clients connectés au serveur
  • -d : Commencez une session de débogage
  • -l : Listez tous les clients
  • -qr : Affichez le qrcode d'un client pour l'utiliser avec l'application mobile
  • -r : Supprimer un client
  • -up : Mises à jour Scripts PiVPN
  • -bk : Sauvegarde des configurations VPN et des profils utilisateurs
  • -h : Affiche l’aide
  • -u : Désinstallez le pivpn de votre système !