WireGuard
WireGuard est à la fois un protocole VPN et une petite implémentation Linux directement intégrée au noyau, construite autour de primitives cryptographiques modernes plutôt que sur l’empilement de standards tentaculaire qu’on trouve derrière IPsec ou OpenVPN. Il se présente sous la forme d’un module noyau accompagné de deux outils en ligne de commande, wg et wg-quick : pas d’application officielle, pas de compte à créer, aucun service de coordination où se connecter. Tout repose sur un principe appelé cryptokey routing : une clé publique fait office d’entrée dans une table de routage, et tout paquet qui se déchiffre correctement avec la clé d’un pair est autorisé à emprunter l’interface du tunnel, sans poignée de main de négociation ni autorité de certification. C’est tout le modèle de confiance, étonnamment simple comparé au reste du monde réseau, et c’est aussi la raison pour laquelle WireGuard se retrouve sous le capot de tant d’autres outils VPN auto-hébergés, dont Tailscale.
Licence : le module noyau Linux et le paquet wireguard-tools (les CLI wg et wg-quick) sont tous deux sous GPLv2, comme le confirment la page de licence officielle de wireguard.com et le fichier COPYING du dépôt GitHub WireGuard/wireguard-tools. wireguard-go, l’implémentation Go en espace utilisateur utilisée sur macOS, Windows, BSD et dans les conteneurs incapables de charger le module noyau, est quant à elle sous licence MIT. Selon wireguard.com, les applications plateforme au-delà du noyau sont « MIT, BSD, Apache 2.0, ou GPL, selon le contexte » : il n’existe donc pas une licence WireGuard unique, mais un cœur GPLv2 entouré de ports sous licences permissives.
En bref : site officiel wireguard.com · code source réparti sur plusieurs dépôts sous github.com/WireGuard · le trafic chiffré transite par un seul port UDP, 51820 par défaut · aucune image Docker officielle · image communautaire la plus activement maintenue aujourd’hui : wg-easy · VPN maillé auto-hébergé construit sur WireGuard : Tailscale.
Pourquoi l’auto-héberger plutôt que d’utiliser un VPN commercial
Une application VPN commerciale masque votre trafic à votre FAI et vous replace ailleurs sur la carte, un usage différent de ce que la plupart des amateurs de homelab recherchent : un chemin privé vers leur propre réseau depuis un ordinateur portable dans un café ou un téléphone hors wifi. WireGuard répond exactement à ce besoin, avec des tunnels point à point entre des machines que vous contrôlez, sans serveur tiers qui relaie quoi que ce soit entre les deux. Il ne coordonne cependant pas les appareils tout seul : Tailscale enveloppe WireGuard dans un échange de clés automatique et une traversée NAT pour que les appareils se trouvent sans aucune configuration, tandis que WireGuard brut offre le même chiffrement sans cette couche en plus. Notre guide d’accès distant à Jellyfin explique comment atteindre en toute sécurité un serveur multimédia à domicile depuis l’extérieur, avec l’une ou l’autre de ces approches.
Aucune image Docker officielle : les options communautaires dignes de confiance
Le projet WireGuard ne publie pas d’image Docker, et il y a peu de chances que ça change : il s’agit d’un module noyau et d’outils en ligne de commande, pas d’une application avec un processus serveur à conteneuriser. Chaque « image Docker WireGuard » que vous croiserez est en réalité l’œuvre d’un tiers qui enveloppe wg-quick et un générateur de configuration autour des mêmes primitives du noyau. Le choix de l’image compte donc plus que d’habitude.
Deux options se démarquent. wg-easy associe un serveur WireGuard à une interface web complète pour ajouter et supprimer des pairs, scanner des QR codes et suivre le trafic par client. Elle est sous licence AGPL-3.0, explicitement non affiliée au projet WireGuard (une précision que les mainteneurs indiquent eux-mêmes dans leur README), et activement maintenue : la version 15.2.2 est sortie en février 2026, avec plus de 25 000 étoiles sur GitHub. linuxserver/wireguard, 3 600 étoiles et une sortie de juin 2026, est l’alternative en ligne de commande uniquement : pas d’interface web, les configurations de pairs et les QR codes sont écrits dans le journal du conteneur via une variable PEERS. Les deux dépendent toujours du support WireGuard côté noyau de l’hôte.
Configurer WireGuard avec Docker
Voici le docker-compose.yml de wg-easy lui-même, réduit à l’essentiel pour une première installation. Le fichier complet sur GitHub épingle aussi le conteneur à une IP statique sur un réseau bridge personnalisé, utile pour du routage avancé mais pas nécessaire ici.
volumes:
etc_wireguard:
services:
wg-easy:
image: ghcr.io/wg-easy/wg-easy:15
container_name: wg-easy
volumes:
- etc_wireguard:/etc/wireguard
- /lib/modules:/lib/modules:ro
ports:
- "51820:51820/udp"
- "51821:51821/tcp"
restart: unless-stopped
cap_add:
- NET_ADMIN
- SYS_MODULE
sysctls:
- net.ipv4.ip_forward=1
- net.ipv4.conf.all.src_valid_mark=1
- Installez Docker s’il n’est pas déjà présent, enregistrez le fichier ci-dessus sous le nom docker-compose.yml, puis lancez docker compose up -d.
- Redirigez le port UDP 51820 de votre routeur vers cet hôte, le seul port qui doit être exposé à l’internet public.
- Ouvrez le port 51821 dans un navigateur et terminez la configuration initiale : un mot de passe administrateur et le nom d’hôte ou l’IP auxquels les clients se connecteront.
- Ajoutez un client depuis l’interface web, puis scannez son QR code avec l’application WireGuard sur un téléphone, ou téléchargez le fichier .conf pour un poste de bureau.
docker compose up -d
docker compose logs -f wg-easy
Configuration de base : clés et pairs
wg-easy et linuxserver/wireguard génèrent tous deux des fichiers qui suivent le même format en coulisses, celui que wg-quick lit directement :
[Interface]
PrivateKey = <server private key>
Address = 10.8.0.1/24
ListenPort = 51820
[Peer]
PublicKey = <client public key>
AllowedIPs = 10.8.0.2/32
wg-easy vous évite simplement de lancer wg genkey et wg pubkey à la main et de coller les résultats dans deux fichiers correspondants. Chaque pair a besoin de la clé publique du serveur, et le champ AllowedIPs de chaque pair doit être unique et ne jamais se chevaucher, sous peine de voir le routage se casser silencieusement plutôt que de renvoyer une erreur.
Notes de sécurité : WireGuard ne répond absolument pas aux paquets qui échouent au déchiffrement, si bien qu’un scan de port non authentifié ne voit rien du tout, pas même une poignée de main rejetée : un vrai avantage face à OpenVPN. Ne redirigez toutefois que le port UDP 51820 vers internet, pas le port de l’interface web de wg-easy ; placez l’interface d’administration derrière un reverse proxy avec sa propre authentification si elle doit être accessible à distance. Faites tourner les clés lorsqu’un appareil est perdu ou mis hors service, car une ancienne entrée AllowedIPs n’expire pas d’elle-même.
WireGuard vs Tailscale vs OpenVPN
| WireGuard (brut) | Tailscale | OpenVPN | |
|---|---|---|---|
| Coordination | Aucune, vous configurez chaque pair | Automatique, via le serveur de Tailscale | Aucune, vous configurez chaque pair |
| Effort de mise en place | Clés et AllowedIPs à la main, ou via wg-easy | Installation et connexion, en quelques minutes | Certificats et configuration TLS, davantage de pièces mobiles |
| Traversée NAT | Manuelle, nécessite une IP publique ou un port redirigé | Automatique dans la plupart des cas | Manuelle, même contrainte que WireGuard |
| Idéal pour | Contrôle total, aucun tiers | Maillage sans configuration sur de nombreux appareils | Compatibilité avec l’existant uniquement |
Que choisir ? Pour un ou deux appareils distants avec une IP statique ou un DNS dynamique déjà en place, une installation WireGuard brute reste étonnamment simple et entièrement sous votre contrôle, sans le serveur de personne d’autre dans la boucle. Passez à Tailscale dès que le nombre d’appareils dépasse ce qu’il est confortable de configurer à la main, ou lorsque la traversée NAT doit fonctionner sans port redirigé.
- Base de code minimale et auditable, qui tourne au niveau du noyau, réellement rapide
- Aucun serveur de coordination ni compte : personne d’autre que vous ne détient jamais une clé
- Silencieux face aux scans non authentifiés, ne répond que si la crypto correspond
- Aucune image Docker officielle ; vous faites confiance à la build d’un mainteneur communautaire
- Aucune traversée NAT ni DNS dynamique intégrés, il faut une IP publique ou un port redirigé
- Chaque pair se configure à la main, pas de rotation automatique des clés ni de liste centrale des appareils
Matériel : l’implémentation noyau de WireGuard est assez légère pour tourner sur un Raspberry Pi ou n’importe quel mini PC laissé allumé en permanence ; notre guide de configuration homelab pour débutants explique comment choisir cette première machine. La vraie exigence porte sur le réseau, pas sur la puissance de calcul : une IP publique, un port UDP redirigé, ou un nom d’hôte DNS dynamique, rien de tout cela n’étant nécessaire avec Tailscale.
L’accès distant à un serveur multimédia à domicile est l’une des raisons les plus courantes qui poussent les amateurs de homelab à se tourner vers un VPN. Notre guide d’accès distant à Jellyfin détaille comment y parvenir, avec WireGuard directement ou Tailscale par-dessus.
FAQ
WireGuard est-il open source ?
Oui. Le module noyau Linux et la CLI wireguard-tools sont sous GPLv2, et wireguard-go, l’implémentation en espace utilisateur utilisée hors Linux et dans de nombreux conteneurs, est sous MIT. Il n’existe aucun composant WireGuard à code source fermé, contrairement au serveur de coordination de Tailscale.
Existe-t-il une image Docker officielle de WireGuard ?
Non. Le projet WireGuard fournit un module noyau et des outils en ligne de commande, pas un conteneur. wg-easy et linuxserver/wireguard sont tous deux maintenus par la communauté et explicitement non affiliés au projet WireGuard.
WireGuard est-il plus rapide qu’OpenVPN ?
Dans la plupart des benchmarks, oui, en partie parce qu’il tourne dans le noyau et en partie parce que ses primitives cryptographiques coûtent moins cher à calculer. L’écart se voit surtout sur du matériel peu puissant comme un Raspberry Pi, où la base de code plus large et la surcharge en espace utilisateur d’OpenVPN pèsent davantage.
Pour la plupart des homelabs, WireGuard derrière wg-easy reste le VPN entièrement auto-hébergé le plus simple qui soit : rapide, auditable, et entièrement sous vos propres clés. Passez à Tailscale quand l’automatisation compte plus que le fait de tout posséder vous-même. Notre guide de configuration homelab pour débutants et notre guide d’accès distant à Jellyfin couvrent sur quoi le faire tourner et quoi en faire ensuite.