Comment configurer un VPN avec un Raspberry Pi pour travailler à distance ?

raspberry pi vpn

Un de mes amis part pour un long voyage et a besoin d'un VPN.

L'avantage d'avoir un VPN, a-t-il expliqué, est qu'il lui permet d'accéder à son réseau domestique et à ses fichiers.

C'est assez standard.

Il a également indiqué qu'il lui serait plus facile de se connecter à des applications bancaires et à d'autres services s'il se connectait via son réseau domestique.

Le fait d'avoir une adresse IP à l'étranger déclenche des signaux d'alarme et l'obligera à effectuer des tests Captcha et des contrôles d'accès.

Cela m'a amené à me demander si le Raspberry Pi pourrait fonctionner dans ce cas.

Vérifiez d'abord votre routeur

Un détail important ici est de vérifier si votre routeur peut faire office de serveur VPN.

Ce serait la solution la plus fiable. Franchement, c'était aussi la solution la plus facile et la moins fastidieuse.

J'ai un TP-Link Archer C7 qui a la capacité d'exécuter un serveur VPN en utilisant OpenVPN ou PPTP VPN. En moins de cinq minutes, j'ai suivi les instructions et j'ai réussi à le faire fonctionner. 

Il ne me restait plus qu'à installer OpenVPN sur mes appareils et à utiliser le fichier de configuration.

Si, toutefois, vous avez un routeur qui ne prend pas en charge les connexions VPN, alors suivez la procédure...

De quoi ai-je besoin pour créer un serveur Raspberry Pi ?

Câble Ethernet, Raspberry Pi et routeur pour configurer un PiVPN
Câble Ethernet, Raspberry Pi et routeur

Avant toute chose, vous aurez besoin d'un Raspberry Pi. 

L'idéal serait d'avoir un Raspberry Pi avec une connexion Ethernet filaire, comme le Raspberry Pi 4, pour une fiabilité et une vitesse maximales.

Si vous choisissez ces dispositifs, vous aurez alors besoin d'un câble Ethernet pour connecter le Raspberry Pi à votre routeur.

Et afin de s'assurer que votre Raspberry Pi est connecté via un réseau Ethernet filaire, vous devez désactiver la connexion sans fil.

Cependant, PiVPN a fonctionné avec succès sur un Raspberry Pi de la série Zero, vous pouvez donc l'utiliser aussi.

Installer PiVPN

Logo PiVPN
Logo PiVPN

Tête à pivpn.io pour plus d'informations sur le logiciel.

Pour l'installer, exécutez la commande d'installation curl -L https://install.pivpn.io | bash dans votre terminal.

Cette étape peut prendre un certain temps, mais une fois qu'elle est terminée, vous verrez cet écran d'introduction.

Réservation DHCP

Le PiVPN est un serveur, il a donc besoin d'une adresse IP statique pour fonctionner correctement. 

Si vous êtes capable de créer une réservation DHCP...

Tous les routeurs ne vous permettent pas de créer une réservation DHCP, donc si vous ne trouvez pas de section pour ce paramètre, passez à la section suivante.

Je dispose d'un modem et d'un routeur séparés que j'ai achetés pour pouvoir créer une réservation DHCP afin de m'assurer que PiVPN dispose toujours de la même adresse IP.

Chaque routeur est un peu différent, il vous faudra donc chercher sur Google les instructions exactes pour créer une réservation DHCP pour votre routeur.

Si vous utilisez un TP-Link Archer C7, comme moi, vous devez aller à Avancé > Réseau > Serveur DHCP.

En vertu de la Réservation d'adresse j'ai cliqué sur Ajouter. J'avais besoin de mon adresse MAC (non affichée dans PiVPN) et de l'adresse IP fournie par PiVPN.

Trouver votre adresse MAC

trouver l'adresse mac de raspberry pi
Vous pouvez généralement trouver l'adresse MAC de votre Raspberry Pi grâce à votre routeur ou en utilisant ifconfig

Il y a deux façons de trouver votre adresse MAC. 

Le plus pratique est que mon routeur TP-Link a affiché mon adresse MAC "DC-A6-32-88-AC-97" dans le tableau des clients DHCP.

Alternativement, vous pouvez ouvrir un Terminal et taper dans ifconfig.

Puisque vous êtes connecté par ethernet filaire, cherchez "eth0" et sur la ligne où il est écrit étherc'est là que se trouve votre adresse MAC.

Si vous ne pouvez pas créer une réservation DHCP,

réservation dhcp raspberry pi vpn ou adresse ip statique

Dans ce menu, appuyez sur "Non" pour configurer une adresse IP statique.

Dans le menu suivant, vous devrez configurer votre adresse IP statique à quelque chose qui n'est pas dans la plage des adresses IP que votre routeur attribuera aux périphériques.

Par exemple, mon routeur attribue aux appareils connectés une adresse IP de 192.168.0.100 à 192.168.0.249. Je peux donc attribuer à PiVPN une adresse IP de 192.168.0.250.

Il vous demandera ensuite l'adresse IP de la passerelle. Vous pouvez la laisser par défaut, sauf si vous avez une autre passerelle. Il s'agit généralement de l'adresse IP de votre routeur.

Enfin, appuyez sur OK sur PiVPN jusqu'à ce que vous atteigniez la page "Utilisateurs locaux".

Utilisateurs locaux

Dans la page "Choisir un utilisateur", j'ai choisi le seul et unique utilisateur, pi.

Dans les dernières mises à jour du système d'exploitation Raspberry Pi, vous n'avez plus "pi" comme utilisateur par défaut, alors soyez-en conscient.

Appuyez sur OK.

Mode d'installation

raspberry pi vpn wireguard

Ici, il vous sera demandé si vous voulez utiliser WireGuard ou OpenVPN. J'ai choisi WireGuard parce qu'il était recommandé.

Port Wireguard par défaut

À moins que vous n'ayez besoin d'un autre port, vous pouvez simplement appuyer sur OK et utiliser le port 51820 par défaut.

Fournisseur de DNS

choisir google comme fournisseur de dns pivpn raspberry pi vpn

Il y a plusieurs choix de fournisseurs de DNS ici et j'ai choisi Google pour la facilité de la mise en place.

IP publique ou DNS

Ce que vous voyez ici est votre adresse IP publique et ce sera l'adresse IP que vous utiliserez pour vous connecter à votre VPN.

Mises à niveau non surveillées

mises à niveau non surveillées pivpn

J'ai activé les mises à jour non surveillées parce que je voulais les mises à jour de sécurité. 

Il est temps d'ajouter des profils de clients

Utilisez pivpn add pour ajouter un client, puis utilisez pivpn -qr pour obtenir un code QR à scanner sur votre téléphone.
Utilisez ajout de pivpn pour ajouter un client, puis utilisez pivpn -qr pour obtenir un code QR à scanner sur votre téléphone

Super ! Vous êtes arrivé au menu "Installation terminée".

La configuration de PiVPN sur le Raspberry Pi est la moitié de la bataille. La moitié suivante consiste à configurer vos profils clients afin de pouvoir y connecter des ordinateurs, des téléphones et d'autres appareils.

Voici comment :

Ouvrez un terminal et tapez "pivpn add".

Saisissez un nom pour le client. Vous pouvez utiliser quelque chose comme "client1", "client2" ou quelque chose de plus intuitif comme "smartphone", "télévision", etc.

Appuyez sur la touche Enter.

Lorsque c'est fait, vous verrez un message indiquant que c'est fait.

PiVPN aurait généré un fichier .conf que vous pouvez utiliser avec les applications Wireguard.

Cependant, il existe un moyen encore plus simple d'obtenir la configuration sur votre téléphone.

Configurer un téléphone Android

Dans le même terminal, entrez pivpn -qr

Ensuite, entrez le client que vous voulez. Il n'y en a qu'un pour l'instant qui s'appelle "smartphone".

Donc, entrez "smartphone" et appuyez sur entrée.

Si tout se passe bien, vous verrez apparaître un code QR que vous pourrez scanner avec l'application Wireguard sur votre smartphone.

Des problèmes d'encodage entraînent un code QR PiVPN confus.
Des problèmes d'encodage entraînent un code QR PiVPN confus.

Cependant, si ce n'est pas le cas, il aura l'air déformé. C'est parce que l'encodage de votre terminal est incorrect.

Si cela vous arrive, vous pouvez copier le fichier smartphone.conf sur votre téléphone et diriger l'application Wireguard vers ce fichier.

wireguard pivpn qr code
L'application Android Wireguard scanne le code QR

Une autre façon est d'essayer de se connecter en ssh au Raspberry Pi et de lancer la commande qrencode -t ansiutf8 < /home/pi/configs/smartphone.conf (remplacez "smartphone" par le nom que vous avez donné à votre client).

Le code QR a été généré avec succès lorsque j'ai utilisé ssh sur mon ordinateur Windows.

Configuration de WireGuard sur votre ordinateur

Il y a deux choses que vous devez faire. Téléchargez l'application WireGuard pour votre ordinateur et récupérez également le fichier .conf de votre Raspberry Pi.

Vous pouvez télécharger le Application WireGuard pour Windows, Linux et Mac ici.

Une fois que vous l'avez, créez un nouveau profil en utilisant ajout de pivpn

Tapez le nom de votre fichier de configuration. J'ai utilisé msi-pcqui génère une msi-pc.conf fichier.

Afin de copier le fichier sur votre PC, le plus simple est de le copier en utilisant une commande. L'accès SSH doit être activé sur le système d'exploitation du Raspberry Pi.

Si vous êtes sous Windows comme moi, vous utiliserez cette commande :

pscp.exe [votre-nom-d'utilisateur]@[votre-adresse-IP]:/home/pi/configs/[fichier wireguard].conf [local-dir]

Voici à quoi ressemblait le mien :

pscp.exe pi@192.168.0.241:/home/pi/configs/msi-pc.conf

Dans l'application, cliquez sur "Ajouter un tunnel" et localisez votre fichier .conf.

Activez et vous avez terminé !

Configurez la redirection de port sur votre routeur

Si vous avez suivi les étapes jusqu'à présent, vous pourrez activer le commutateur sur votre application Wireguard, mais vous ne pourrez pas vous connecter à Internet.

En effet, vous devez configurer votre routeur pour qu'il dirige le trafic accédant au port 51820 vers votre Raspberry Pi.

Pour ce faire, allez dans le menu de transfert de port de votre routeur. Sur mon routeur TP-Link Archer, il était accessible en Avancé > Transfert NAT > Serveurs virtuels.

Vous saurez que vous êtes au bon endroit lorsqu'il vous demandera un port externe et interne et une adresse IP interne.

Cet écran pose essentiellement la question suivante : "si nous recevons du trafic depuis l'Internet en utilisant le port 51820, vers quel périphérique devons-nous l'envoyer et quel port ?

Dans ce cas, les ports externes et internes sont 51820, la valeur par défaut de Wireguard. Le protocole est UDP et IP interne est l'adresse IP de votre Pi.

Comment puis-je savoir si mon VPN fonctionne ?

tester le vpn s'il fonctionne

Vous saurez que votre VPN fonctionne si votre adresse IP change.

Afin de tester la connexion VPN de mon smartphone, je suis d'abord allé chercher mon adresse IP avant de me connecter au VPN.

Le VPN a indiqué que mon adresse était XXX.XX.88.241.

Je me suis connecté à mon VPN et mon adresse IP a changé en XXX.XXX.169.39.

Donc, s'il y a un changement dans votre adresse IP, cela signifie que vous vous êtes connecté avec succès.

Il existe de nombreux services. Vous pouvez même simplement taper sur Google "quelle est mon adresse IP" et Google sera peut-être en mesure de vous le dire sur la page de résultats. Ou encore, j'ai utilisé whatismyip.com.

Que se passe-t-il si mon IP Internet change ?

Parfois, il se peut que vous n'obteniez pas la même adresse IP lorsque vous réinitialisez votre routeur. Des coupures de courant, des arrachements accidentels de cordons d'alimentation peuvent se produire. 

La question est... comment trouver votre nouvelle adresse IP lorsque vous n'êtes pas chez vous et que vous avez désespérément besoin de vous connecter à votre VPN ?

Nos logiciels PiCockpit permet de trouver facilement votre adresse IP publique.

Dans la capture d'écran ci-dessus, c'est mon IP publique. Si elle change, vous pouvez mettre à jour vos fichiers .conf avec la nouvelle adresse du point de terminaison.

PiCockpit vous permettra également de redémarrer et de diagnostiquer les problèmes de votre Raspberry Pi à distance via son interface web.

Suivez ce guide pour installer PiCockpit.

Vous pouvez également obtenir un service DNS dynamique et un nom d'hôte. Voici un guide.

Laissez un commentaire