Aller au contenu
Korben, roi d’internet, logo bébé avec des lunettes en mode thug life

PiVPN – Pour transformer un Raspberry Pi en serveur OpenVPN

Si vous voulez vous installer un petit serveur OpenVPN à la maison et utiliser votre connexion perso pour y faire transiter vos paquets en toute sécurité, c’est possible grâce à un Raspberry Pi, une petite carte SD d’au moins 8GB et le script PiVPN.

Pour procéder à l’installation, connectez vous en ssh sur votre Raspberry Pi. Sous Raspbian, il faut faire :

ssh pi@ADRESSE_IP

Et utiliser comme mot de passe : raspberry

En passant, je ne sais pas si vous avez vu mais l’hébergeur Hostinger propose des offres super intéressantes en matière d’hébergement web. C’est pas trop cher pour démarrer et s’auto-héberger. (Lien affilié)

Ensuite, lancez la commande suivante qui aura pour effet de télécharger et lancer le script PiVPN.

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

Schéma d'installation de PiVPN sur un Raspberry Pi

Ça va faire quelques mises à jour…

Capture d'écran de la configuration de PiVPN pour une utilisation avec un client Android

Puis ça va vous expliquer ce qui se passe et vous poser quelques questions.

Capture d'écran de l'interface web de PiVPN

PiVPN vous indique que ça va utiliser l’adresse IP attribuée via DHCP par votre routeur ou votre box.

Logo de Raspberry PiCapture d'écran de l'interface de ligne de commande de PiVPNPuis on vous demandera de choisir un utilisateur local qui gérera toutes les configs OpenVPN. Ici, je n’en ai qu’un et c’est le user « pi ».

Schéma de connexion à un serveur OpenVPN
Capture d'écran de la configuration du DNS de PiVPN

Et puis on enchaine sur une mise à jour de patchs de sécurité.

Schéma de configuration de l'authentification à deux facteurs avec PiVPN

Optez ensuite pour l’UDP concernant le protocole :

Capture d'écran de l'ajout d'un utilisateur à PiVPN

Vous pouvez changer le port du serveur OpenVPN mais par défaut c’est 1194. Pensez aussi à l’ouvrir sur votre box ou routeur si cela est filtré.

Schéma de configuration de la redirection de port avec PiVPNEt là, il faut choisir le niveau de chiffrement utilisé par OpenVPN… Plus le chiffre est élevé, plus le chiffrement sera dur à casser.

Schéma d'installation de PiVPN sur un Raspberry Pi

Le script PiVPN va alors générer les certificats de chiffrement…

Capture d'écran de la configuration de PiVPN pour une utilisation avec un client AndroidCapture d'écran de l'interface web de PiVPN

Concernant la génération des paramètres Diffie Hellman, cela peut prendre beaucoup de temps à faire sur le Raspberry Pi. On parle de plusieurs heures. Évidemment, si vous n’êtes pas pressé, c’est ce que je vous recommande (choisir « No »). Mais si vous voulez aller plus vite, PiVPN vous propose de récupérer des paramètres générés aléatoirement sur un serveur public (choisir « Yes »). À vous de voir…

Logo de Raspberry PiUne fois que c’est fait, on vous demandera si les clients vont se connecter en utilisant l’adresse IP publique de votre Raspberry Pi ou un nom de domaine (référencé sur DNS public)

Capture d'écran de l'interface de ligne de commande de PiVPNPuis vous devrez choisir vos serveurs DNS… Ceux de Google, d’OpenDNS, de Level3…etc. Ou choisissez Custom pour mettre les vôtres. Par facilité pour ce tuto, j’ai choisi OpenDNS.

Schéma de connexion à un serveur OpenVPNVoilà, la config est terminée. À ce moment, le script PiVPN nous indique une commande pour créer des profils pour pouvoir se connecter. On va donc s’en servir…

Capture d'écran de la configuration du DNS de PiVPN

…mais avant, on a besoin de redémarrer le Raspberry Pi !

Schéma de configuration de l'authentification à deux facteurs avec PiVPNUne fois que c’est redémarré, reconnectez-vous via SSH à votre Rpi. Vous pouvez pour plus de sécurité changer aussi le mot de passe par défaut avec la command « passwd ».   Capture d'écran de l'ajout d'un utilisateur à PiVPN

Lancez ensuite la commande

pivpn add

Pour créer un nouveau profil de connexion à votre serveur OpenVPN. Donnez-lui un nom d’utilisateur, un mot de passe et paf, une clé sera générée et un fichier USERNAME.ovpn sera placé dans le dossier /home/pi/ovpns

Schéma de configuration de la redirection de port avec PiVPNCe fichier *.ovpn est très important, car il contient les clés nécessaires à un client OpenVPN pour se connecter à votre serveur. Vous devez donc le copier et le transmettre aux appareils qui ont besoin de se connecter à votre serveur OpenVPN.

Schéma d'installation de PiVPN sur un Raspberry PiPar exemple, sous Android, vous pouvez télécharger et installer le client suivant et y importer ce fichier .ovpn. Il ne vous sera alors demandé uniquement votre mot de passe et la connexion s’établira.

Ensuite pour la gestion, vous pouvez utiliser les commandes suivantes :

pivpn clients (pour afficher les clients connectés)

pivpn list (pour afficher les certificat valides et révoqués)

pivpn revoke (pour révoquer un certificat précis)

et

pivpn uninstall (pour désinstaller pivpn)

Et voilà ! Trop facile !


Les articles du moment