3.9 KiB
3.9 KiB
Réseau & Accès
Tailscale VPN
Tailscale remplace ZeroTier depuis décembre 2025 pour le mesh VPN.
Configuration
| Machine | IP Tailscale | Hostname |
|---|---|---|
| Talloires (RPi5) | 10.171.171.1 | talloires.tailfd281f.ts.net |
| Annecy (Synology) | 10.171.171.50 | annecy.tailfd281f.ts.net |
| Mac Lionel | 100.x.x.x | (dynamique) |
DNS MagicDNS
Tailscale fournit la résolution DNS automatique :
*.talloires.tailfd281f.ts.net → Services Talloires
Accès aux services
Tous les services sont accessibles via deux domaines :
| Type | Domaine | Exemple |
|---|---|---|
| LAN | *.talloires.local |
jellyfin.talloires.local |
| Tailscale | *.talloires.tailfd281f.ts.net |
jellyfin.talloires.tailfd281f.ts.net |
Accès LAN
Prérequis
- Certificat CA Caddy installé sur le client
- DNS local configuré (dnsmasq ou /etc/hosts)
Installation du certificat
# Sur Talloires
docker exec caddy cat /data/caddy/pki/authorities/local/root.crt > caddy-root.crt
# Sur Mac
sudo security add-trusted-cert -d -r trustRoot \
-k /Library/Keychains/System.keychain caddy-root.crt
Configuration DNS
Option 1 : dnsmasq sur le routeur
address=/talloires.local/10.171.171.7
Option 2 : /etc/hosts sur chaque client
10.171.171.7 jellyfin.talloires.local
10.171.171.7 git.talloires.local
10.171.171.7 homeassistant.talloires.local
# etc.
Ports exposés
| Port | Service | Protocole |
|---|---|---|
| 443 | Caddy (HTTPS) | TCP |
| 80 | Caddy (HTTP → HTTPS) | TCP |
| 2222 | Gitea SSH | TCP |
| 8123 | Home Assistant (interne) | TCP |
Sécurité
Authelia SSO
La plupart des services sont protégés par Authelia :
Client → Caddy → Authelia → Service
Services protégés par Authelia :
- Transmission
- Netdata
- Dozzle
- Cockpit
Services avec auth propre (bypass Authelia) :
- Jellyfin (auth interne)
- Gitea (OIDC via Authelia)
- Home Assistant (auth interne)
- Arcane (désactivé temporairement)
ProtonVPN (WireGuard)
Transmission utilise un tunnel WireGuard vers ProtonVPN :
Transmission → WireGuard container → ProtonVPN → Internet
↓
Kill switch intégré
(network_mode: service:wireguard)
Vérification IP :
# IP Transmission (doit être ProtonVPN)
docker exec transmission curl -s ifconfig.me
# IP locale
curl -s ifconfig.me
DNS Redondant
Architecture
┌─────────────────────┐ ┌─────────────────────┐
│ Talloires │ │ Annecy │
│ dnsmasq (primaire) │ │ dnsmasq (slave) │
│ 100.116.198.105:53 │◄────│ 10.171.171.50:53 │
└─────────────────────┘ └─────────────────────┘
│ │
└───────────┬───────────────┘
▼
Upstream DNS
(1.1.1.1, 8.8.8.8)
Talloires (Primaire)
- IP: 100.116.198.105 (Tailscale)
- Config:
/etc/dnsmasq.d/tailscale.conf - Upstream: AdGuard DoH via cloudflared (127.0.0.1:5053)
Annecy (Secondaire)
- IP: 10.171.171.50 (LAN)
- Config:
/volume1/docker/dnsmasq/dnsmasq.conf - Container:
andyshinn/dnsmasq(Docker, network_mode: host) - Upstream: Talloires, puis 1.1.1.1 / 8.8.8.8
Test
# Depuis le LAN
dig @10.171.171.50 talloires.local +short
dig @10.171.171.50 go +short
# Depuis Tailscale
dig @100.116.198.105 talloires.local +short
Configuration client
Pour utiliser les deux DNS en failover, configurer :
- DNS primaire: 10.171.171.50 (Annecy - LAN)
- DNS secondaire: 10.171.171.7 (Talloires - si LAN listen activé)