Une passerelle VPN sur Raspberry Pi

Une Passerelle VPN sur Raspberry Pi présente de nombreux avantages : contrôler qui a accès au réseau, accéder à des contenus d’autres zones géographiques, etc. Dans ce tutoriel, je vais configurer le Pi en tant que passerelle VPN en utilisant OpenVPN.

Un VPN, pour faire simple, ressemble à un tunnel crypté qui permet de se connecter au travers d’internet à un serveur, externe à votre réseau local, disposant généralement aussi d’une « passerelle » permettant d’accéder à l’internet, ce qui permet de changer l’adresse IP source publique de ses connexions. Cela rend plus difficile l’identification et la localisation approximative de l’ordinateur émetteur par le fournisseur de service.

La première chose à faire pour créer une Passerelle VPN sur Raspberry Pi, c’est d’abord s’abonner à un fournisseur VPN ici je vais utiliser SurfShark qui fourni des connexions sécurisées. Le Raspberry Pi est connecté à ce fournisseur de VPN. Il est ensuite configuré en tant que point d’accès, ce qui permet au Pi de router tout le trafic entrant via le service VPN, agissant ainsi en tant que passerelle.

Passerelle VPN sur Raspberry Pi
Vpn

Une passerelle VPN Matériels et logiciels

Un abonnement VPN.
Il existe de nombreux fournisseurs de VPN, j’ai choisis d’utiliser Surfshark pour ce tutoriel. La plus part de ces fournisseur vous autorisent un essai durant trente jours vous pouvez donc essayer tranquillement. Pourquoi SurfShark, je pourrais dire parce que mais bon vous faite ce que vous voulez il n’y a aucune publicité derrière ce choix.

Un Raspberry Pi.
C’est la base les étapes seront similaires sur n’importe quel ordinateur fonctionnant sous GNU Linux, moi j’utilise ce tutoriel sur un Raspberry Pi 4. Cela devrait fonctionner avec n’importe quel modèle.

Une bonne carte SD .
Choisir le bon stockage est essentiel. Il faut quelque chose de fiable et de rapide.

Un câble Ethernet.
Pour connecter le Pi à mon routeur internet, car on utilise l’interface Wi-Fi pour créer un point d’accès.

Raspberry Pi OS (Bookworm).
Je recommande toujours d’opter pour la dernière version de Raspberry Pi OS. Ce tutoriel ne fonctionnera qu’avec la dernière version du système d’exploitation Bookworm, je vais utiliser NetworkManager.

Configuration de l’OS sur le Raspberry Pi 4

Pour commencer on va installer puis mettre à jour le système d’exploitation du Raspberry PI 4.

Si vous ne savez pas comment on installe cet OS je pense que de nombreux sites vous expliquent cela très bien, un petit tour sur un moteur de recherche ou alors tout simplement sur le site de Raspberry PI.

Une fois que c’est fait, c’est comme d’habitude, juste deux commandes pour mettre à jour le système.

sudo apt update && sudo apt upgrade -y

Après tout ça vous pouvez choisir d’utiliser une adresse IP fixe en suivant cet article

Configuration du VPN sur le Raspberry Pi 4

Récupération des identifiants d’authentification de Surfshark.

La première étape consiste à récupérer les identifiants d’authentification pour pouvoir se connecter à n’importe quel serveur VPN de SurfShark. Ce ne sont pas les identifiants de connexion utilisé pour se connecter sur le site de SurfShark.

Tout d’abord, on se connecte sur le site SurfShark avec l’identifiant et le mot de passe fourni..

Depuis la section VPN sur la gauche, cliquez sur Configuration manuelle.

Sur la page suivante cliquez sur Configurer manuellement

Cliquer sur Routeur puis sur OpenVPN

Les identifiant nom d’utilisateur et mot de passe sont là.

Mettez de coté ce nom d’utilisateur et ce mot de passe on va s’en servir plus tard.

Configuration du Raspberry Pi pour la passerelle VPN

Maintenant il faut que le Raspberry pi soit configuré pour utiliser les serveurs OpenVPN de Surfshark. On va donc installer OpenVPN sur le Raspberry et télécharger la liste des serveurs de SurfShark.

sudo apt install openvpn unzip -y
cd /etc/openvpn
sudo wget https://my.surfshark.com/vpn/api/v1/server/configurations

Il suffit maintenant de décompacter la liste des serveurs disponible

sudo unzip configurations
sudo rm configurations

Pour avoir la liste des serveurs SurfShark

ls

Le nom des fichiers des serveurs sont par exemple fr-mrs.prod.surfshark.com_tcp.ovpn

  • Les deux premiers caractères pour le pays exemple ‘fr’ pour la France
  • Les trois caractères suivant sont pour la ville exemple ‘mrs’ pour Marseille
  • Le reste ne change pas, c’est toujours ‘prod.surfshark.com_tcp.ovpn’ ou bien ‘prod.surfshark.com_udp.ovpn’

Quand vous avez choisie un serveur il vous suffira de taper:

sudo openvpn <nom-du-fichier-de-serveur>

Par exemple pour utiliser le serveur de Marseille en France il faudra entrer:

sudo openvpn fr-mrs.prod.surfshark.com_udp.ovpn

SurfShark va vous demander votre nom d’utilisateur et votre mot de passe, c’est là qu’il faudra utiliser les identifiants sauvegardés tout à l’heure, et ensuite

2025-02-21 11:43:01 TUN/TAP device tun0 opened
2025-02-21 11:43:01 net_iface_mtu_set: mtu 1500 for tun0
2025-02-21 11:43:01 net_iface_up: set tun0 up
2025-02-21 11:43:01 net_addr_v4_add: 10.8.8.11/24 dev tun0
2025-02-21 11:43:01 net_route_v4_add: 185.166.84.135/32 via 192.168.1.1 dev [NULL] table 0 metric -1
2025-02-21 11:43:01 net_route_v4_add: 0.0.0.0/1 via 10.8.8.1 dev [NULL] table 0 metric -1
2025-02-21 11:43:01 net_route_v4_add: 128.0.0.0/1 via 10.8.8.1 dev [NULL] table 0 metric -1
2025-02-21 11:43:01 Initialization Sequence Completed

Voila si tout c’est bien passé vous êtes connecté à internet par le serveur SurfShark de Marseille.
Pour sortir de la il suffit de taper Ctrl+c

C’est très bien mais pendant la connexion il a fallu entrer le nom d’utilisateur et le mot de passe, alors on va faire en sorte que tout ça démarre avec le Raspbery pi.

Pour commencer il faut créer un fichier texte qui contiendra le nom de l’utilisateur et le mot de passe.

sudo nano auth.txt

Et dans ce fichier on entre seulement les deux paramètres.

Une fois que ces détails sont entrés, appuyez sur Ctrl + X puis Y pour sauvegarder le fichier. Maintenant, on va créer un fichier de configuration qui nous permettra de nous connecter à un serveur VPN situé à Marseille.

Pour cette configuration, on utilisera comme fichiers de base les fichiers ovpn existants que nous avons obtenus de Surfshark. Et dans cet exemple particulier le fichier fr-mrs.prod.surfshark.com_tcp.ovpn qu’on va copier pour le modifier.

sudo cp fr-mrs.prod.surfshark.com_tcp.ovpn fr-mrs.conf

Ensuite on ouvre le fichier et on modifie la ligne

sudo nano fr-mrs.conf

Et on modifie la ligne qui contient « auth-user-pass » par « auth-user-pass fr-mrs.conf »

On enregistre et on ferme Ctrl+X suivi de O et Entrée. Attention à bien enregistrer ce fichier dans le répertoire /etc/openvpn. Maintenant pour se connecter sur notre serveur SurfShark à Marseille il suffit de lancer:

sudo openvpn --config "fr-mrs.conf"

Maintenant il ne reste plus qu’à transformer le Raspberry PI en un point d’accès sans fil, pour que tous ceux qui se connecteront à ce point d’accès soient protégés par le serveur VPN qu’on vient de mettre en place.

Le Raspberry Pi en tant que point d’accès sans fil

Pour configurer le Raspberry pi en point d’accès wifi, on va utiliser NetworkManager qui permet de faire tout ça directement dans un terminal.
On a besoin de créer une nouvelle connexion qu’on va appeler « my-vpn-wifi » et définit le SSID (nom Wi-Fi) en “my-VPN-wifi-Gateway” où le périphérique (ifname) est wlan0 et le type est wifi (si vous utilisez une clé Wi-Fi externe vous devrez utiliser un autre nom de périphérique). Tout ça se fait avec une seule ligne de commande.

sudo nmcli con add con-name my-vpn-wifi ifname wlan0 type wifi ssid "my-VPN-wifi-Gateway"

Ensuite on va créer le mot de passe Wi-Fi. Choisissez un mot de passe complexe pour une bonne sécurité.

sudo nmcli con modify my-vpn-wifi wifi-sec.key-mgmt wpa-psk
sudo nmcli con modify my-vpn-wifi wifi-sec.psk "motdepasseleplusfort@123"

On définit ensuite le mode sans fil en Point d’Accès, la bande sur BG (2,4 GHz) ou sur A pour 5 GHz et on définit la configuration IPv4 en partagé.

sudo nmcli con modify my-vpn-wifi 802-11-wireless.mode ap 802-11-wireless.band bg ipv4.method shared

Enfin pour finir et démarrer tout ça, on active la connexion my-vpn-wifi en utilisant la commande “con up”.

sudo nmcli con up my-vpn-wifi

Voila vous avez une nouvelle connexion wifi dans votre réseau local qui doit s’appeler « my-VPN-wifi-Gateway » (si vous n’avez pas changé de nom).

Pour finir tout ça il suffit de redémarrer le Raspberry Pi.

sudo reboot

Pour finir il faut que je vous dise que si Marseille ne vous plaît pas, vous pouvez utiliser n’importe lequel des serveurs SurfShark dans n’importe quelle ville de n’importe quel pays, il vous suffit simplement de changer le fichier dans la configuration du VPN.

Laisser un commentaire