🐧 Linux • WireGuard • Freebox • Homelab
Comment accéder à ses serveurs Proxmox, NAS et machines virtuelles lorsqu’on se trouve à l’extérieur de chez soi, sans exposer directement ses interfaces d’administration sur Internet ?
C’est précisément ce que j’ai mis en place sur mon ordinateur équipé d’openSUSE Tumbleweed avec GNOME, en utilisant le serveur WireGuard intégré à ma Freebox Ultra.
Dans cet article, je vous présente les différentes étapes permettant d’installer WireGuard sous Linux, d’importer un profil de connexion Freebox et de vérifier que le tunnel VPN fonctionne correctement.
🎯 Objectifs de ce tutoriel
- Installer WireGuard sous openSUSE Tumbleweed.
- Vérifier le fonctionnement de NetworkManager.
- Récupérer un profil WireGuard depuis la Freebox.
- Importer et administrer la connexion VPN.
- Accéder à ses équipements depuis un réseau extérieur.
- Comprendre les principes du routage VPN.
1. Pourquoi utiliser WireGuard ?
WireGuard est un protocole VPN moderne, léger et performant, qui permet d’établir un tunnel chiffré entre deux équipements.
Contrairement à une simple redirection de port, l’accès VPN permet de rejoindre des ressources privées sans publier directement leurs services d’administration sur Internet.
Dans mon cas, la Freebox Ultra héberge le serveur WireGuard et mon ordinateur Linux utilise une configuration cliente dédiée.
Architecture de connexion VPN
WireGuard sécurise les communications entre les deux extrémités du tunnel. Il ne remplace toutefois pas les contrôles d’accès, les mises à jour ou le pare-feu des machines accessibles.
2. Prérequis
Voici l’environnement utilisé pour ce tutoriel :
| Élément | Configuration |
|---|---|
| Système | openSUSE Tumbleweed |
| Environnement | GNOME |
| Gestion réseau | NetworkManager |
| VPN | WireGuard |
| Passerelle | Freebox Ultra |
3. Installer WireGuard sous openSUSE Tumbleweed
WireGuard est déjà pris en charge par le noyau Linux utilisé par openSUSE Tumbleweed. Il reste à installer les outils de gestion.
Actualiser les dépôts
sudo zypper refresh
Installer WireGuard
sudo zypper install wireguard-tools NetworkManager
Vérifier l’installation
wg --version
La commande retourne la version des outils WireGuard installés sur la machine.
Vérifier NetworkManager
nmcli general status
NetworkManager doit être opérationnel et la connectivité réseau fonctionnelle.
systemctl is-active NetworkManager
Le résultat attendu est : active.
4. Récupérer la configuration WireGuard sur la Freebox
La Freebox Ultra possède un serveur VPN WireGuard intégré. Il n’est donc pas nécessaire d’installer un serveur VPN supplémentaire sur le homelab.
Depuis un ordinateur connecté au réseau domestique, accéder à :
- Ouvrir les paramètres de la Freebox.
- Passer en mode avancé.
- Accéder à la rubrique Serveur VPN.
- Sélectionner WireGuard et vérifier son activation.
- Créer un profil client dédié à l’ordinateur.
- Exporter la configuration au format .conf.
La configuration du serveur WireGuard est également accessible depuis l’application Free sur les modèles compatibles.
Le fichier de configuration contient une clé privée permettant d’authentifier le client VPN. Il ne doit jamais être publié sur un blog, un forum ou un dépôt Git public.
5. Importer le profil dans NetworkManager
Sur GNOME, j’ai choisi d’utiliser NetworkManager plutôt que de gérer le tunnel exclusivement avec wg-quick.
Cette méthode permet d’enregistrer le profil de connexion et de piloter son activation facilement depuis le système.
Vérifier la présence du fichier
Dans cet exemple, le profil exporté s’appelle
freebox.conf.
ls "$HOME/Téléchargements/"*.conf
Importer la configuration
nmcli connection import type wireguard file "$HOME/Téléchargements/freebox.conf"
Adapter le chemin et le nom du fichier selon votre environnement.
Afficher les profils réseau
nmcli -f NAME,TYPE,DEVICE connection show
Une connexion de type wireguard
doit apparaître dans la liste.
Selon la version de GNOME, le profil WireGuard peut ne pas apparaître dans la liste graphique des VPN classiques. NetworkManager peut néanmoins le gérer normalement avec nmcli.
6. Activer et désactiver la connexion
Une fois le profil importé, la gestion quotidienne du VPN est très simple.
Dans les exemples suivants, le profil
porte le nom freebox.
Il faut le remplacer par le nom réel
affiché par NetworkManager.
Activer WireGuard
nmcli connection up "freebox"
Désactiver WireGuard
nmcli connection down "freebox"
Désactiver la connexion automatique
nmcli connection modify "freebox" connection.autoconnect no
Personnellement, je privilégie une activation manuelle lorsque je me trouve à l’extérieur de mon domicile.
7. Vérifier le fonctionnement du VPN
L’activation du profil ne suffit pas à garantir que les communications transitent correctement par le tunnel.
Nous allons effectuer plusieurs contrôles.
Examiner l’état de WireGuard
sudo wg show
Cette commande permet notamment de consulter :
- L’interface WireGuard active.
- Le pair distant (peer).
- L’adresse du serveur VPN.
- Le dernier handshake.
- Les données transférées.
Un handshake récent, après génération de trafic vers le réseau distant, confirme que les deux pairs parviennent à communiquer.
Tester l’accès au réseau domestique
Voici un exemple avec un réseau domestique
utilisant le sous-réseau
192.168.10.0/24.
ping -c 4 192.168.10.254
Cette adresse représente ici la passerelle du réseau domestique. Elle devra être adaptée.
Tester un hyperviseur
ping -c 4 192.168.10.250
Si la connectivité et les règles de filtrage le permettent, l’interface Proxmox peut ensuite être ouverte dans un navigateur :
https://192.168.10.250:8006
Les tests doivent être réalisés depuis un réseau extérieur, par exemple un partage de connexion mobile. Depuis le réseau local, les mêmes adresses peuvent être accessibles même si le tunnel VPN ne fonctionne pas.
8. Comprendre le routage : split tunnel ou full tunnel ?
Deux modes de fonctionnement sont possibles.
Split tunnel
Seul le trafic destiné aux réseaux définis passe par WireGuard. Les autres communications empruntent la connexion Internet habituelle.
Exemple :
AllowedIPs = 192.168.10.0/24, 10.10.10.0/24
Les adresses sont fictives et doivent être adaptées aux réseaux utilisés.
Full tunnel
Tout le trafic IPv4 peut être acheminé par le VPN lorsque la configuration du client et du serveur le permet.
AllowedIPs = 0.0.0.0/0
Pour une prise en charge complète, le trafic IPv6 doit également être considéré.
Le split tunnel est généralement suffisant lorsque l’objectif est d’administrer des serveurs, des NAS ou des machines virtuelles situés sur le réseau domestique. Il évite de faire transiter inutilement tout le trafic Internet par la maison.
9. Quelques commandes utiles
| Action | Commande |
|---|---|
| Version WireGuard | wg --version |
| État réseau | nmcli general status |
| Profils | nmcli connection show |
| État du tunnel | sudo wg show |
| Routage | ip route |
| Journaux réseau | journalctl -u NetworkManager -b |
10. Problèmes fréquents
Le tunnel ne s’établit pas
Vérifier l’adresse du serveur, le port, les clés cryptographiques et l’activation de WireGuard sur la Freebox.
Le VPN est actif, mais le réseau est inaccessible
Vérifier les routes, les plages AllowedIPs et les règles de pare-feu.
Le réseau distant utilise le même sous-réseau
Si le réseau depuis lequel on se connecte possède le même plan d’adressage que le réseau domestique, un conflit de routage peut se produire.
Internet ne fonctionne plus
Vérifier les routes par défaut, les paramètres DNS et le mode split tunnel ou full tunnel utilisé.
🏁 Conclusion
Avec WireGuard et NetworkManager, openSUSE Tumbleweed constitue un excellent poste d’administration pour accéder à son infrastructure informatique depuis l’extérieur.
Dans mon homelab, cette configuration permet de disposer d’un accès distant sécurisé à mes équipements, sans devoir publier directement les interfaces de gestion de mes serveurs.
Il reste naturellement indispensable de maintenir les systèmes à jour, de protéger les clés privées et de contrôler les accès autorisés.
🚀 Pour aller plus loin
Une prochaine étape consistera à détailler la configuration du serveur WireGuard directement depuis la Freebox Ultra, puis à comparer les différentes méthodes d’accès distant à un homelab.
Retrouvez mes autres tutoriels consacrés à Linux, à la cybersécurité et à l’administration système sur PROCYB.
