En bref
| Prérequis | Serveur Docker, nom de domaine ou IP publique fixe, port UDP 51820 ouvert sur la box |
| RĂ©sultat | VPN WireGuard auto-hĂ©bergĂ© accessible depuis nâimporte oĂč |
| Ressources | wg-easy GitHub |
Pourquoi un VPN maison en vacances
En dĂ©placement, on se connecte sur des rĂ©seaux Wi-Fi inconnus â hĂŽtel, gĂźte, Airbnb, restaurants. Le niveau de sĂ©curitĂ© de ces rĂ©seaux est inconnu. Un VPN crĂ©e un tunnel chiffrĂ© entre votre appareil et votre serveur chez vous.
Avantages concrets :
- Sécurité : le trafic est chiffré, personne sur le réseau Wi-Fi ne peut voir ce qui passe
- AccĂšs au rĂ©seau local : comme si vous Ă©tiez chez vous â NAS, domotique, tout est accessible en local
- Navigation depuis la France : recherches en français, pas de géoblocage, vos services habituels
- Sauvegardes : photos et vidéos des vacances directement sur le NAS
Câest diffĂ©rent dâun VPN commercial (Proton, etc.) : ici le serveur VPN câest votre machine chez vous. Pas dâanonymisation â câest fait pour lâaccĂšs Ă distance et la sĂ©curisation, pas pour cacher votre IP.
wg-easy
wg-easy est une interface web open source au-dessus de WireGuard. WireGuard nâa pas dâinterface graphique native â wg-easy en ajoute une pour ajouter/supprimer des clients, gĂ©nĂ©rer des QR codes, activer/dĂ©sactiver les connexions.
Je le dĂ©ploie sur mon serveur Jeedom, ce qui me permet de le dĂ©marrer/arrĂȘter depuis lâinterface domotique ou le smartphone. Vous pouvez le dĂ©ployer sur nâimporte quelle machine avec Docker.
Changements v15 vs v14 :
- Authentification par identifiant + mot de passe (plus de hash à générer)
- Interface dâadministration plus complĂšte
- Abandon ARM v6 (trĂšs vieilles plateformes), support ARM v7+
- Migration v14 â v15 : simple import du fichier
wg0.json
Prérequis réseau
Le port 51820 UDP doit ĂȘtre ouvert sur votre box et redirigĂ© vers le serveur. Sur Livebox : RĂ©seau â NAT/PAT â ajouter une rĂšgle 51820 UDP vers lâIP interne du serveur.
Ne jamais exposer le port 51821 (interface dâadministration) directement sur internet. Lâadministrer uniquement en local ou via le VPN lui-mĂȘme.
docker-compose.yml
Le docker-compose de wg-easy utilise lâimage officielle version 15. Les points clĂ©s de la configuration :
- Port 51820/UDP : le port WireGuard lui-mĂȘme, Ă ouvrir sur le routeur
- Port 51821/TCP : lâinterface dâadministration web
- Variable
INSECURE=true: Ă utiliser uniquement si lâinterface dâadministration est accessible en local uniquement, derriĂšre un reverse proxy. Si vous exposez via reverse proxy en HTTPS, retirez ce paramĂštre. - CapacitĂ©s Linux requises :
NET_ADMINetSYS_MODULEpour que WireGuard puisse créer les interfaces réseau - Sysctls : activation du routage IP (IPv4 et IPv6) nécessaire pour le fonctionnement du VPN
- Volume dédié pour la persistance de la configuration WireGuard (
/etc/wireguard)
Consultez la documentation officielle de wg-easy sur GitHub pour le docker-compose complet Ă jour.
Premier démarrage
docker compose up -d- AccĂ©der Ă
http://IP_SERVEUR:51821 - Créer le compte admin (identifiant + mot de passe)
- Choisir si câest une nouvelle installation ou une migration depuis v14
Migration depuis v14
- Dans lâancienne interface v14 : faire un Backup â tĂ©lĂ©charge
wg0.json - Au premier démarrage v15 : importer ce fichier
- Tous les clients existants sont récupérés
Ajouter un client
- Dans lâinterface wg-easy â âAjouter un clientâ
- Donner un nom (ex : âTĂ©lĂ©phone vacancesâ)
- Cliquer sur lâicĂŽne QR code
- Dans lâapplication WireGuard sur le smartphone : âImporter depuis QR codeâ
- La connexion est configurée en quelques secondes
Pour activer/désactiver le VPN : application WireGuard sur le smartphone, un toggle suffit.