
Tailscale permet d’accéder à vos serveurs depuis n’importe où en 10 minutes, sans ouvrir de ports ni gérer d’IP dynamique. Contrairement à OpenVPN, la configuration se fait en quelques clics et chaque machine reçoit une IP fixe dans un réseau privé maillé sécurisé par WireGuard.
Ce que vous allez obtenir
Section intitulée « Ce que vous allez obtenir »- Accès distant sécurisé à toutes vos machines depuis n’importe où
- IP fixe privée pour chaque appareil (fini les problèmes d’IP dynamique)
- SSH simplifié sans exposer le port 22 sur Internet
- Accès au LAN (NAS, routeur) via subnet router
- Sortie Internet “comme à la maison” en déplacement (exit node)
Prérequis
Section intitulée « Prérequis »| Élément | Détail |
|---|---|
| Compte | Gratuit sur tailscale.com (Google, Microsoft ou email) |
| OS supportés | Linux, Windows, macOS, iOS, Android |
| Accès admin | Droits sudo/admin pour l’installation |
| Temps estimé | 10–15 minutes pour l’installation de base |
Chemin rapide
Section intitulée « Chemin rapide »- Installation — 5 min
- Connexion SSH — 2 min
- Subnet router — 5 min (optionnel)
- Exit node — 3 min (optionnel)
- Checklist sécurité — 5 min
Pourquoi Tailscale plutôt qu’OpenVPN ?
Section intitulée « Pourquoi Tailscale plutôt qu’OpenVPN ? »Jusqu’à récemment, j’utilisais OpenVPN pour accéder à mon homelab à distance. Ça fonctionnait bien, tant que mon FAI me fournissait une IP fixe. Puis des travaux dans la rue ont tout changé : mon IP publique change maintenant régulièrement et mon fournisseur ne propose plus d’IP fixe.
Face à ce problème, j’ai testé Tailscale. Contrairement à OpenVPN, Tailscale gère automatiquement les changements d’IP et crée un réseau privé où chaque machine dispose d’une IP fixe interne, même si l’IP publique change.
| Critère | OpenVPN | Tailscale |
|---|---|---|
| Configuration | Complexe (certificats, ports) | Simple (quelques clics) |
| IP dynamique | Nécessite un DynDNS | Géré automatiquement |
| Ports ouverts | Oui (UDP 1194 typiquement) | Non (connexions sortantes) |
| Architecture | Client-serveur | Mesh (peer-to-peer) |
| Protocole | OpenVPN | WireGuard |
Architecture comparée : Hub-and-Spoke vs Mesh
Section intitulée « Architecture comparée : Hub-and-Spoke vs Mesh »Dans un VPN traditionnel (à gauche), tout le trafic passe par un serveur central : latence élevée, goulot d’étranglement, et point unique de défaillance. Avec Tailscale (à droite), chaque appareil se connecte directement aux autres via WireGuard : latence minimale et pas de point de congestion.
Qu’est-ce que Tailscale ?
Section intitulée « Qu’est-ce que Tailscale ? »Tailscale est un VPN nouvelle génération basé sur WireGuard. Il crée un réseau mesh (maillé) où chaque appareil peut communiquer directement avec les autres, sans passer par un serveur central.
Le concept de Tailnet
Section intitulée « Le concept de Tailnet »Quand vous créez un compte Tailscale, vous obtenez un tailnet : votre réseau privé personnel. Chaque appareil connecté reçoit une IP fixe dans la plage 100.x.y.z (appelée CGNAT). Cette IP reste la même, peu importe où se trouve l’appareil dans le monde.
Pourquoi WireGuard ?
Section intitulée « Pourquoi WireGuard ? »WireGuard est un protocole VPN moderne créé par Jason A. Donenfeld. Ses avantages :
- Légèreté : ~4000 lignes de code (vs 100 000+ pour OpenVPN)
- Performance : connexions quasi-instantanées, latence minimale
- Sécurité : primitives cryptographiques modernes (ChaCha20, Poly1305, Curve25519)
- Auditabilité : code suffisamment petit pour être audité en profondeur
Tailscale ajoute une couche de coordination et de gestion au-dessus de WireGuard, simplifiant l’échange de clés et la découverte des pairs.
Comment ça fonctionne ?
Section intitulée « Comment ça fonctionne ? »- Installation : Tailscale s’installe en quelques clics sur tous les OS
- Authentification : Connexion via un fournisseur d’identité (Google, Microsoft, GitHub…)
- Coordination : Les serveurs Tailscale distribuent les clés publiques et les adresses
- Connexion directe : Les appareils établissent des connexions peer-to-peer chiffrées
- NAT traversal : Tailscale utilise des techniques avancées (STUN, ICE) pour traverser les NAT
Installation et configuration de Tailscale
Section intitulée « Installation et configuration de Tailscale »-
Créez un compte
Rendez-vous sur tailscale.com et créez un compte gratuit (Google, Microsoft ou email).
-
Installez l’application
- Linux :
Fenêtre de terminal curl -fsSL https://tailscale.com/install.sh | sh - Windows/macOS : Télécharger
- iOS : App Store
- Android : Play Store
- Linux :
-
Connectez-vous
Fenêtre de terminal sudo tailscale upUn lien s’affiche pour autoriser l’appareil dans votre navigateur.
-
Vérifiez la connexion
Fenêtre de terminal tailscale statusVous devriez voir votre machine avec son IP Tailscale (100.x.x.x).
-
Répétez sur vos autres appareils
Installez Tailscale sur chaque machine que vous voulez connecter.

Connexion SSH avec Tailscale
Section intitulée « Connexion SSH avec Tailscale »Via la console web Tailscale
Section intitulée « Via la console web Tailscale »Tailscale offre un terminal SSH directement dans le navigateur :
- Connectez-vous au tableau de bord Tailscale
- Trouvez la machine cible dans la liste
- Cliquez sur le bouton SSH à côté du nom

Via votre terminal habituel
Section intitulée « Via votre terminal habituel »ssh utilisateur@100.x.x.xOu avec MagicDNS activé :
ssh utilisateur@nom-machineConfiguration SSH recommandée (~/.ssh/config) :
Host *.tail*.ts.net User votre_nom_utilisateur IdentityFile ~/.ssh/votre_cle_priveeSubnet router : accéder au LAN complet
Section intitulée « Subnet router : accéder au LAN complet »Un subnet router permet d’accéder à des appareils qui n’ont pas Tailscale installé (NAS, routeur, imprimante, caméras IP).
Exemple d’Architecture complète d’un homelab avec Tailscale
Section intitulée « Exemple d’Architecture complète d’un homelab avec Tailscale »Ce schéma illustre une configuration typique :
- Le subnet router (en violet) expose le réseau local 192.168.1.0/24 à votre tailnet
- Les appareils avec Tailscale (en vert) communiquent directement entre eux
- Les appareils sans Tailscale (en gris) restent accessibles via le subnet router
- L’exit node permet de faire sortir tout le trafic Internet via votre connexion domestique
Comment ça fonctionne ?
Section intitulée « Comment ça fonctionne ? »Le subnet router agit comme une passerelle entre votre tailnet et un réseau local traditionnel. Il utilise le SNAT (Source Network Address Translation) par défaut : le trafic des appareils Tailscale apparaît comme provenant du subnet router pour les appareils du LAN.
Cas d’usage
Section intitulée « Cas d’usage »- Accéder à l’interface web de votre routeur (192.168.1.1)
- Monter un partage NFS/SMB sur un NAS
- Administrer des équipements IoT
Configuration
Section intitulée « Configuration »-
Activez le routage IP sur la machine qui servira de passerelle
Fenêtre de terminal echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.confecho 'net.ipv6.conf.all.forwarding = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.confsudo sysctl -p /etc/sysctl.d/99-tailscale.conf -
Annoncez le sous-réseau
Fenêtre de terminal sudo tailscale up --advertise-routes=192.168.1.0/24 -
Approuvez la route dans la console Tailscale
- Allez dans Machines → cliquez sur la machine → Edit route settings
- Cochez la route annoncée
-
Vérifiez l’accès
Depuis un autre appareil Tailscale, pingez une IP du LAN :
Fenêtre de terminal ping 192.168.1.1
Exit node : sortir “comme à la maison”
Section intitulée « Exit node : sortir “comme à la maison” »Un exit node fait transiter tout votre trafic Internet via une machine de votre réseau. Contrairement au subnet router qui ne route que vers des réseaux spécifiques, l’exit node devient votre passerelle Internet par défaut.
Différence entre subnet router et exit node
Section intitulée « Différence entre subnet router et exit node »| Fonction | Subnet router | Exit node |
|---|---|---|
| Objectif | Accéder à un réseau privé | Router tout le trafic Internet |
| Routes | Sous-réseaux spécifiques (192.168.x.x) | Routes par défaut (0.0.0.0/0, ::/0) |
| Cas d’usage | Accéder au NAS, routeur | Sécuriser Wi-Fi public |
Cas d’usage de l’exit node
Section intitulée « Cas d’usage de l’exit node »- Wi-Fi public : chiffrer tout le trafic sur un réseau non fiable (café, aéroport)
- Accès géo-restreint : apparaître comme si vous étiez chez vous (streaming, banque)
- Compliance : respecter les politiques qui exigent un VPN
- Centraliser les logs : toutes les connexions sortent d’une seule IP
Configuration
Section intitulée « Configuration »-
Sur la machine exit node (typiquement un serveur homelab)
Fenêtre de terminal sudo tailscale up --advertise-exit-node -
Approuvez dans la console Tailscale (même procédure que subnet router)
-
Sur le client (laptop en déplacement, téléphone…)
Fenêtre de terminal sudo tailscale up --exit-node=nom-de-la-machineOu dans l’app mobile : sélectionnez l’exit node dans les paramètres.
-
Vérifiez
Fenêtre de terminal curl ifconfig.meL’IP affichée doit être celle de votre connexion domestique.
La sécurité de Tailscale
Section intitulée « La sécurité de Tailscale »Tailscale utilise WireGuard, un protocole VPN moderne reconnu pour sa simplicité et son efficacité.
Primitives cryptographiques
Section intitulée « Primitives cryptographiques »| Fonction | Algorithme | Rôle |
|---|---|---|
| Chiffrement | ChaCha20 | Confidentialité des données |
| Authentification | Poly1305 | Intégrité et authenticité |
| Échange de clés | Curve25519 | Diffie-Hellman sur courbe elliptique |
| Dérivation de clés | BLAKE2s | Génération de clés de session |
| Handshake | Noise Protocol | Établissement de connexion sécurisé |
Pourquoi c’est robuste ?
Section intitulée « Pourquoi c’est robuste ? »- Pas de choix cryptographique : WireGuard impose des algorithmes modernes, pas de négociation vulnérable
- Code minimal : ~4000 lignes (vs 100 000+ pour OpenVPN), plus facile à auditer
- Perfect Forward Secrecy : même si une clé est compromise, les sessions passées restent sécurisées
- Pas de state server-side : résistant aux attaques par déni de service
Control plane vs Data plane
Section intitulée « Control plane vs Data plane »Une question fréquente : “Tailscale est-il vraiment sécurisé si c’est dans le cloud ?”
| Composant | Où ? | Rôle |
|---|---|---|
| Control plane | Serveurs Tailscale | Coordination, distribution des clés publiques, ACL |
| Data plane | Direct entre vos machines | Trafic chiffré, ne passe pas par Tailscale |
En clair : Tailscale ne voit jamais vos données. Il ne fait que permettre à vos machines de se trouver. Le trafic passe directement entre elles (ou via des relais DERP si la connexion directe échoue, mais toujours chiffré de bout en bout).
Checklist sécurité
Section intitulée « Checklist sécurité »Actions recommandées
Section intitulée « Actions recommandées »-
Définir des ACL pour limiter qui accède à quoi
{"acls": [{"action": "accept", "src": ["tag:admin"], "dst": ["*:*"]},{"action": "accept", "src": ["tag:user"], "dst": ["tag:web:80,443"]}]} -
Activer Tailscale SSH pour centraliser l’authentification
Fenêtre de terminal sudo tailscale up --ssh -
Taguer vos machines pour organiser les permissions
- Console → Machine → Edit tags →
tag:server,tag:laptop…
- Console → Machine → Edit tags →
-
Activer l’expiration des clés (Settings → Keys) pour forcer la ré-authentification
-
Configurer les posture checks (payant) pour bloquer les appareils non conformes
-
Auditer les accès via les logs dans la console Tailscale
Dépannage
Section intitulée « Dépannage »| Symptôme | Cause probable | Solution |
|---|---|---|
| Subnet route ne fonctionne pas | IP forwarding désactivé | sysctl net.ipv4.ip_forward=1 |
| Connexion lente ou via relais | NAT strict, pare-feu bloquant UDP | Vérifier les logs avec tailscale netcheck |
| ”DERP” dans les logs | Connexion directe impossible, passe par relais | Normal derrière certains NAT, trafic reste chiffré |
| Machine invisible | Non autorisée | Approuver dans la console Tailscale |
| MagicDNS ne résout pas | MagicDNS désactivé | Activer dans Console → DNS |
| Exit node lent | Bande passante de votre connexion domestique | Normal, limité par votre upload |
Commandes utiles :
# État de la connexiontailscale status
# Diagnostic réseau complettailscale netcheck
# Voir les routestailscale status --json | jq '.Peer[].AllowedIPs'
# Logs détaillésjournalctl -u tailscaled -fPlans et tarifs
Section intitulée « Plans et tarifs »Tailscale propose plusieurs plans adaptés à différents usages. Pour un homelab personnel, le plan gratuit est généralement suffisant.
| Plan | Prix | Utilisateurs | Appareils | Points clés |
|---|---|---|---|---|
| Personal | Gratuit | 3 | 100 | Toutes les fonctionnalités essentielles, pour toujours |
| Personal Plus | 5$/mois | 6 | 100 | Partage avec famille/amis |
| Starter | 6$/utilisateur/mois | Illimité | 100 + 10/user | ACL basiques, MagicDNS, split tunneling |
| Premium | 18$/utilisateur/mois | Illimité | 100 + 20/user | Tailscale SSH, Funnel, ACL avancées, MDM |
| Enterprise | Sur devis | Illimité | Sur mesure | Posture management, SCIM, support dédié |
Fonctionnalités par plan
Section intitulée « Fonctionnalités par plan »Inclus dans tous les plans (y compris gratuit) :
- Subnet routers et exit nodes
- MagicDNS
- Taildrop (transfert de fichiers)
- ACL de base (par IP, subnet, tags, autogroups)
- Support multi-plateforme
Nécessite un plan payant (Starter+) :
- ACL par groupes et utilisateurs
- Logs de configuration
Nécessite Premium ou supérieur :
- Tailscale SSH avec gestion centralisée
- Tailscale Funnel (exposer sur Internet)
- Logs de flux réseau
- Politiques MDM
Enterprise uniquement :
- SSH session recording
- Log streaming
- Posture checks avancés
- SCIM/provisioning
À retenir
Section intitulée « À retenir »- Tailscale crée un réseau mesh sécurisé par WireGuard, sans ouvrir de ports
- Chaque machine reçoit une IP fixe (100.x.x.x), indépendamment de l’IP publique
- MagicDNS permet d’utiliser des noms plutôt que des IP
- Subnet router donne accès aux appareils du LAN sans Tailscale
- Exit node fait transiter tout le trafic via une machine de confiance
- Le trafic ne passe jamais par Tailscale (sauf relais DERP chiffré)
- Les ACL sont essentielles pour une sécurité en production
FAQ - Questions Fréquemment Posées
Section intitulée « FAQ - Questions Fréquemment Posées »VPN mesh vs VPN classique
Tailscale est un VPN mesh (maillé), pas un VPN client-serveur classique.| Aspect | VPN classique | Tailscale |
|---|---|---|
| Architecture | Client → Serveur central | Peer-to-peer (mesh) |
| Trafic | Passe par le serveur | Direct entre machines |
| Point de défaillance | Serveur = SPOF | Aucun point central |
| Latence | Ajoutée par le serveur | Minimale (direct) |
| Protocole | OpenVPN, IPSec | WireGuard |
Comment ça fonctionne
- Control plane (Tailscale) : distribue les clés publiques et coordonne
- Data plane (vos machines) : trafic chiffré direct entre appareils
┌─────────┐ ┌─────────┐
│ Machine │ ◄─────► │ Machine │
│ A │ direct │ B │
└─────────┘ chiffré └─────────┘
▲ ▲
│ coordination │
└──────┬───────────┘
│
┌────────▼────────┐
│ Serveurs Tailscale │
│ (clés publiques) │
└─────────────────┘
Tailscale ne voit jamais vos données, seulement les métadonnées de coordination.Aucun port à ouvrir
Non, Tailscale ne nécessite aucun port entrant ouvert sur votre box ou pare-feu.Comment ça marche
Tailscale utilise uniquement des connexions sortantes et des techniques avancées de NAT traversal :| Technique | Rôle |
|---|---|
| STUN | Découvrir l'IP publique et le type de NAT |
| ICE | Négocier le meilleur chemin de connexion |
| UDP hole punching | Établir des connexions P2P à travers le NAT |
Si la connexion directe échoue
Si le NAT est trop restrictif (double NAT, CGNAT symétrique), Tailscale utilise des relais DERP :# Vérifier le type de connexion
tailscale status
# Diagnostic complet
tailscale netcheck
Ports utilisés (sortants uniquement)
| Port | Protocole | Usage |
|---|---|---|
| 41641 | UDP | Connexions WireGuard directes |
| 443 | TCP | Fallback HTTPS, coordination |
| 3478 | UDP | STUN |
Comparaison exit node vs subnet router
| Fonction | Subnet router | Exit node |
|---|---|---|
| Objectif | Accéder à un réseau privé | Router tout le trafic Internet |
| Routes | Sous-réseaux spécifiques (192.168.x.x) | Routes par défaut (0.0.0.0/0, ::/0) |
| Trafic concerné | Vers le LAN uniquement | Tout le trafic sortant |
| Cas d'usage | NAS, routeur, imprimante | Wi-Fi public, géo-restriction |
Subnet router
Permet d'accéder à des appareils sans Tailscale installé :# Sur la machine passerelle
sudo tailscale up --advertise-routes=192.168.1.0/24
Exit node
Fait transiter tout votre trafic Internet :# Sur le serveur (chez vous)
sudo tailscale up --advertise-exit-node
# Sur le client (en déplacement)
sudo tailscale up --exit-node=nom-serveur
Schéma
Subnet router : Exit node :
Vous ──► LAN privé Vous ──► Serveur ──► Internet
(192.168.x.x) (tout le trafic)
Les deux peuvent être combinés sur la même machine.Oui, Tailscale gère le CGNAT
CGNAT (Carrier-Grade NAT) est courant sur les connexions 4G/5G et certains FAI. Tailscale fonctionne dans la plupart des cas grâce à plusieurs techniques.Mécanismes de connexion
| Méthode | Priorité | Condition |
|---|---|---|
| Connexion directe | 1 | NAT permet UDP hole punching |
| Relais DERP | 2 | NAT trop restrictif |
Diagnostic
# Vérifier le type de NAT
tailscale netcheck
# Résultat typique derrière CGNAT
# UDP: true
# MappingVariesByDestIP: true ← NAT symétrique
Performances selon le NAT
| Type de NAT | Connexion directe | Performance |
|---|---|---|
| NAT simple (box standard) | Oui | Excellente |
| Double NAT | Souvent | Bonne |
| CGNAT endpoint-independent | Oui | Bonne |
| CGNAT symétrique | Non (via DERP) | Correcte |
Si DERP est utilisé
- Le trafic reste chiffré de bout en bout
- Latence légèrement augmentée
- Tailscale choisit le relais le plus proche
# Voir si DERP est utilisé
tailscale status
# relay "par" ← utilise le relais de Paris
Chiffrement de bout en bout garanti
Vos données sont toujours chiffrées de bout en bout avec WireGuard, quel que soit le chemin emprunté.Ce que Tailscale voit (et ne voit pas)
| Élément | Visible par Tailscale ? |
|---|---|
| Contenu des paquets | Non (chiffré WireGuard) |
| Clés privées | Non (restent sur vos appareils) |
| Clés publiques | Oui (pour la coordination) |
| IP des appareils | Oui (métadonnées) |
| Taille/timing des paquets | Oui (métadonnées) |
Schéma du chiffrement
┌──────────┐ ┌──────────┐
│ Machine A │ ══════════════════► │ Machine B │
│ (chiffre) │ paquets WireGuard │(déchiffre)│
└──────────┘ └──────────┘
│
▼
┌────────────┐
│ Relais DERP │
│ (ne voit que│
│ du chiffré) │
└────────────┘
Primitives cryptographiques
| Fonction | Algorithme |
|---|---|
| Chiffrement | ChaCha20 |
| Authentification | Poly1305 |
| Échange de clés | Curve25519 |
| Handshake | Noise Protocol |
Vérification
# Voir les clés publiques échangées
tailscale status --json | jq '.Peer[].PublicKey'
Même Tailscale Inc. ne peut pas déchiffrer votre trafic.WireGuard = protocole, Tailscale = solution complète
WireGuard est le protocole VPN sous-jacent. Tailscale ajoute une couche de gestion et d'automatisation.Comparaison détaillée
| Aspect | WireGuard pur | Tailscale |
|---|---|---|
| Configuration | Manuelle (clés, IP, endpoints) | Automatique |
| Authentification | Clés publiques à distribuer | SSO (Google, Microsoft, GitHub...) |
| NAT traversal | À gérer soi-même | Intégré (STUN, DERP) |
| DNS | À configurer | MagicDNS automatique |
| ACL | Via firewall local | Centralisées dans la console |
| Gestion | Fichiers de config | Console web + API |
| Ajout d'appareil | Modifier tous les peers | Un clic |
Configuration WireGuard manuelle
# /etc/wireguard/wg0.conf (à créer sur CHAQUE machine)
[Interface]
PrivateKey = <clé_privée>
Address = 10.0.0.1/24
[Peer]
PublicKey = <clé_publique_autre_machine>
Endpoint = <ip_publique>:51820
AllowedIPs = 10.0.0.2/32
Avec Tailscale
# Installation + configuration complète
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up
Quand choisir quoi ?
- WireGuard pur : contrôle total, pas de dépendance externe, peu de machines
- Tailscale : simplicité, nombreuses machines, NAT complexe, équipe non-technique
Modèle de sécurité Tailscale
Par défaut, tous les appareils d'un tailnet peuvent communiquer. Les ACL permettent un contrôle granulaire.Concepts clés
| Concept | Description | Exemple |
|---|---|---|
| Tag | Label sur une machine | tag:server, tag:db |
| Groupe | Ensemble d'utilisateurs | group:devs, group:admins |
| Autogroup | Groupe automatique | autogroup:member |
Structure d'une ACL
{
"groups": {
"group:admins": ["alice@example.com"],
"group:devs": ["bob@example.com", "carol@example.com"]
},
"tagOwners": {
"tag:server": ["group:admins"],
"tag:web": ["group:devs"]
},
"acls": [
{"action": "accept", "src": ["group:admins"], "dst": ["*:*"]},
{"action": "accept", "src": ["group:devs"], "dst": ["tag:web:80,443"]},
{"action": "accept", "src": ["tag:server"], "dst": ["tag:db:5432"]}
]
}
Exemples de règles
| Règle | Signification |
|---|---|
src: ["*"], dst: ["*:*"] |
Tout le monde accède à tout |
src: ["tag:admin"], dst: ["*:22"] |
Admins → SSH partout |
src: ["group:devs"], dst: ["tag:web:80,443"] |
Devs → serveurs web HTTP/S |
Appliquer un tag
# Via CLI
sudo tailscale up --advertise-tags=tag:server
# Ou via la console : Machines → Edit tags
Tester les ACL
Utilisez le bouton Preview dans la console avant de sauvegarder.Tailscale SSH vs OpenSSH classique
Tailscale SSH est une couche d'authentification qui utilise votre identité Tailscale au lieu de clés SSH traditionnelles.Comparaison
| Aspect | OpenSSH classique | Tailscale SSH |
|---|---|---|
| Authentification | Clés SSH (~/.ssh/authorized_keys) | Compte Tailscale (SSO) |
| Gestion des clés | Manuelle sur chaque machine | Centralisée (ACL) |
| Port exposé | 22 (ou autre) | Uniquement via Tailscale |
| Audit | Logs locaux | Console Tailscale |
| Session recording | Non natif | Oui (Enterprise) |
Comment ça fonctionne
┌────────────┐ Tailscale ┌────────────┐
│ Client │ ───────────────► │ Serveur │
│ ssh user@ │ (port 22 via │ Tailscale │
│ machine │ tailscaled) │ SSH │
└────────────┘ └────────────┘
Activation
# Sur le serveur
sudo tailscale up --ssh
# Configuration ACL (console)
{
"ssh": [
{"action": "accept", "src": ["group:admins"], "dst": ["tag:server"], "users": ["root", "autogroup:nonroot"]}
]
}
Quand l'utiliser ?
| Situation | Recommandation |
|---|---|
| Équipe avec turnover | Oui (gestion centralisée) |
| Audit/compliance requis | Oui (logs centralisés) |
| Homelab personnel | Optionnel (clés SSH suffisent) |
| Accès temporaire | Oui (révocation facile) |
Ce qui ne change pas
sshdtourne toujours (sauf si vous le désactivez)- Vos clés SSH existantes fonctionnent toujours
/etc/ssh/sshd_confign'est pas modifié
Qu'est-ce que MagicDNS ?
MagicDNS attribue automatiquement un nom DNS à chaque machine de votre tailnet.Sans vs Avec MagicDNS
| Sans MagicDNS | Avec MagicDNS |
|---|---|
ssh user@100.64.0.1 |
ssh user@serveur |
ping 100.64.0.2 |
ping laptop |
| Mémoriser les IP | Utiliser des noms |
Format des noms
<hostname>.<tailnet-name>.ts.net
Exemple : mon-serveur.tail1234.ts.netAvec MagicDNS, le suffixe est optionnel : mon-serveur suffit.Activation
- Connectez-vous à la console Tailscale
- Section DNS
- Cliquez Enable MagicDNS
Configuration avancée
| Option | Usage |
|---|---|
| Global nameservers | DNS pour les requêtes hors tailnet |
| Split DNS | Domaines spécifiques vers DNS internes |
| Override local DNS | Forcer MagicDNS même si DNS local existe |
Vérification
# Voir les noms des machines
tailscale status
# Tester la résolution
ping mon-serveur
# Voir la config DNS
tailscale dns status
Renommer une machine
- Console → Machines → cliquer sur la machine
- Edit machine name
- Le nouveau nom est propagé automatiquement
Problèmes courants et solutions
| Symptôme | Cause probable | Diagnostic | Solution |
|---|---|---|---|
| Subnet route ne marche pas | IP forwarding désactivé | sysctl net.ipv4.ip_forward |
Activer avec sysctl -w net.ipv4.ip_forward=1 |
| Route non visible | Non approuvée | Console → Machines | Approuver la route |
| MagicDNS ne résout pas | Désactivé | tailscale dns status |
Activer dans Console → DNS |
| Connexion via DERP | NAT restrictif | tailscale netcheck |
Normal, trafic reste chiffré |
| Machine invisible | Non autorisée | Console → Machines | Approuver l'appareil |
| Latence élevée | Relais distant | tailscale ping <machine> |
Vérifier géolocalisation DERP |
Commandes de diagnostic
# État général
tailscale status
# Diagnostic réseau complet
tailscale netcheck
# Ping avec détails (direct vs DERP)
tailscale ping <nom-machine>
# Voir les routes actives
tailscale status --json | jq '.Peer[].AllowedIPs'
# Logs détaillés
journalctl -u tailscaled -f
# Générer un rapport de bug
tailscale bugreport
Checklist de dépannage
- Machine visible ? →
tailscale status - Routes approuvées ? → Console admin
- IP forwarding ? →
sysctl net.ipv4.ip_forward - Firewall local ? →
iptables -Louufw status - DNS fonctionne ? →
tailscale dns status - Connexion directe ? →
tailscale ping <machine>
Réinitialisation si besoin
# Déconnecter et reconnecter
sudo tailscale down
sudo tailscale up
# Réinstallation complète (dernier recours)
sudo tailscale logout
sudo tailscale up
Ressources
Section intitulée « Ressources »- ACL et GitOps — Gérer vos politiques Tailscale comme du code
- Tailscale Serve & Funnel — Exposer un service local sur Internet sans reverse proxy
- Documentation officielle — Guides complets et référence API
- Sécuriser votre homelab — Bonnes pratiques de sécurité pour un lab personnel