O08 - Tailscale : un VPN maillé sans configuration
Objectif
Relier ton PC, ton téléphone, ton Raspberry Pi et tes serveurs dans un réseau privé chiffré, joignable de partout, sans ouvrir de port sur ta box ou le réseau de la résidence.
1. Principe
flowchart TB CTRL["☁️ Serveur de coordination Tailscale<br/>(échange des clés, pas de données)"] PC["💻 Pop!_OS<br/>100.101.1.10"] <-->|"WireGuard chiffré<br/>de pair à pair"| PI["🍓 Raspberry Pi<br/>100.101.1.20"] PC <--> TEL["📱 S24 Ultra<br/>100.101.1.30"] TEL <--> PI PC -.-> CTRL PI -.-> CTRL TEL -.-> CTRL
- Basé sur WireGuard (protocole VPN moderne).
- Chaque appareil reçoit une IP fixe en 100.x.y.z (plage CGNAT
100.64.0.0/10) et un nom (MagicDNS :ssh pi@raspberrypi). - Les connexions sont directes entre appareils quand c’est possible (traversée de NAT), sinon relayées (serveurs DERP).
- Gratuit pour un usage personnel. Alternative 100 % auto-hébergée : Headscale.
2. Installation
# Pop!_OS, Debian, Raspberry Pi OS, Ubuntu
curl -fsSL https://tailscale.com/install.sh | sh
# Arch
sudo pacman -S tailscale
sudo systemctl enable --now tailscaled
# Puis sur chaque machine
sudo tailscale up # affiche une URL d'authentification à ouvrirAndroid : application Tailscale (Play Store).
3. Commandes
| Commande | Effet |
|---|---|
tailscale status | Appareils du réseau et leur IP |
tailscale ip -4 | Mon IP Tailscale |
tailscale ping raspberrypi | Tester (et voir si la liaison est directe ou relayée) |
sudo tailscale up --ssh | Activer Tailscale SSH (authentification gérée par Tailscale) |
sudo tailscale up --advertise-routes=192.168.1.0/24 | Subnet router : rendre tout un réseau local accessible |
sudo tailscale up --advertise-exit-node | Proposer cette machine comme sortie Internet |
sudo tailscale down | Se déconnecter du réseau |
Pour un subnet router ou un exit node Linux, il faut aussi activer le routage :
net.ipv4.ip_forward=1(comme pour un routeur → S03 - Pare-feu Linux (iptables et nftables)), puis approuver la route dans la console web (login.tailscale.com).
4. Tailscale vs VPN « classique »
| VPN classique (OpenVPN, IPsec sur pfSense) | Tailscale | |
|---|---|---|
| Topologie | En étoile (tout passe par le serveur VPN) | Maillée (pair à pair) |
| Configuration | Certificats, ports ouverts, règles | Une commande par machine |
| Port à ouvrir | Oui (ex. UDP 1194) | Non |
| Contrôle | Total (auto-hébergé) | Coordination par l’éditeur (ou Headscale) |
| Usage BTS | À savoir configurer (épreuves E6/E7) → P07 - VPN (WireGuard, IPsec, OpenVPN) | Pratique au quotidien |