Tailscale erklärt — Mesh-VPN für sicheren Server-Zugriff
Direkte Antwort: Tailscale ist ein Zero-Config-VPN auf WireGuard-Basis, das deine Geräte zu einem privaten Mesh-Netz verbindet. Auf einem OpenClaw-Server kannst du damit SSH komplett aus dem Internet ziehen und nur noch über Tailscale erreichen — sicherer als jede Firewall-Regel.
Was ist Tailscale?
Tailscale ist ein Mesh-VPN, das auf dem schnellen, modernen WireGuard-Protokoll aufbaut. Im Gegensatz zu klassischen VPN-Setups (Hub-and-Spoke) verbindet Tailscale alle Geräte direkt miteinander — peer-to-peer, ohne dass der Traffic über einen zentralen Server muss.
Die Idee: Du installierst den Tailscale-Client auf deinem Laptop, deinem Phone und deinem OpenClaw-Server. Alle Geräte sehen sich gegenseitig wie im selben LAN, egal wo auf der Welt sie stehen. Verschlüsselt, authentifiziert, ohne Konfigurations-Aufwand.
Kontext
Klassische VPNs (OpenVPN, WireGuard pur) sind mächtig, aber komplex einzurichten. Du brauchst statische IPs, Schlüssel-Verteilung, NAT-Traversal und oft einen zentralen Server. Tailscale automatisiert all das.
Es nutzt WireGuard für die eigentliche Verschlüsselung und einen Coordination-Server (von Tailscale gehostet) für die Schlüsselverteilung. Der Coordination-Server sieht aber niemals deinen Traffic — der läuft direkt zwischen Peers.
Für DACH-Self-Hoster ist Tailscale eine massive Erleichterung: SSH-Zugriff aus dem Café, Wartung auf Reisen, Multi-Server-Setups, alles ohne offene Public-Ports.
Funktionsweise
- Du registrierst dich (Free-Plan: 100 Geräte für persönliche Nutzung)
- Auf jedem Gerät installierst du den Tailscale-Client
- Du loggst dich auf jedem Gerät einmal ein (per Google, GitHub, eigenem SSO oder Email)
- Tailscale weist jedem Gerät eine 100.x.y.z-IP zu (sogenannte Tailnet-IP)
- Geräte können sich gegenseitig per Tailnet-IP oder MagicDNS-Hostnamen erreichen
Dein Laptop (100.64.1.5) <-- Tailnet --> Hetzner-Server (100.64.1.10)
\/
OpenClaw Gateway
Du SSH-st nicht mehr per ssh user@123.45.67.89, sondern ssh user@my-server (per MagicDNS) oder ssh user@100.64.1.10.
Praxis-Beispiel
Setup auf Ubuntu-Server:
# Installation
curl -fsSL https://tailscale.com/install.sh | sh
# Login
sudo tailscale up
# Beim ersten Mal: URL auf Konsole, im Browser öffnen, Account verknüpfen.
# Status pruefen
tailscale status
Output:
100.64.1.10 my-server openclaw linux -
100.64.1.5 laptop openclaw macOS active
100.64.1.7 iphone openclaw iOS active
Auf deinem Laptop kannst du jetzt:
ssh openclaw@my-server
# oder per Tailnet-IP
ssh openclaw@100.64.1.10
Auth-Keys für Server
Wenn du Server unattended (z.B. via Provisioning) zu Tailscale joinen willst, nutzt du Auth-Keys statt Browser-Login:
# Im Tailscale-Admin: Auth-Key generieren
sudo tailscale up --authkey=tskey-auth-xxx --hostname=my-server
Praxis-Tipp: Reusable Keys mit Ablaufdatum nutzen, nicht ewig gültige.
MagicDNS
Tailscale bietet MagicDNS — automatische Hostnamen für deine Geräte. Statt 100.64.1.10 zu tippen, geht my-server. Aktiviert man im Admin-Panel mit einem Klick.
ssh openclaw@my-server
ping my-server
curl http://my-server:8080
SSH komplett aus der Public-Welt ziehen
Mit Tailscale kannst du SSH-Zugriff von außen komplett blockieren. Schritt-für-Schritt:
# 1. UFW so anpassen, dass SSH nur aus Tailscale geht
sudo ufw allow in on tailscale0 to any port 22
sudo ufw delete allow 22/tcp
# 2. Sshd_config beschraenken auf Tailscale-Interface
echo "ListenAddress 100.64.1.10" | sudo tee -a /etc/ssh/sshd_config
sudo systemctl restart sshd
# 3. Pruefen, dass von ausserhalb kein SSH mehr geht
# (z.B. vom Handy ohne Tailscale)
Damit hast du Brute-Force komplett eliminiert. SSH-Bots können dich nicht mehr attackieren, weil Port 22 öffentlich zu ist.
Tailscale + Tailscale SSH
Tailscale bietet auch eine eigene SSH-Implementierung, die ohne Keys/Passwörter auskommt:
sudo tailscale up --ssh
ssh openclaw@my-server # auth via Tailscale ACLs
Praktisch, aber für viele Cases ist klassisches SSH per Tailnet auch okay.
ACLs (Access Control Lists)
Im Tailscale-Admin definierst du, welche Geräte was dürfen. Standard: alle dürfen alles. Im Team-Setup willst du das einschränken:
{
"acls": [
{"action": "accept", "src": ["group:admins"], "dst": ["tag:server:*"]},
{"action": "accept", "src": ["group:devs"], "dst": ["tag:server:8080"]}
]
}
Tailscale vs. klassisches VPN
| Aspekt | Tailscale | OpenVPN/WireGuard pur | | --- | --- | --- | | Setup | 5 Minuten | Stunden | | NAT-Traversal | Automatisch | Manuelle Konfig nötig | | Multi-Geräte | Mesh, alle direkt | Hub-and-Spoke | | Kosten Free-Plan | 100 Devices kostenlos | Komplett kostenlos | | Audit-Logs | Im Admin-Panel | Selbst bauen | | Open Source | Ja (Headscale = self-hosted) | Ja |
Häufige Fehler / Stolperfallen
- Auth-Key in Git committet: Wie API-Keys sofort rotieren bei Leak.
- MagicDNS nicht aktiviert: Du tippst dauernd 100.x.y.z. Ein Klick im Admin-Panel und es geht hostnames.
- Tailscale Service vergessen zu enablen:
sudo systemctl enable tailscaleddamit es nach Reboot wieder läuft. - Falscher User-Account beim Login: Wenn du verschiedene Accounts nutzt (privat/firmen), achte beim Browser-Login darauf, mit dem richtigen Tailnet zu verbinden.
- ACLs nicht testen: Wenn du strenge ACLs setzt und dich aussperrst, hilft nur der Tailscale-Admin im Web. Test in Etappen.
Headscale: Self-Hosted Tailscale
Wer keinen externen Coordination-Server nutzen will, kann Headscale selbst hosten. Open-Source-Implementation des Tailscale-Coordination-Servers, kompatibel mit dem offiziellen Tailscale-Client. Mehr Setup, aber volle Kontrolle.
Verwandte Begriffe
Sichere Server-Einrichtung: Modul 2 der Masterclass.