TailGuard – La solution Docker qui marie WireGuard et Tailscale pour du VPN surpuissant
Vous en avez marre de jongler entre différents clients VPN selon vos appareils ?
Alors ça tombe bien puisque je viens de tomber sur
TailGuard
, un projet open source qui est une application Docker, mise au point par un certain Juho Vähä-Herttua qui sert de passerelle entre
WireGuard
et
Tailscale
.
Si vous n’avez jamais entendu parler de ces deux technologies, laissez-moi vous faire un petit récap rapide… WireGuard, c’est LE protocole VPN moderne ultra-rapide dans le vent, et Tailscale, c’est LA solution mesh VPN qui fait un carton en ce moment.
Et le truc chouette avec TailGuard, c’est qu’il résout ce casse-tête des appareils qui ne peuvent pas faire tourner Tailscale nativement. Vous savez, ces vieux routeurs, ces IoT un peu bizarres ou ces environnements restreints où installer un client VPN moderne c’est plus compliqué que d’avoir un Premier Ministre décent. Mais avec TailGuard, vous créez ainsi un pont entre votre infrastructure WireGuard existante et le réseau mesh de Tailscale. Pas besoin de tout refaire de zéro, c’est plutôt bien pensé.
Alors, comment ça marche ?
Et bien en gros, vous avez un serveur WireGuard qui tourne quelque part, avec ses configurations et ses clés et TailGuard, lui, vient se greffer dessus via Docker et expose automatiquement vos sous-réseaux WireGuard sur Tailscale. Du coup, tous vos appareils Tailscale peuvent accéder à vos ressources WireGuard, et inversement. C’est du routage bidirectionnel automatique, avec support IPv4 et IPv6.
Pour l’installation, c’est un jeu d’enfant. Vous téléchargez votre config WireGuard client, vous la sauvegardez en wg0.conf
, vous créez un réseau IPv6 Docker et vous lancez le container avec les bons volumes.
docker network create --ipv6 ip6net
docker run -it
-v ./wg0.conf:/etc/wireguard/wg0.conf -v ./state:/tailguard/state
--cap-add NET_ADMIN --device /dev/net/tun
--sysctl net.ipv4.ip_forward=1 --sysctl net.ipv6.conf.all.forwarding=1
--sysctl net.ipv4.conf.all.src_valid_mark=1
--network ip6net -p 41641:41641/udp
--name tailguard juhovh/tailguard:latest
Et en quelques minutes, votre passerelle est opérationnelle. Et le petit plus, c’est que vous pouvez personnaliser pas mal de paramètres via des variables d’environnement : nom des interfaces, clé d’authentification Tailscale, routes spécifiques, hostname, etc.
L’un des gros avantages de cette approche, c’est la centralisation de la gestion des clés. Plus besoin de distribuer des configs WireGuard à tous vos appareils. Tailscale gère l’authentification avec votre provider d’identité préféré (Okta, Google, GitHub, etc.) et TailGuard fait le lien avec votre infra WireGuard. Cette architecture mesh a aussi le gros avantage d’éliminer les points de défaillance uniques des VPN traditionnels.
Et en termes de sécurité, on est sur du solide car chaque connexion reste chiffrée de bout en bout avec WireGuard, réputé pour sa robustesse cryptographique. Et Tailscale ajoute sa couche de zero-trust avec authentification continue et politiques d’accès basées sur l’identité. Comme ça, plus besoin de faire confiance au réseau, puisque chaque requête est vérifiée.
Et pour ceux qui ont des besoins plus spécifiques, TailGuard offre la possibilité de créer des architectures plus complexes. Vous pouvez par exemple router certains sous-réseaux spécifiques, gérer plusieurs tunnels WireGuard, ou même créer des passerelles redondantes pour la haute disponibilité.
Un truc que j’ai trouvé pas mal du tout en testant, c’est la possibilité de faire du SSO (Single Sign-On) sur des équipements qui normalement ne le supportent pas. Votre vieux serveur Linux avec WireGuard devient soudainement accessible via votre compte Google ou Microsoft, grâce à la magie de Tailscale. Pratique pour les équipes qui souhaitent standardiser leurs accès sans tout migrer.
Et si vous vous demandez pourquoi ne pas utiliser directement Tailscale partout, la réponse est simple : Parfois, c’est juste impossible ou trop compliqué. Certains environnements embedded, certains OS propriétaires ou certaines architectures exotiques ne peuvent pas faire tourner le client Tailscale.
TailGuard
vient donc combler ce gap en utilisant WireGuard comme protocole universel de base.
Voilà, c’est encore une fois un projet sous licence MIT qui est activement maintenu sur GitHub. Bref, si vous cherchez une solution pour unifier vos VPN sans tout casser, TailGuard mérite vraiment le coup d’œil !
Source : korben.info