WireGuard, Headscale und Tailscale
- Alter Schlachtraum, Wels
- 10.06.2022
Ziele
- Zugriff auf verschiedene Systeme
- öffentliche Server
- private Server
- Laptops/Desktops
- Drucker
- IoT (Wechselrichter, …)
- Zugriff über verschiedene Netzwerkstacks
- öffentliche, statisch IPv4/IPv6 (Server)
- Dynamische, externe IP (ADSL)
- Carrier-Grade-NAT (CGN)
- Meta
- FOSS
- Selfhosted
- Gewartet/maintained
- Zentrale Wartung
- Access Control zentral
- Kommunikation dezentral (Daten sollen nicht über einen zentralen Knoten geroutet werden)
Mögliche Lösungen
- Cloud Services nutzen
- Zentrales VPN (OpenVPN, …)
Zerotier: https://zerotier.com/
- Tailscale/Headscale
Tailscale
- "Networking like in a 90s LAN"
- Komponenten
- Client: Open Source, Windows, Linux, Mac, iOS, Android, …
Management Service: Closed Source, Cloud-based --> Headscale
- Global verteilte Relay Server
- Zentrales Management (Geräteverwaltung, …):
Access-Control-Lists (ACL, Firewalling): https://tailscale.com/kb/1018/acls/
- Dezentrale Kommunikation (basierend auf Wireguard - Go Implementierung, nicht Kernel)
- Statische IPv4 und statische IPv6 für jedes Gerät
MagicDNS: device.namespace.example.com -> 100.64.x.x
- Subnet Router
Exit Node (route all traffic): https://tailscale.com/kb/1103/exit-nodes/
- Nat punching - DERP (Relay Server)
- File Sharing zwischen Nodes
Headscale
- Open Source Implementierung des Tailscale Coordination Servers
- Unabhängig von Tailscale Inc.
- Selfhosted
- Geschrieben in Go
- Alle paar Monate ein Release
Hinweise
- Jeder hat - laut RTR - ein Recht auf eine öffentliche IP-Adresse.
- Definition: "Was ist ein Internetanschluss?"
Derzeit ist nur 1 Tailscale Netzwerk möglich: https://github.com/tailscale/tailscale/issues/183