Le VPN (Headscale / Tailscale)
Le VPN maille toutes les zones et les machines distantes : Headscale 🡕 coordonne (sur le HCS), Tailscale 🡕 est le client sur chaque nœud. Vue d’ensemble dans Réseau.
Activer le VPN
Section intitulée « Activer le VPN »Activer la coordination et déclarer le HCS (profile: hcs) suffit :
network: coordination: enable: true hostname: "hcs" domain: "headscale"Les rôles se déduisent du profil de chaque hôte :
- HCS : coordination du maillage (Headscale).
- Passerelle : subnet router + exit node : publie le sous-réseau de sa zone.
- Autres nœuds : clients Tailscale.
Enregistrer une passerelle
Section intitulée « Enregistrer une passerelle »-
Sur le HCS : créer l’utilisateur d’attache et une clé
Fenêtre de terminal just enter hcssudo headscale users create nix --display-name "Nix Admin" --email "nix@domain.tld"sudo headscale preauthkeys create --reusable --expiration "1d" --user 1 -
Renseigner la clé dans les secrets
Fenêtre de terminal just sops # édite usr/secrets/secrets.yaml → clé tailscale/authKeyLa passerelle s’enregistre ensuite automatiquement (au prochain
just apply). -
Sur la passerelle : annoncer le sous-réseau
Fenêtre de terminal sudo tailscale set --advertise-routes 10.0.0.0/16 --advertise-exit-node \--accept-routes --accept-dns=false --ssh --snat-subnet-routes=false -
Sur le HCS : approuver les routes
Fenêtre de terminal sudo headscale nodes list # repérer l'ID de la passerellesudo headscale nodes approve-routes --identifier <id> --routes 10.0.0.0/16
Administration
Section intitulée « Administration »La commande headscale (alias h = sudo headscale) sur le HCS :
sudo headscale users list # utilisateurssudo headscale nodes list # clients connectéssudo headscale nodes routes # routes annoncées / approuvéesAuto-réparation du client
Section intitulée « Auto-réparation du client »Un tailscaled peut décrocher silencieusement de Headscale : la connexion de
contrôle est perdue alors que le service reste « actif », et le sous-réseau d’une
passerelle devient injoignable jusqu’à un redémarrage manuel. Un watchdog local
détecte et corrige ce cas, sur chaque client Tailscale.
| Aspect | Comportement |
|---|---|
| Sonde | toutes les 60 s : tailscale status (backend, état en ligne, santé) |
| Anti-rebond | 3 sondes en échec d’affilée (~3 min) avant d’agir : encaisse les coupures WAN passagères |
| Correction | systemctl restart tailscaled (ré-enregistrement automatique sur Headscale) |
| Anti-boucle | une seule correction par fenêtre de 10 min |
| Observabilité | métriques dnf_tailscale_healthy et dnf_tailscale_selfheal_restarts_total (textfile node_exporter) |
Deux alertes accompagnent le mécanisme :
TailscaleUnhealthy: toujours décroché malgré la correction (problème de fond) ;TailscaleFlapping: l’auto-réparation se répète trop souvent (cause à traiter).
Accès depuis l’extérieur
Section intitulée « Accès depuis l’extérieur »Pour rejoindre le réseau hors d’une zone, voir Se connecter depuis l’extérieur.