Aller au contenu principal

VPN Zero Trust Headscale / WireGuard

Un VPN moderne « qui marche tout seul » comme Tailscale est confortable, mais le serveur qui décide quelles machines existent et qui a le droit de parler à qui, la coordination, est un SaaS propriétaire hébergé aux États-Unis. France Nuage fait tourner ce même serveur de coordination en France, à partir de Headscale, la réimplémentation open source du serveur de Tailscale. Votre trafic, lui, reste en WireGuard pair-à-pair, chiffré de bout en bout.

Accès : un serveur de coordination dédié à votre projet, par exemple managed-votreslug-headscale-votreprojet.apps.france-nuage.fr.

Les deux étages d'un VPN​

Un VPN moderne se découpe en deux plans. Confondre les deux fait croire qu'un tunnel chiffré suffit à être souverain. Ce n'est pas le cas.

  • Le plan de données transporte le trafic. WireGuard le chiffre de bout en bout, de machine à machine, en ChaCha20-Poly1305, directement dans le noyau Linux. Personne au milieu ne le lit, ni Tailscale ni France Nuage.
  • Le plan de contrôle orchestre le réseau : quelles machines existent, lesquelles ont le droit de se joindre, et il distribue les clés. C'est l'annuaire de votre réseau, et c'est lui que France Nuage garde en France.

Le chiffrement protège déjà le contenu. Ce qui fuit chez un tiers soumis au droit américain, c'est l'annuaire : l'identité de vos machines et la carte de qui se connecte à quoi. La page Réseau et infrastructure décrit où ces briques s'exécutent.

Comparatif​

CritèreFrance Nuage (Headscale managé)Tailscale (SaaS)Auto-hébergement
Plan de contrôleHébergé en FranceHébergé aux États-UnisSelon vous
Métadonnées de coordinationSouveraines, droit françaisSoumises au droit américainSelon vous
Plan de donnéesWireGuard chiffré de bout en boutWireGuard chiffré de bout en boutWireGuard chiffré de bout en bout
ClientClient Tailscale standardClient Tailscale standardClient Tailscale standard
Repli NATRelais Tailscale, trafic chiffré de bout en boutRelais Tailscale, trafic chiffré de bout en boutRelais Tailscale par défaut, relais propre possible
RéversibilitéOpen source, ré-internalisableSaaS propriétaireTotal
Mises à jour & disponibilitéGéréesGéréesÀ votre charge

L'expérience client est identique à celle de Tailscale, et c'est voulu : vous installez le client Tailscale standard. La seule différence est l'endroit où vit le serveur de coordination, et le droit qui s'y applique.

Fonctionnement​

Vous installez le client Tailscale habituel sur vos machines, puis vous le pointez sur votre serveur de coordination hébergé chez France Nuage. À partir de là, vos machines se découvrent et montent des tunnels WireGuard directs, de pair à pair. Le trafic va d'une machine à l'autre sans transiter par un serveur central.

Quand deux machines ne peuvent pas se joindre en direct (NAT strict, pare-feu fermé), le trafic doit être relayé. Ce repli n'emprunte aucun relais de France Nuage : votre serveur de coordination distribue la carte de relais publiée par Tailscale Inc., société de droit américain, et le relayage passe alors par les relais de cette société. Cette carte est rafraîchie automatiquement toutes les vingt-quatre heures, et sa composition peut donc changer sans notre intervention. Elle comprend des relais européens (Paris, Amsterdam, Francfort, Londres, Madrid, Helsinki, Nuremberg, Varsovie) et des relais hors d'Europe (États-Unis, Canada, Brésil, Afrique du Sud, Kenya, Émirats arabes unis, Inde, Singapour, Hong Kong, Japon, Australie). Le relais retenu est celui que les deux machines joignent le mieux : nous ne garantissons pas le pays par lequel un repli transite.

Ce que cela ne change pas : le trafic relayé reste chiffré de bout en bout par WireGuard, de machine à machine. Un relais transporte des paquets qu'il ne peut pas déchiffrer, puisqu'il ne détient aucune clé ; il voit des adresses IP, des volumes et des horodatages, jamais le contenu. Le plan de contrôle, lui, ne quitte pas France Nuage : l'annuaire de vos machines, les droits d'accès et la distribution des clés restent en France.

Cette dépendance ne concerne que le repli, et ce seul service. Les connexions directes, qui sont le cas normal, ne touchent aucun relais. Pour la réduire, laissez à vos machines un chemin direct : autorisez l'UDP sortant (port 41641 par défaut) et évitez les pare-feu qui empêchent le percement de NAT. Un tunnel direct n'emprunte aucun relais.

Deux dépendances envers Tailscale Inc. subsistent donc : le client, dont le logiciel et les mises à jour viennent d'elle, et les relais de repli. Ce que France Nuage rend souverain, c'est la coordination de votre réseau : l'annuaire des machines, les droits d'accès, la distribution des clés.

Démarrage rapide​

1. Activer le service​

  1. Rendez-vous sur console.france-nuage.fr et connectez-vous.
  2. Activez le service réseau Zero Trust. France Nuage provisionne votre serveur de coordination Headscale dédié et vous communique son URL (--login-server).

2. Installer le client sur une machine​

Installez le client Tailscale standard (Linux, macOS, Windows, iOS, Android) :

# Linux (Debian/Ubuntu et dérivés)
curl -fsSL https://tailscale.com/install.sh | sh

3. Rejoindre votre réseau​

Pointez le client sur votre serveur de coordination France Nuage :

sudo tailscale up \
--login-server=https://managed-votreslug-headscale-votreprojet.apps.france-nuage.fr:443 \
--accept-routes

L'option --accept-routes n'est pas obligatoire, mais elle est souvent très utile : la machine accepte alors toutes les routes publiées sur le réseau VPN (les sous-réseaux annoncés par d'autres nœuds), et pas seulement les adresses des machines enrôlées.

Suivez l'URL d'enrôlement affichée, puis approuvez la machine depuis la console. Répétez l'opération sur chaque machine à relier.

4. Vérifier la connexion​

# Liste les machines du réseau et leurs adresses
tailscale status

# Teste un tunnel chiffré vers une autre machine
tailscale ping votre-serveur

Une fois deux machines enrôlées, elles se joignent directement par leur adresse de réseau privé, sans qu'aucun port ne soit ouvert sur l'Internet public.

Accès SSH sans exposer vos VMs​

Le cas d'usage le plus courant : atteindre vos VMs en SSH sans port ouvert sur Internet. Vos machines ne sont joignables que depuis le réseau WireGuard ; il n'y a plus ni bastion exposé ni IP publique à défendre.

# La VM est jointe par son adresse de réseau privé, pas par une IP publique
ssh admin@vm-prod

Le tutoriel Première connexion détaille la mise en route d'une première machine sur France Nuage.

Cas d'usage​

  • Accès SSH à vos VMs : vos serveurs ne sont joignables que depuis le réseau WireGuard, sans port SSH ouvert sur Internet.
  • Remplacer un VPN ou un bastion legacy : un maillage WireGuard pair-à-pair à la place d'un concentrateur VPN ou d'un bastion exposé à maintenir.
  • Relier plusieurs sites : bureaux, datacenters, machines de dev réunis dans un seul réseau privé chiffré, coordonné depuis la France.
  • Donner un accès temporaire : un prestataire rejoint le réseau le temps nécessaire, sans rien ouvrir publiquement.

Réversibilité​

Tout est open source. Vous pourriez monter ce serveur de coordination vous-même : c'est précisément ce que permet Headscale. France Nuage le gère à votre place (mises à jour, disponibilité, sauvegardes) sans vous enfermer. La brique étant open source, vous gardez le droit de tout reprendre sur votre propre matériel le jour où vous le décidez.

Références​


WireGuard est une marque déposée de Jason A. Donenfeld. Tailscale est une marque de Tailscale Inc. Linux est une marque déposée de Linus Torvalds. France Nuage n'est ni affilié à ces sociétés ni cautionné par elles ; ces noms sont employés à titre descriptif, pour désigner les technologies mises en œuvre.