Comment créer un serveur VPN avec Raspberry Pi

Publié: 2022-01-29

Lorsque vous pensez à un VPN, vous pouvez imaginer un service d'abonnement qui tunnelise votre trafic Internet via un serveur situé ailleurs dans le monde. Cependant, ces services ne sont pas le seul moyen de chiffrer votre activité en ligne.

Les services VPN en un clic peuvent être formidables, et nous vous recommandons quelques VPN si vous souhaitez une solution simple et prête à l'emploi. Ce service a cependant un coût : généralement environ 5 à 10 dollars par mois, sans parler de faire confiance à celui qui est à l'autre bout. Pour une option moins chère que vous contrôlez, vous pouvez configurer un serveur OpenVPN sur un Raspberry Pi (ou certains routeurs) et utiliser votre propre connexion Internet domestique comme VPN lorsque vous êtes en déplacement.

Sachez que vous ne pourrez pas usurper votre position vers un pays étranger ou cacher votre identité aux regards indiscrets (puisque le trafic semblera provenir de votre connexion Internet domestique habituelle). Cependant, cela vous donnera toujours une sécurité supplémentaire lorsque vous naviguez sur le Wi-Fi public, et c'est plutôt utile lorsque vous avez besoin d'accéder à votre réseau domestique pour, par exemple, réveiller un PC en veille afin que vous puissiez accéder au bureau à distance. C'est bon marché, facile, et ça vaut le coup si vous avez un Pi qui traîne.

Ce dont vous aurez besoin

Pour configurer cela, vous aurez besoin de l'évidence : un Raspberry Pi avec tous les accessoires essentiels, comme une alimentation et une carte SD. Ce guide ne nécessite pas de système d'exploitation particulier ; vous pouvez simplement utiliser Raspbian, alors consultez notre guide du débutant sur le Raspberry Pipour tout ce que vous devez savoir sur la configuration des bases. (Assurez-vous de changer le mot de passe par défaut lorsque vous démarrez le Pi pour la première fois, car il est extrêmement important pour la sécurité, ce qui, après tout, est tout l'intérêt de ce projet.)

Je recommande également d'avoir une souris, un clavier et un moniteur pour cette procédure pas à pas, juste pour la configuration initiale, bien que ce ne soit pas strictement nécessaire. (Vous pouvez vous connecter en SSH à votre Pi pour configurer votre VPN, mais vous devrez peut-être vous reconnecter au milieu du processus, car la modification des paramètres réseau peut entraîner la perte de connexion du Pi.)

Image du Raspberry Pi et des accessoires associés
Tout ce dont vous avez besoin pour transformer Raspberry Pi en serveur VPN

C'est tout ce dont vous avez techniquement besoin, bien qu'il y ait quelques autres choses que je recommande. Tout d'abord, c'est une bonne idée de configurer une réservation DHCP pour votre Raspberry Pi, afin que son adresse IP interne ne change pas avec le temps.

Deuxièmement, je recommande un service DNS dynamique. Pour accéder à votre Pi à distance, vous devrez le faire pointer vers votre adresse IP publique à la maison. Ce n'est pas difficile à trouver, mais cela peut changer de temps en temps, ce qui pourrait casser votre VPN jusqu'à ce que vous le reconfiguriez. Cela est un peu pénible, il est donc plus facile d'utiliser un service DNS dynamique qui vous donne plutôt une adresse facile à mémoriser, qui se met à jour chaque fois que votre adresse IP change.

Vérifiez les paramètres de votre routeur pour voir s'il prend en charge des services DNS dynamiques comme DynDNS ou No-IP - certains d'entre eux sont des abonnements payants, mais d'autres, comme No-IP, sont gratuits pour une utilisation limitée, ce qui devrait parfaitement fonctionner pour nos besoins. Nous n'allons pas parcourir l'intégralité du processus dans ce guide, mais je vous recommande de l'examiner si vous constatez que votre fournisseur d'accès Internet ne cesse de changer votre adresse IP publique et de casser votre VPN.

Comment installer OpenVPN avec PiVPN

OpenVPN est un ensemble de logiciels open source qui vous permet de configurer un VPN sur à peu près n'importe quel type de matériel. Si vous le souhaitez, vous pouvez installer le serveur Linux d'OpenVPN sur votre Pi et modifier manuellement les fichiers de configuration, mais il existe une solution plus simple. PiVPN est un ensemble de scripts open-source qui transforment la configuration d'OpenVPN en un assistant facile à utiliser, donc même si c'est la première fois que vous travaillez avec OpenVPN, vous ne devriez pas avoir trop de mal à le configurer.

Capture d'écran du terminal Windows
Installez PiVPN dans la fenêtre du terminal Windows

Alors démarrez votre Pi, assurez-vous que tous les logiciels sont à jour et ouvrez une nouvelle fenêtre Terminal. L'installation de PiVPN est aussi simple que d'exécuter la commande suivante :

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

Le script prendra quelques minutes pour installer OpenVPN, puis il vous guidera tout au long du processus de configuration. Tout d'abord, il vous informera que PiVPN nécessite une adresse IP statique, afin que vous puissiez facilement accéder à votre serveur VPN lorsque vous êtes en déplacement. Si vous configurez une réservation DHCP, vous pouvez simplement dire Oui lorsque PiVPN vous demande si vous en utilisez un.

Après avoir choisi votre utilisateur (l'utilisateur Pi par défaut convient, sauf si vous souhaitez en utiliser un autre), PiVPN vous demandera si vous souhaitez utiliser WireGuard, un nouveau protocole VPN ou OpenVPN. J'utilise OpenVPN pour ce guide, utilisez donc les touches fléchées pour déplacer le curseur sur OpenVPN, puis appuyez sur Espace pour le sélectionner avant d'appuyer sur Entrée pour continuer.

WireGuard est relativement nouveau et est très prometteur, tandis qu'OpenVPN est plus populaire et largement pris en charge. Si vous voulez essayer WireGuard, vous pouvez en savoir plus ici.

Capture d'écran de PiVPN
Configurez votre VPN avec PiVPN

Pour les prochaines étapes, les paramètres par défaut conviennent à la plupart des utilisateurs. On vous demandera si vous voulez utiliser UDP ou TDP (vous devriez choisir UDP sauf si vous avez une bonne raison de ne pas le faire), quel port vous voulez utiliser (1194 convient à moins que quelque chose d'autre ne l'utilise) et quel Fournisseur DNS que vous souhaitez utiliser (tous conviennent).

Un hic : j'ai constaté que, malgré mon utilisation d'un service DNS dynamique, PiVPN n'accepterait pas mon URL personnalisée. Si vous rencontrez le même problème, dites-lui simplement d'utiliser votre adresse IP publique et vous pourrez la modifier ultérieurement dans le fichier de configuration.

Enfin, les fonctionnalités d'OpenVPN 2.4 valent la peine d'être activées, sauf si vous savez que vous utilisez des applications qui ne les prennent pas en charge. Choisissez le certificat de sécurité recommandé lorsque vous y êtes invité. Les tailles plus grandes garantissent une meilleure sécurité, mais peuvent ralentir les choses et ne sont pas nécessaires pour la plupart des utilisateurs. Activez les mises à niveau sans surveillance et PiVPN installera les packages nécessaires et créera les fichiers de configuration nécessaires.

Enfin, vous pouvez choisir un DNS à utiliser lorsque vous vous connectez à votre VPN. Ignorez l'ajout d'un domaine de recherche personnalisé (sauf si vous savez ce que c'est et souhaitez en utiliser un). Une fois cela fait, vous serez invité à redémarrer votre Pi.

Capture d'écran de PiVPN
Nommez votre client

Après le redémarrage, vous devrez ouvrir une fenêtre Terminal et exécuter :

pivpn ajouter

Donnez un nom au fichier de configuration (j'ai choisi whitson-laptop), définissez combien de jours dure le certificat (la valeur par défaut convient) et entrez un mot de passe de votre choix (assurez-vous qu'il est fort). Il générera un fichier .ovpn pour vous sous /home/pi/ovpns, dont vous aurez besoin pour vous connecter à votre VPN - copiez-le sur votre PC et conservez-le en lieu sûr.

PiVPN recommande de répéter ce processus pour d'autres appareils, donc si vous avez d'autres ordinateurs portables ou téléphones sur lesquels vous souhaitez utiliser ce VPN, réexécutez cette commande pour générer leurs propres fichiers de configuration maintenant.

capture d'écran de l'application Bloc-notes
Remplacez l'adresse IP par votre URL personnalisée

Voici où j'ai dû apporter une modification à mon fichier .ovpn. Si vous utilisez un service DNS dynamique comme moi, ouvrez le fichier dans le Bloc-notes (ou l'éditeur de texte de votre choix) et remplacez votre adresse IP à la ligne 4 par votre URL personnalisée. Si vous rencontrez des problèmes pour vous connecter à votre VPN, c'est la première ligne avec laquelle je jouerais - cela m'a causé des problèmes dans le passé avec un certain nombre de générateurs de configuration OpenVPN.

À partir de là, votre Pi devrait être prêt, mais vous devrez faire encore une chose avant de pouvoir vous connecter : transférer le port de votre VPN sur votre routeur. Ce processus varie d'un routeur à l'autre, mais il se déroule comme suit : vous vous connectez à la page de configuration de votre routeur, recherchez l'option de redirection de port et transférez le port 1194 vers l'adresse IP interne de votre Pi. Vous pouvez trouver des instructions plus détaillées pour des routeurs spécifiques sur portforward.com.

Connectez-vous à votre VPN depuis n'importe où

Vous êtes dans la dernière ligne droite maintenant parce que le reste est super facile. Pour vous connecter à votre VPN lorsque vous n'êtes pas chez vous, vous aurez besoin d'une application VPN, ou "client", capable de se connecter à votre serveur OpenVPN. OpenVPN a un client officiel appelé OpenVPN Connect, qui est disponible sur Windows, macOS, Linux, iOS et Android.

Vous pouvez le récupérer à partir de la page d'accueil d'OpenVPN. Faites simplement défiler vers le bas jusqu'à Démarrer avec OpenVPN Connect et cliquez sur la plate-forme de votre choix. Il existe également des programmes tiers populaires tels que Viscosity (Windows/Mac) et Tunnelblick (Mac) qui offrent des options supplémentaires aux utilisateurs avancés. Vous pouvez voir d'autres clients OpenVPN sur cette page de la communauté OpenVPN.

Capture d'écran d'OpenVPN
Gérez votre VPN avec OpenVPN

Lancez l'application OpenVPN Connect et cliquez sur l'onglet "Fichier" pour ajouter un nouveau profil. Accédez au fichier de configuration que vous avez copié à partir du Pi (encore une fois, le mien s'appelait whitson-laptop.ovpn) et sélectionnez-le. Cliquez sur le bouton Ajouter et vous pourrez vous connecter à votre VPN en activant l'interrupteur à bascule et en saisissant votre mot de passe.

Une fois que vous l'aurez fait, tout votre trafic sera crypté et acheminé via votre connexion Internet domestique où réside le Pi. Votre trafic sera à l'abri des regards indiscrets sur le Wi-Fi de ce café et vous pourrez accéder à toutes les ressources de votre réseau domestique comme si vous y étiez, sans frais d'abonnement.