Vous découvrirez dans cet article un tuto pour mettre en place un serveur VPN à partir d’un Raspberry Pi en utilisant le logiciel OpenVPN. Je vous expliquerai également comment vous assurer que votre connexion soit aussi sûre que possible en mettant en place des clés de cryptage.
Ce projet peut être un peu long, mais c’est un tutoriel relativement simple à suivre, et il ne devrait pas nécessiter d’interaction supplémentaire une fois qu’il a été configuré.
L’utilisation d’un Raspberry Pi est un moyen bon marché de mettre en place un réseau privé virtuel (VPN) qui peut rester en ligne 24 heures sur 24 et 7 jours sur 7 sans consommer une grande quantité d’énergie. Le Raspberry Pi est suffisamment petit et puissant pour gérer quelques connexions à la fois, ce qui en fait un outil idéal pour une utilisation privée à la maison.
Les VPN sont un outil réseau incroyablement utile qui peut vous permettre d’accéder à un trafic internet crypté et sécurisé, même lorsque vous utilisez un réseau Wi-Fi public. Mais vous pouvez aussi l’utiliser pour vous connecter à votre propre ordinateur et accéder au réseau domestique. Il permet à vos autres appareils situés en dehors de votre réseau local d’agir comme s’ils étaient sur le réseau local du serveur VPN. Par exemple, si vous disposez d’un serveur NAS auquel vous souhaitez accéder lorsque vous êtes en déplacement, un serveur VPN sera extrêmement utile pour sécuriser l’accès à ce serveur.
Ce qu’il vous faut pour fabriquer votre propre serveur VPN
Vous trouverez ci-dessous tous les éléments que j’ai utilisés pour ce tutoriel sur le serveur VPN Raspberry Pi. Il n’y a rien de bien spécial au delà du matériel de base.
Un Raspberry (fonctionne avec tous les modèles de Raspberry, même le Pi zero)
Une carte micro SD (minimum 8 Go)
Un cable internet ou un adaptateur Wifi (pour les Raspberry n’ayant pas le Wifi)
Un boitier Raspberry (optionnel)
Un clavier et une souris USB (optionnel)
Préparer le Raspberry Pi
Avant de commencer à configurer le serveur VPN Raspberry Pi, il y a quelques points à vérifier pour s’assurer que vous êtes prêt à le configurer et à l’utiliser.
Tout d’abord, pour ce tutoriel, il est important de savoir que j’utilise une version propre de Raspbian. Si vous ne l’avez pas encore installé et que vous souhaitez apprendre à le faire, vous trouverez de nombreux tutos en ligne sur l’installation de Raspbian sur un Raspberry.
Pour commencer, assurez-vous que vous avez réellement besoin d’un VPN avant de commencer à le configurer, car il peut servir de passerelle vers votre réseau domestique.
Si vous avez l’intention d’utiliser un VPN, assurez-vous que tous les ordinateurs de votre réseau domestique sont sécurisés et que vous ne partagez rien au sein de votre réseau local auquel vous ne voudriez pas que quelqu’un accède.
Préparer l’adresse IP de votre serveur VPN
Il est important de décider si vous allez utiliser une adresse IP statique ou une adresse IP dynamique. La mise en place d’un VPN pour une adresse IP statique est un processus assez simple et ne nécessite pas de travail supplémentaire.
Cependant, si vous voulez utiliser une adresse IP dynamique, vous devez configurer le DNS dynamique au préalable. Vous devrez alors décider si vous souhaitez utiliser votre propre nom de domaine ou un nom de domaine gratuit. Si vous voulez utiliser votre propre nom de domaine, vous pouvez utiliser un service comme CloudFlare. Si vous voulez utiliser un sous-domaine gratuit, un service comme no-ip.org vous sera utile.
Rappelez-vous le nom de domaine que vous avez configuré pour l’un ou l’autre des éléments suivants Cloudflare ou no-ip.org car vous en aurez besoin plus tard dans le tutoriel.
Transfert de port pour votre Raspberry Pi VPN
La troisième chose importante que vous devrez faire avant de commencer à configurer votre Raspberry Pi est de rediriger le port pour le logiciel OpenVPN.
Le port par défaut que vous devez rediriger est 1194
. N’oubliez pas le port que vous avez défini car vous en aurez besoin plus tard dans le tutoriel. Le protocole que vous devrez utiliser pour ce port est le suivant UDP
.
Installation du serveur VPN
1. La configuration d’un serveur VPN Raspberry Pi peut être un processus assez compliqué, normalement vous devez installer le logiciel, générer les clés de cryptage, ajouter le port au pare-feu, configurer le Pi pour qu’il conserve une adresse IP statique et bien d’autres choses encore.
Heureusement pour nous, il existe un moyen beaucoup plus simple de configurer un serveur VPN Raspberry Pi grâce à un script d’installation appelé PiVPN, qui s’occupe de tout le travail de mise en place d’un VPN et réduit les risques d’erreur.
Avant de commencer, nous devons d’abord changer le mot de passe de l’utilisateur pi par défaut, ceci afin de s’assurer que si quelqu’un réussit à accéder à votre VPN, il ne sera pas en mesure d’accéder facilement à votre Raspberry Pi.
passwd
2. Une fois le mot de passe modifié, nous pouvons commencer à configurer notre serveur VPN sur le Raspberry Pi. Nous pouvons commencer ce processus en exécutant la commande ci-dessous, cette commande télécharge le script d’installation depuis la page GitHub de PiVPN et l’exécute.
Normalement, exécuter un script directement à partir d’une URL n’est pas une bonne idée, car cela peut être un moyen facile pour quelqu’un d’accéder à votre Raspberry Pi et de faire de sérieux dégâts.
Cependant, il s’agit d’une source fiable que nous avons vérifiée, si vous voulez vérifier le code vous-même, allez simplement à l’emplacement du script.
curl -L https://install.pivpn.io | bash
3. Une fois que vous avez exécuté la commande ci-dessus, l’écran suivant devrait s’afficher. Cet écran contiendra un texte vous indiquant que vous êtes sur le point d’installer OpenVPN.
Pour passer à l’écran suivant, vous devez appuyer sur la touche ENTRER.
4. L’écran suivant explique que vous devez configurer une adresse IP statique pour votre VPN.
Ainsi, lorsque le Raspberry Pi est redémarré, il essaiera d’utiliser la même adresse IP. Si l’adresse IP locale change, vous pouvez potentiellement perdre l’accès à votre VPN.
5. Il vous sera maintenant demandé si vous utilisez une réservation DHCP sur votre routeur.
Si vous ne savez pas ce qu’est la réservation DHCP ou comment l’utiliser, sélectionnez <No>
pour continuer.
6. Sélectionnez ici <Yes>
pour définir l’adresse IP et la passerelle actuelles comme statiques.
Si vous n’êtes pas satisfait de l’adresse IP affichée sur cette page, sélectionnez <No>
.
7. Cet écran vous avertit qu’il est possible que votre routeur attribue l’adresse IP à un autre appareil.
Vous pouvez utiliser les réservations DHCP pour éviter ce problème. Toutefois, la plupart des routeurs sont suffisamment intelligents pour éviter ce problème.
Pour continuer, sélectionnez <Ok>
et appuyez sur la touche ENTRER.
8. Cet écran explique que nous devons définir un utilisateur qui sera propriétaire des fichiers de configuration OpenVPN.
Sélectionnez <Ok>
et appuyez sur ENTRER pour passer à l’écran suivant.
9. Une liste d’utilisateurs pouvant posséder les fichiers de configuration VPN de notre Raspberry Pi nous est présentée.
Dans ce tutoriel, nous utiliserons l’option pi
. Si vous souhaitez utiliser un autre utilisateur, utilisez les touches FLÈCHES et BARRE D'ESPACE pour le sélectionner.
Une fois que vous êtes satisfait de votre sélection, appuyez sur la touche ENTRER pour continuer.
10. Il vous est maintenant demandé de sélectionner le type de VPN que vous souhaitez installer sur votre Raspberry Pi.
Les deux choix sont WireGuard et OpenVPN.
Pour ce guide, nous utiliserons OpenVPN sur notre Raspberry Pi (1.). Utiliser les FLÈCHES et la BARRE D'ESPACE pour le sélectionner.
Une fois que vous avez sélectionné OpenVPN
, appuyez sur la touche ENTRER pour continuer (2.).
10. Vous pouvez maintenant décider si vous souhaitez personnaliser l’installation d’OpenVPN sur votre Raspberry Pi.
Les paramètres choisis par l’équipe PiVPN sont les meilleurs pour la plupart des utilisateurs. Cependant, vous pouvez les modifier si vous le souhaitez.
Pour notre guide, nous allons nous en tenir aux paramètres par défaut.
Pour continuer, sélectionnez <No>
puis appuyez sur la touche ENTRER.
11. Nous allons maintenant sélectionner le port par lequel OpenVPN fonctionnera.
Pour ce tutoriel, nous allons nous en tenir au port par défaut de 1194
. Vous ne devez modifier le port que si vous avez une bonne raison de le faire.
Une fois le port défini, sélectionnez <Ok>
et appuyez sur ENTER.
14. Il vous sera demandé de confirmer le port que vous avez défini pour votre installation OpenVPN.
Si vous êtes satisfait du port que vous avez choisi, sélectionnez <Yes>
pour continuer.
15. L’étape suivante consiste à sélectionner un fournisseur DNS. Un fournisseur DNS est celui qui résout une URL telle que https://monserveurnas.com
en une adresse IP.
Dans notre guide, nous utiliserons les serveurs DNS de Cloudflare. Cloudflare efface ses journaux toutes les 24 heures et ne suit pas l’adresse IP de la requête.
Pour sélectionner Cloudflare ou un autre fournisseur de DNS, vous devez utiliser les FLÈCHES (1.).
Une fois que vous avez survolé le fournisseur DNS que vous souhaitez, appuyez sur la touche BARRE D'ESPACE pour le sélectionner.
Lorsque vous êtes sûr d’avoir fait le bon choix, vous pouvez appuyer sur la touche ENTRER pour continuer.
16. Vous devrez décider si vous voulez utiliser votre adresse IP publique ou un nom DNS.
Si vous utilisez une adresse IP dynamique, nous vous recommandons d’utiliser l’option de nom DNS public. Comme nous utilisons une adresse IP publique statique, nous nous contenterons d’utiliser notre adresse IP publique pour ce guide.
Vous pouvez passer d’une option à l’autre en utilisant les FLÈCHES . Une fois que vous avez trouvé celui que vous voulez, appuyez sur la BARRE D'ESPACE pour le sélectionner.
17. Cette étape suivante vous explique simplement que le script PiVPN est sur le point de générer la clé HMAC et la clé du serveur.
Ces clés font partie de la partie cryptée du VPN de votre Raspberry Pi.
Appuyez sur le bouton ENTRER pour continuer le guide.
18. Nous allons maintenant vous présenter une explication simple des mises à niveau automatiques.
Cette fonction permet au système d’exploitation Raspberry Pi de télécharger automatiquement et quotidiennement des mises à jour de sécurité.
Appuyez sur le bouton ENTRER pour passer à la page de configuration de ce paramètre.
19. Sur cet écran, nous vous recommandons vivement d’activer les mises à jour automatiques en sélectionnant <Yes>
. En activant cette option, vous vous assurez que votre Raspberry Pi dispose toujours des dernières mises à jours.
Le fait de laisser cette fonction désactivée peut poser un risque de sécurité important pour le VPN de votre Raspberry Pi et potentiellement pour votre réseau domestique.
Une fois cela fait, appuyez sur le bouton ENTRER pour confirmer vos réglages.
20. Vous avez maintenant terminé l’installation d’OpenVPN sur votre Raspberry Pi.
Bien qu’il reste encore quelques éléments à compléter pour permettre les connexions, vous avez maintenant parcouru environ 90 % de ce guide d’installation.
21. Nous allons maintenant être accueillis par un écran nous demandant de redémarrer le Raspberry Pi.
Sélectionnez l’option <Yes>
dans les deux écrans suivants en appuyant sur la touche ENTRER.
Le redémarrage de votre Raspberry Pi après l’installation d’OpenVPN est une étape cruciale.
Configurer le premier utilisateur OpenVPN
1. Normalement, configurer un utilisateur pour OpenVPN serait un processus pénible car vous devriez générer les certificats individuels pour l’utilisateur, heureusement nous pouvons le faire en une seule commande grâce à PiVPN.
Pour commencer à ajouter l’utilisateur, exécutez la commande suivante :
sudo pivpn add
Sur cet écran, vous devrez saisir un un nom pour le client, et ce nom servira d’identifiant pour que vous puissiez différencier les différents clients.
Il vous demandera également de définir un mot de passe pour le client, et il est important que ce mot de passe soit sûr et difficile à deviner, car il permettra de sécuriser la clé de cryptage.
Ainsi, si quelqu’un peut facilement deviner le mot de passe, cela réduit considérablement la sécurité de votre VPN.
Une fois que vous aurez appuyé sur la touche Entrée, le script PiVPN demandera à Easy-RSA de générer la clé privée RSA 2048 bits pour le client, puis de stocker le fichier dans le dossier /home/pi/ovpns
.
/home/pi/ovpns
est le dossier auquel nous devrons accéder dans les prochaines étapes pour pouvoir copier le fichier généré sur nos appareils.
Veillez à conserver ces fichiers en lieu sûr, car ils constituent votre seul moyen d’accéder à votre VPN.
2. Maintenant que notre nouvelle client a été configuré pour OpenVPN avec notre phrase de passe, nous devons maintenant l’envoyer à l’appareil à partir duquel nous avons l’intention de nous connecter.
La façon la plus simple de le faire est d’utiliser SFTP à partir de votre réseau domestique.
Assurez-vous d’avoir installé un programme tel que FileZilla qui peut gérer les connexions SFTP avant de poursuivre ce tutoriel.
Pour commencer, connectons-nous à notre Raspberry Pi via SFTP. N’oubliez pas de taper sftp://
devant l’adresse IP de votre Raspberry Pi.
Si vous n’avez pas l’adresse locale de votre Pi, utilisez la commande hostname -I
dans le terminal.
Une fois que vous avez saisi votre adresse IP, votre nom d’utilisateur et votre mot de passe, appuyez sur le bouton de connexion rapide.
3. Une fois que vous avez réussi à vous connecter, nous devons rechercher le fichier ovpns car c’est là que se trouve le fichier dont nous avons besoin.
Une fois que vous avez trouvé le dossier, double-cliquez sur sur celui-ci.
4. Il ne nous reste plus qu’à faire glisser l’élément .ovpn
que vous souhaitez mettre en lieu sûr sur votre ordinateur. Ce fichier contient les données dont nous aurons besoin pour nous connecter au VPN.
C’est aussi le seul moyen pour quelqu’un d’accéder à votre VPN, il est donc très important de garder la phrase de passe et le fichier en sécurité.
Si quelqu’un y accède, il peut potentiellement causer des dommages à votre réseau.
5. Nous disposons maintenant de la .opvn
sur notre appareil, nous pouvons l’utiliser pour établir une connexion avec notre VPN.
Le .opvn
contient tout ce dont nous avons besoin pour établir une connexion sécurisée. Il contient l’adresse web à laquelle se connecter et toutes les données de cryptage nécessaires.
La seule chose qu’il ne contient pas est votre phrase de passe, vous devrez donc la saisir lorsque vous vous connecterez au VPN.
Le client que nous allons utiliser est le client officiel OpenVPN, et vous pouvez l’obtenir sur le site officiel OpenVPN.
Téléchargez et installez ce client, lors de sa première exécution il se minimisera automatiquement dans la barre des tâches, faites un clic droit sur l’icône, puis sélectionnez « Importer un fichier… »
6. Un écran d’explorateur de fichiers s’affiche, dans lequel vous pouvez vous rendre à l’endroit où vous avez sauvegardé le fichier .opvn de tout à l’heure.
Une fois que vous l’avez trouvé, double-cliquez le fichier à importer dans le client OpenVPN.
7. Vous devriez maintenant voir apparaître une boîte de dialogue vous indiquant que le fichier a été importé avec succès dans OpenVPN.
Juste cliquer le « OK« pour continuer.
8. Maintenant clic droit l’icône du client OpenVPN dans la barre des tâches, cette fois-ci cliquez le bouton « Connect« .
9. Le client OpenVPN va maintenant tenter de lire les données situées dans le fichier .opvn
.
Puisque nous avons défini une phrase d’authentification, il vous sera demandé d’entrer la phrase d’authentification que vous avez définie plus tôt dans ce tutoriel.
Une fois que vous êtes certain d’avoir saisi la bonne phrase de passe, cliquez le bouton « OK« .
10. Le client OpenVPN va maintenant tenter de se connecter au serveur VPN de votre Raspberry Pi. Si l’icône OpenVPN devient verte, cela signifie que vous vous êtes connecté avec succès à votre VPN.
Cependant, si l’icône devient jaune et ne redevient pas verte après 60 secondes, cela signifie que quelque chose provoque l’échec de la connexion.
Dans la plupart des cas, l’échec de la connexion est dû à des problèmes de transfert de port. Mon routeur, par exemple, a de nombreux problèmes de transfert de port.
Le plus simple est de googler le numéro de modèle de votre routeur pour essayer de trouver de l’aide sur les problèmes que vous pouvez rencontrer avec la redirection de port.
Certains fournisseurs d’accès à Internet (FAI) bloquent également des ports spécifiques. Il est donc préférable de vérifier que votre FAI ne bloque pas le port que vous prévoyez d’utiliser.
Si vous utilisez un service DNS dynamique, assurez-vous que le service est correctement mis à jour avec votre dernière adresse IP. Si l’adresse IP a changé, mais que le paramètre DNS ne l’a pas fait, la connexion échouera.
Avec un peu de chance, vous avez maintenant un VPN entièrement fonctionnel auquel vous pouvez vous connecter avec succès.
Désinstaller le VPN de votre Pi
1. Si, pour une raison quelconque, vous souhaitez supprimer votre VPN de votre Raspberry Pi, vous pouvez simplement utiliser la commande suivante.
Cette commande utilisera le logiciel pivpn pour désinstaller le tunnel VPN.
sudo pivpn uninstall
J’espère que ce tutoriel vous a montré comment configurer un serveur VPN Raspberry Pi et que vous n’avez rencontré aucun problème. Il s’agit certainement d’un excellent projet pour tous ceux qui souhaitent mettre en place un réseau VPN permanent bon marché.
Ce tuto est issu de Pimylifeup que nous remercions. Si vous avez des commentaires, des conseils ou si vous avez rencontré des problèmes que vous souhaitez partager, n’hésitez pas à laisser un commentaire ci-dessous.