Créer un serveur VPN sur Raspberry Pi

Pour pouvoir accéder à mon application de domotique depuis Internet sans me soucier de la sécurité, la mise en place d’un serveur VPN peut être la solution idéale. Dans cet article, nous allons voir comment configurer un serveur VPN à l’aide de PiVPN et de No-IP.

No-IP : pour un nom de domaine gratuit

Le serveur VPN sera accessible depuis Internet. Mais pour ça, il faut pouvoir connaître l’adresse IP du routeur sur Internet. Cette information n’est pas forcément très compliqué à retrouver. Cependant, il faudra vérifier régulièrement cette adresse qui peut changer à tout moment ! En effet, les adresses IP globales (sur Internet donc) sont assignées et peuvent être réassigner sans forcément d’indication au préalable. Compliquer alors de se connecter au serveur VPN sans s’en soucier.

Sur Internet, le commun des mortels ne manipule pas du tout les adresses IP elles-mêmes. On n’a pas envie d’écrire dans la barre d’adresse ‘142.250.190.3’ alors que ‘google.fr’ est beaucoup plus simple. C’est cette liaison entre adresse ip et nom de domaine que l’on va paramétrer maintenant, et ce de manière totalement gratuite grâce à NO-IP et les paramètres de votre box.

ATTENTION : des changements sur les paramètres de votre box peut vous rendre vulnérable à des attaques venant d’Internet. Ne suivez pas le tutoriel si vous ne savez pas ce que vous faites. Je ne pourrais pas être tenu pour responsable pour d’éventuels dommages.

  • Créez vous un compte sur www.no-ip.com
  • Choisissez un nom de domaine
  • Ouvrez les paramètres de votre box et effectuer un enregistrement DynDNS
  • Vérifiez sur no-ip que la mise à jour s’est correctement effectuée

Créer un compte sur www.no-ip.com puis créer un nom de domaine

Enregistrement DynDNS sur la box internet (ici avec une Bbox)

Vérifier sur No-IP que la mise à jour est correcte

C’est bon ? Parfait ! Alors tout est prêt pour configurer votre serveur VPN sur votre Raspberry Pi !

PiVPN : paramètrage du serveur

PiVPN est un outil open source qui facilite la configuration d’un serveur VPN sur un Raspberry Pi. Il utilise le protocole OpenVPN pour établir une connexion VPN sécurisée entre votre appareil distant et votre réseau local.

La première étape consiste à installer PiVPN sur votre Raspberry Pi. Pour cela, ouvrez un terminal et exécutez la commande suivante :

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

Vous serez alors guidé tout au long du processus d’installation. Pendant ce processus, vous serez invité à entrer différentes informations, comme le nom d’utilisateur pour le VPN, le mot de passe, ainsi que le nom de domaine. C’est à ce moment-là que vous pourrez rentrer le nom de domaine précédemment créé avec NO-IP.

Une fois l’installation terminée, vous devez configurer votre routeur pour autoriser le trafic entrant sur le port OpenVPN (1194 par défaut) et rediriger ce trafic entrant vers la Raspberry Pi.
Par exemple, sur une bbox, dans le menu « redirection de port » :

Le protocole UDP doit être appliqué. Les ports peuvent être changés dépendant des informations rentrés lors de la configuration de PiVPN.

Ensuite, vous devez configurer votre client VPN. Pour cela, téléchargez le fichier de configuration du client sur votre appareil distant. Vous pouvez trouver ce fichier en exécutant la commande suivante sur votre Raspberry Pi :

sudo pivpn -a

Une fois le fichier de configuration du client téléchargé, vous pouvez le charger dans votre application VPN (j’utilise personnellement le client OpenVPN). Dans l’application, vous devrez entrer le nom d’utilisateur et le mot de passe que vous avez définis pendant l’installation de PiVPN.

Pour terminer, si vous rencontrez des problèmes de connexion VPN, vous pouvez exécuter la commande suivante pour afficher les détails de débogage et vous aider à résoudre les problèmes :

sudo pivpn -d

Cela m’a notamment aider à résoudre un problème qui m’empêchait d’accéder à Internet une fois connecté à mon serveur VPN.

Le lien avec mon application MaisonPaul

Maintenant que mon serveur VPN est prêt, je peux maintenant utiliser mon application pour monitorer la température de ma maison sans avoir besoin d’être directement connecté sur ma box internet !

Laisser un commentaire

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

Retour en haut