Guide d’Installation Facile de WireGuard sur Raspberry Pi

Si vous avez un Raspberry Pi qui tourne la plupart du temps à la maison, configurer un serveur VPN sur celui-ci pourrait être un excellent moyen de garder l’accès à votre réseau local depuis n’importe où dans le monde. Dans cet article, je vais vous montrer comment configurer WireGuard (l’une des meilleures options pour cela) en un temps record.

WireGuard est une solution VPN moderne, sécurisée et performante qui peut être installée sur un Raspberry Pi. La façon la plus simple de le faire est d’utiliser PiVPN, un script qui prend en charge toutes les étapes d’installation et de configuration pour vous.

Ne vous inquiétez pas, je vous expliquerai tout en détail dans ce tutoriel étape par étape. Même si c’est la première fois que vous installez un serveur VPN, vous y arriverez, il suffit de suivre.

À propos, si vous débutez sur Raspberry Pi et que vous souhaitez accélérer les choses (tout en vous amusant), n’hésitez pas à télécharger mon e-book Maitrisez Raspberry Pi en 30 jours. Il s’agit d’un défi de 30 jours dans lequel vous apprendrez une nouvelle compétence chaque jour. Vous économiserez du temps et de l’argent et pourrez enfin profiter de votre Raspberry Pi à son plein potentiel. Je vous offre d’ailleurs 10% de remise aujourd’hui si vous utilisez ce lien !

Définitions : VPNs et WireGuard

Commençons par une brève présentation des termes que j’utiliserai tout au long de ce tutoriel afin de nous assurer que nous sommes sur la même longueur d’onde.

Qu’est-ce qu’un VPN ?

VPN est l’abréviation de « Virtual Private Network » (réseau privé virtuel) et l’idée de base est de fusionner deux réseaux.
Par exemple, les entreprises peuvent l’utiliser pour avoir des employés sur deux sites différents, mais qui utilisent les mêmes ressources depuis le bâtiment principal (comme un partage de fichiers, par exemple).

Avec un Raspberry Pi, on va généralement l’utiliser pour accéder à un réseau distant depuis n’importe où dans le monde. Par exemple, vous pouvez accéder à votre caméra de surveillance ou à la page web de contrôle de votre domotique depuis votre smartphone lorsque vous êtes en déplacement.

WireGuard est le logiciel qui permet de faire fonctionner ce système. Vous aurez la partie serveur fonctionnant sur le Raspberry Pi à la maison et un client sur votre smartphone.

Remarque : Un VPN peut également être utilisé dans l’autre sens : se connecter à Internet via un fournisseur comme NordVPN (en anglais) ou ExpressVPN (en anglais) qui cache vos données dans un tunnel privé. Ce n’est pas le but de cet article, mais vous pouvez lire celui-ci si cela vous intéresse : Les meilleurs fournisseurs de VPN sur Raspberry Pi (je les ai tous testés) (en anglais)

Pourquoi WireGuard ?

WireGuard n’est pas le seul logiciel que vous pouvez utiliser, il y en a d’autres, comme OpenVPN, qui est une autre solution très utilisée. Mais pour simplifier, vous pouvez voir WireGuard comme une mise à niveau d’OpenVPN.

WireGuard est meilleur qu’OpenVPN pour plusieurs raisons : meilleures performances (en particulier moins de latence), configuration plus facile, protocoles plus modernes et plus léger en général. En résumé, WireGuard est plus sûr, plus efficace et plus facile à maintenir qu’OpenVPN.

J’ai une comparaison complète sur le site web si vous voulez plus de détails : Raspberry Pi : OpenVPN vs WireGuard, lequel est le meilleur ? (en anglais)

Téléchargez mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant

J’utilise OpenVPN depuis toujours, au travail et à la maison, et la bonne nouvelle est que passer à WireGuard fut très simple. Ils se ressemblent beaucoup du point de vue de l’utilisateur final, donc même si vous avez l’habitude d’OpenVPN, vous devriez l’essayer.

Rôle de PiVPN

Je ne vais pas mentir, l’installation d’un serveur VPN à partir de zéro peut s’avérer délicate. Pensez à l’installation de n’importe quel logiciel à partir des sources, ajoutez un niveau de complexité dû aux protocoles de sécurité comme le VPN, et la gestion des utilisateurs en ligne de commande, et vous pouvez avoir une idée de ce que je veux dire :-).

Heureusement, nous n’aurons pas à le faire, ne vous inquiétez pas. Il existe un script magique, nommé PiVPN, qui fera le travail à notre place.

PiVPN est un script d’installation qui simplifie l’installation et la configuration de votre serveur VPN. Il fonctionne pour OpenVPN et WireGuard et permet d’installer le serveur et de créer l’utilisateur en un temps record.

C’est un peu comme « raspi-config » avec des menus simples, vous posant une question à chaque fois, et je vous guiderai à chaque étape, donc vous pouvez le faire, ne vous inquiétez pas.

Partie 1 : installation du serveur WireGuard

Pour faciliter la lecture de ce tutoriel, je l’ai divisé en deux parties :

  • Installation du serveur : la partie principale, que vous ne devez faire qu’une seule fois. Vous utiliserez pour cela le script PiVPN, pour installer et configurer WireGuard sur le Raspberry Pi.
  • Installation du client : la partie que vous répéterez pour chaque utilisateur ou appareil qui doit accéder à votre réseau (généralement votre téléphone et/ou votre PC portable).

Commençons par l’installation du serveur.

Conditions préalables pour le serveur

Matériel et logiciel

En ce qui concerne le matériel et les logiciels, vous n’avez besoin de rien de spécial pour cette configuration.
Voici ce que j’utilise :

  • Un Raspberry Pi 4 : Mais n’importe quel modèle devrait convenir. Si vous avez un Raspberry Pi fonctionnant 24 heures sur 24 et 7 jours sur 7 en tant que serveur de fichiers ou quelque chose de ce genre, c’est parfait. Vous n’avez même pas besoin d’en installer un autre.
  • Raspberry Pi OS : Je suis sûr que cela fonctionne avec d’autres distributions. Mais pour information, j’ai testé avec Raspberry Pi OS Lite (64 bits). Assurez-vous d’avoir effectué les mises à jour du système récemment :
    sudo apt update && sudo apt upgrade -y
    Besoin d’aide pour l’installer ? Installer Raspberry Pi OS sur Raspberry Pi.
  • (Facultatif) SSH activé : J’active généralement SSH pour tous les projets, afin de pouvoir tout faire depuis mon PC portable. Mais ce n’est pas obligatoire. Si vous avez un moniteur et un clavier sur le Raspberry Pi, c’est OK. Vous pouvez trouver mon guide SSH pour Raspberry Pi ici si nécessaire.

Si les commandes Linux ce n’est pas trop votre truc, n’hésitez pas à jeter un œil à cet article qui vous explique les commandes qu’il faut absolument connaître. Je vous donne aussi une antisèche à télécharger pour les avoir toujours sous la main !

Réseau

Du côté du réseau, c’est un peu plus délicat.
Tout d’abord, je recommande vivement d’utiliser un câble Ethernet et non une connexion Wi-Fi. Vous aurez généralement de meilleurs résultats en termes de vitesse et de stabilité, ce qui est crucial pour un serveur VPN.

Mais la partie la plus délicate est votre adresse IP publique.
L’adresse IP publique est votre IP lorsque vous naviguez sur le web, celle qui est attribuée à votre routeur par votre fournisseur d’accès à Internet (vous pouvez utiliser cet outil pour connaître votre adresse IP publique actuelle). Nous l’utiliserons pour accéder au serveur VPN depuis l’extérieur.

Le problème est que les adresses IP publiques peuvent être statiques ou dynamiques, selon le fournisseur.
Si votre IP change tous les jours, vous ne pourrez jamais accéder à votre serveur depuis l’extérieur.

Si (comme moi), votre adresse IP publique change régulièrement, vous pouvez utiliser un service comme No-IP pour obtenir un nom de domaine gratuit qui sera redirigé vers votre adresse IP actuelle en temps (presque) réel. J’explique tout dans un article séparé, que vous devriez lire si vous êtes dans ce cas :

Quoi qu’il en soit, obtenez votre véritable adresse IP (si vous savez qu’elle est toujours la même) ou configurez un fournisseur de DNS dynamique comme No-IP avant de continuer, et notez votre nom de domaine quelque part. Vous en aurez besoin plus tard.

Installer PiVPN

Maintenant que le système est prêt, nous pouvons passer à l’installation du logiciel. Comme mentionné précédemment, nous allons exécuter un script nommé « PiVPN » pour cela. Voici les principales étapes de l’installation du serveur WireGuard :

  • Exécutez la commande indiquée sur le site web :
    curl -L https://install.pivpn.io | bash
    Il installera automatiquement toutes les conditions requises et lancera le programme d’installation.
  • Dans la première étape, l’installateur recommande d’utiliser une adresse IP statique pour le Raspberry Pi.
    Comme pour l’adresse IP publique que j’ai mentionnée plus tôt, nous ne voulons pas que le Raspberry Pi change d’adresse IP sur le réseau local tous les jours. Il y a plusieurs façons de procéder (j’ai un article complet sur le sujet ici), mais la solution la plus simple est de laisser l’installateur le faire pour vous.
    Notez cette IP, car vous en aurez probablement besoin pour configurer la redirection de port.
    Il posera également très probablement des questions sur IPv6 et conservera la réponse par défaut (forcer le routage IPv6). En général, je désactive l’IPv6 pour éviter les problèmes.
  • Ensuite, vous devrez choisir l’utilisateur local qui détiendra la configuration, qui est probablement l’utilisateur actuel (et dans la plupart des cas, nous n’en avons qu’un seul sur Raspberry Pi).
    Il suffit donc d’appuyer sur la touche Entrée pour confirmer le choix par défaut.
  • Les étapes intéressantes commencent ensuite, avec le choix entre WireGuard et OpenVPN.
    Si vous lisez ceci, je parie que vous choisirez WireGuard, donc gardez l’option par défaut ici :
  • Vous pouvez ensuite modifier le port par défaut si nécessaire.
    La valeur par défaut est 51820, et à moins que vous n’hébergiez plusieurs serveurs VPN, il n’y a aucune raison de la modifier.
  • Vous pouvez ensuite décider quel fournisseur DNS sera utilisé pour les clients.
    Ce n’est pas très important, il s’agit simplement du serveur DNS que votre client utilisera lorsqu’il tapera « raspberrytips.com » dans un navigateur web. Des serveurs populaires sont listés, comme Quad9, Open DNS ou Google. Tous sont des solutions sérieuses, gardez le serveur par défaut ou choisissez votre serveur préféré dans la liste :
    Il est également possible d’utiliser un serveur DNS personnalisé si vous préférez, ou d’avoir un serveur DNS configuré sur un Raspberry Pi, par exemple.
    Utilisez les flèches vers le haut et vers le bas pour vous déplacer dans la liste et la barre d’espacement pour sélectionner une autre valeur.
  • Dans l’étape suivante, vous devez définir l’adresse IP que vos clients utiliseront.
    Si vous avez une adresse IP publique statique, vous pouvez conserver la valeur par défaut et utiliser votre adresse IP publique actuelle.
    Si ce n’est pas le cas, vous devez suivre les étapes mentionnées dans les prérequis et saisir votre entrée DNS personnalisée.
  • Après cette étape, les clés du serveur sont générées et vous recevez un avertissement concernant les mises à niveau du système.
    Il est recommandé d’activer les mises à jour sans surveillance pour que le serveur soit automatiquement mis à jour.
    Il n’y a pas vraiment de risque, il ne s’agit que de mises à jour de sécurité, donc même si vous hébergez d’autres services sur le Raspberry Pi, vous devriez probablement les activer.

L’installation est maintenant terminée et un redémarrage est recommandé. Faites-le si possible, afin que tous les services soient redémarrés avec la nouvelle configuration.

Si vous disposez d’un pare-feu strict ou si vous devez configurer la redirection de port, c’est le moment de s’en occuper.

Téléchargez mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant

Si vous ne savez pas ce qu’est la redirection de port ou comment la mettre en place, vous pouvez trouver un guide étape par étape à la fin de l’article que j’ai mis en lien précédemment (mise en place de No-IP sur Raspberry Pi, en anglais). Même si vous avez une adresse IP publique statique, vous devez le faire.

En bref, l’idée de la redirection de port est de rediriger le trafic qui arrive sur l’interface externe de votre routeur (sur un port spécifique, comme le port 51820) vers le port du serveur Raspberry Pi WireGuard (51820 par défaut).

Partie 2 : configuration du client VPN

Le plus dur est fait, une fois que le serveur WireGuard est installé, et que le trafic réseau est correctement redirigé, vous pouvez enfin créer la configuration pour vos clients.

Créer une nouvelle configuration client

Peu importe l’appareil ou le système d’exploitation que vous utiliserez pour votre premier client, la commande pour créer un nouvel utilisateur VPN est la même :
pivpn add

Il vous demandera un nom pour ce client et créera l’accès :

Pour chaque nouvel utilisateur, un fichier de configuration est généré, comprenant tous les paramètres (réseau, sécurité et utilisateur). Ce fichier doit être envoyé au système client pour l’installation.

Tous les fichiers sont stockés sur le Raspberry Pi, dans un dossier « configs », créé dans le répertoire personnel de l’utilisateur principal que vous avez choisi lors de l’installation (ex: /home/pat/configs).

Vous pouvez utiliser un client SFTP pour le transférer sur votre ordinateur (J’utilise Termius pour SSH et SFTP) :

Une fois sur votre ordinateur, conservez-le en lieu sûr ou envoyez-le à l’appareil qui utilisera ce profil.

Si vous souhaitez installer WireGuard sur un smartphone, la solution la plus simple que j’ai trouvée est d’envoyer le fichier de configuration par email et de le télécharger sur le téléphone depuis votre boîte de réception.

Installation du client sur un ordinateur

L’installation de WireGuard sur un ordinateur est assez simple, il est disponible pour la plupart des systèmes (Windows, macOS, Linux), et peut être téléchargé depuis la page de téléchargement officielle.

Suivez les instructions de cette page pour l’installer si nécessaire. Par exemple, sous Windows, vous obtiendrez un programme d’installation (il suffit de double-cliquer dessus et de cliquer plusieurs fois sur suivant), tandis que pour Ubuntu, il est disponible directement via APT.

Lorsque vous ouvrez le client pour la première fois, vous verrez une option permettant d’importer un tunnel à partir d’un fichier. Cliquez dessus et sélectionnez le fichier que vous venez de transférer depuis le Raspberry Pi. Tout sera créé pour vous et vous n’aurez plus qu’à cliquer sur « Activate » pour vous connecter :

Pour vos tests, il est préférable d’être sur un réseau différent de celui du Raspberry Pi. Vous pouvez, par exemple, partager la connexion de votre smartphone pour tester comme si vous étiez à l’extérieur.

Installation du client sur un smartphone

Pour installer le client WireGuard sur un smartphone, les étapes sont similaires :

  • WireGuard est disponible sur les deux app stores (iOS et Android).
    Trouvez-le et installez l’application.
  • Démarrez l’application et cliquez sur l’icône « + ».
    Plusieurs options s’offrent à vous pour créer un profil :
    Si vous avez le fichier de configuration sur votre téléphone, vous pouvez simplement l’importer.
    Une autre option consiste à utiliser le code QR, que vous pouvez afficher via SSH sur votre ordinateur et scanner sur votre téléphone :
    pivpn -qr
  • Une fois le profil créé, il suffit d’utiliser le bouton marche/arrêt pour se connecter ou se déconnecter :

    Ce n’est pas si compliqué, n’est-ce pas ?

J’ai testé sur Android, cela peut être légèrement différent sur iOS, mais vous voyez l’idée.

Dans l’ensemble, la mise en place d’un serveur WireGuard sur Raspberry Pi n’est pas si compliquée. Nous avons un script qui fait tout sur le serveur, avec quelques commandes pour gérer le serveur après cela. Et les clients sont faciles à utiliser, même pour les utilisateurs non initiés à la technologie. C’est donc génial !

Téléchargez mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant

Vous voulez discuter avec d'autres passionnés de Raspberry Pi ? Rejoignez la communauté, partagez vos projets en cours et posez vos questions sur le forum (en anglais).

Questions liées

Comment maintenir le serveur WireGuard à jour ?

Le serveur WireGuard est maintenu à jour via le gestionnaire de paquets habituel (apt). Si vous avez activé les mises à jour sans surveillance lors de l’installation, elles se feront automatiquement.

Et en cas de doute, vous pouvez toujours lancer les mises à jour manuellement avec :
sudo apt update
sudo apt upgrade

Comment ajouter d’autres clients WireGuard après l’installation initiale ?

Pour ajouter d’autres clients au serveur WireGuard VPN, la même commande peut être utilisée aussi souvent que nécessaire : pivpn add. Elle créera un nouveau fichier de configuration dans le dossier « /configs/ », qui peut être utilisé par ce client pour accéder au VPN.

Comment vérifier qui est connecté à mon serveur VPN WireGuard ?

Les administrateurs peuvent voir quels clients sont connectés au serveur WireGuard VPN en utilisant cette commande :
pivpn -c

Cette commande dresse la liste des clients connectés, de leur temps de connexion et de leur consommation de données.

Comment supprimer l’accès à un client WireGuard ?

Pour supprimer l’accès d’un client au serveur WireGuard VPN, vous pouvez utiliser :
pivpn -r

Vous obtiendrez une liste des clients existants et pourrez entrer leur ID ou leur nom pour supprimer le profil. Après cette opération, le client ne pourra plus se connecter à ce serveur.

Téléchargez mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant

Ressources supplémentaires pour votre Raspberry Pi

Initiation au Raspberry Pi en vidéo
Si vous débutez et voulez passer rapidement à la vitesse supérieure, j’ai exactement ce qu’il vous faut.
Regardez ma formation vidéo qui vous aidera à démarrer du bon bien, choisir votre matériel, installer les meilleures applications et vous lancer directement dans vos premiers projets avec mon aide.
Regarder les vidéos dès maintenant

Maîtrisez votre Raspberry Pi en 30 jours
Vous avez besoin de plus ? Si vous êtes à la recherche des meilleures astuces pour devenir expert sur Raspberry Pi, ce livre est fait pour vous. Développez vos compétences sous Linux et pratiquez via de nombreux projets en suivant mes guides étape par étape. 10% de remise aujourd’hui !
Télécharger le livre au format PDF ici

Maîtrisez Python sur Raspberry Pi
Pas besoin d’être un génie pour coder quelques lignes pour votre Raspberry Pi.
Je vous apprends juste ce qu’il faut sur Python afin de réaliser n’importe quel projet. La seconde partie du livre est d’ailleurs consacrée à des exemples de projets où je vous guide pas à pas.
Ne perdez pas de temps, apprenez le strict nécessaire et économisez 10% avec ce lien :
Télécharger maintenant

Autres ressources pour profiter de votre Raspberry Pi
J’ai regroupé toutes mes recommandations de logiciels, sites utiles et de matériel sur cette page de ressources. Je vous invite à la consulter régulièrement pour faire les bons choix et rester à jour.
Visiter les pages ressources


Ce tutoriel ne marche plus à 100%? Prévenez-moi pour que je le mette à jour!

Publications similaires

Laisser un commentaire

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