By Walid ETTAYEB

Les VPN auto-hĂ©bergĂ©s sont un outil extrĂȘmement utile lorsqu'il s'agit d'avoir un homelab. Que vous soyez dans un cafĂ© et sur un rĂ©seau wifi public, comme c'est mon cas en ce moment, et que vous souhaitiez crĂ©er un tunnel sĂ©curisĂ© vers votre propre rĂ©seau avant d'accĂ©der Ă  un site plus sensible, ou mĂȘme que vous souhaitiez simplement ĂȘtre capable de vous connecter Ă  certains des serveurs que vous hĂ©bergez, sans avoir Ă  exposer le SSH au monde entier, un VPN auto-hĂ©bergĂ© fera le travail et le fera bien.

En faisant des recherches sur la façon dont je voulais configurer mon VPN, je suis tombĂ© sur PiVPN, un outil simple qui vous permet d'ĂȘtre opĂ©rationnel avec une connexion Wireguard ou OpenVPN. Bien que son nom indique qu'il est destinĂ© Ă  ĂȘtre exĂ©cutĂ© sur un Raspberry Pi, il n'est pas limitĂ© Ă  cette sĂ©rie particuliĂšre d'appareils.

Prérequis

Avant de commencer le processus d'installation, vous devrez décider sur quel appareil vous souhaitez héberger votre VPN et configurer les rÚgles de transfert de port pour celui-ci.

Wireguard fonctionne traditionnellement sur le port 51820 et OpenVPN fonctionne gĂ©nĂ©ralement sur le port 1194, mais vous ĂȘtes libre de choisir votre propre port inutilisĂ© pour faire fonctionner le VPN.

Installation

Maintenant que vous avez configurĂ© votre rĂšgle de transfert de port (NAT), vous ĂȘtes prĂȘt Ă  commencer le processus d'installation de PiVPN.

Pour commencer, visitez https://www.pivpn.io/ et récupérez la commande suivante :

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

AprÚs avoir exécuté la commande curl, vous verrez apparaßtre une interface utilisateur qui ressemble à ceci :

AprÚs avoir cliqué sur "Ok" sur l'écran précédent, vous serez averti que votre PiVPN doit fonctionner sur un serveur avec une adresse IP statique, plutÎt que dynamique. Comme nous avons mis en place une rÚgle de transfert de port spécifiquement pour une adresse IP, si l'IP du serveur change, le VPN cessera de fonctionner.

Ensuite, il vous sera demandé de sélectionner l'utilisateur du serveur sous lequel vous souhaitez installer le service. Pour ce serveur de démonstration, je n'ai configuré qu'un seul utilisateur.

Maintenant, vous serez invitĂ© Ă  choisir entre les deux options VPN diffĂ©rentes : Wireguard ou OpenVPN. Personnellement, j'ai choisi Wireguard mais je vous encourage Ă  faire des recherches par vous-mĂȘme pour voir ce qui vous convient le mieux.

AprĂšs avoir sĂ©lectionnĂ© le type de VPN que vous souhaitez installer, vous pouvez maintenant sĂ©lectionner le port sur lequel vous souhaitez faire fonctionner votre VPN. Pour cette Ă©tape, nous allons nous rĂ©fĂ©rer Ă  la section PrĂ©requis de cet article, oĂč nous avons configurĂ© une rĂšgle de transfert de port. Le port que nous avons ouvert dans cette Ă©tape devra s'aligner avec ce que nous entrons ici.

Dans cette Ă©tape, vous serez invitĂ© Ă  choisir le fournisseur de DNS que vous souhaitez utiliser pour votre VPN. Personnellement, j'hĂ©berge moi-mĂȘme mon DNS interne via un contrĂŽleur de domaine. Si c'est la configuration que vous utilisez actuellement, je vous encourage vivement Ă  utiliser l'option "Custom" Ă  cette Ă©tape du processus d'installation et Ă  fournir les adresses IP de vos contrĂŽleurs de domaine exĂ©cutant le DNS. Cela sera beaucoup plus utile plus tard si vous essayez d'accĂ©der Ă  distance Ă  votre lab via votre VPN.

Vous pouvez maintenant choisir d'utiliser votre adresse IP publique actuelle ou d'utiliser une entrée DNS. Pour mon installation, j'ai la chance d'avoir une adresse IP statique, donc je vais m'en tenir à la premiÚre option. Si vous n'avez pas d'adresse IP publique statique, vous pouvez utiliser un service DNS dynamique et utiliser la deuxiÚme option présentée ci-dessus.

Cette étape vous permet d'activer les mises à jours automatiques sur votre serveur. Un VPN étant un point d'entrée critique sur votre réseau, je vous conseille vivement d'activer les mises à jours automatiques. Cela garantira que votre serveur exécute les derniÚres mises à jour des paquets de sécurité, protégeant ainsi votre serveur et votre réseau dans son ensemble.

Et voilà, vous devriez maintenant avoir un PiVPN fonctionnel ! Tout ce qu'il reste à faire est de générer des profils clients pour les appareils que vous souhaitez connecter à votre nouveau VPN. Il est important de générer un profil client pour chaque appareil et de ne pas les partager entre plusieurs appareils. Cela constituerait un risque pour la sécurité.

Connecter des appareils Ă  votre PiVPN

Maintenant que notre VPN est créé, nous allons créer notre premier profil client en exécutant la commande "pivpn add".

Vous serez amené à entrer un nom pour le client que vous souhaitez ajouter, puis vous verrez une sortie comme celle-ci :

Enter a Name for the Client: walid-laptop
::: Client Keys generated
::: Client config generated
::: Updated server config
::: WireGuard reloaded
======================================================================
::: Done! walid-laptop.conf successfully created!
::: walid-laptop.conf was copied to /home/ettayeb/configs for easy transfer.
::: Please use this profile only on one device and create additional
::: profiles for other devices. You can also use pivpn -qr
::: to generate a QR Code you can scan with the mobile app.
======================================================================

Le profil devrait ĂȘtre stockĂ© dans votre rĂ©pertoire personnel sous /configs

~/configs$ ls -l
total 4
-rw-r----- 1 walid walid xxx xxx xx xx:xx walid-laptop.conf

Pour utiliser votre profil, vous devrez l'exporter via une mĂ©thode de votre choix, puis l'importer dans votre client VPN.  Je vous suggĂšre d'utiliser la commande scp (ou un outil comme WinSCP si vous ĂȘtes sous Windows) pour rĂ©cupĂ©rer les fichiers sur votre serveur.

Conclusion

C'est tout ce qu'il y a à faire ! Vous devriez maintenant avoir un VPN fonctionnel fonctionnant sur votre propre infrastructure de serveur, vous permettant de vous connecter en toute sécurité à votre propre réseau.

Walid ETTAYEB • 36 Articles

Passionné par l'informatique depuis mon plus jeune ùge, je transforme ma passion en expertise.

View Articles