Zum Inhalt springen

Gateway-Dashboard mit Tailscale absichern

Kennst du das? Du hast ein Dashboard auf einem Remote-Server laufen und willst sicher darauf zugreifen. Entweder musst du Ports in der Firewall öffnen oder dich mit komplexen VPN-Setups herumschlagen. Am Ende verbringst du mehr Zeit mit der Infrastruktur und SSL-Zertifikaten als mit deiner eigentlichen Arbeit.

Du möchtest einfach nur, dass dein Gateway sicher erreichbar ist, ohne es direkt dem offenen Internet auszusetzen. Hier kommt die Tailscale-Integration ins Spiel.

  • Tailscale CLI (installiert und eingeloggt)
  • Für serve: HTTPS muss in deinem Tailnet aktiviert sein
  • Für funnel: Tailscale v1.38.3+, MagicDNS, aktiviertes HTTPS und ein Funnel-Node-Attribut
  • Für funnel auf macOS: Die Open-Source-Variante der Tailscale-App

In fünf Minuten ist dein Gateway über Tailscale erreichbar. Ich empfehle den serve-Modus, da er dein Dashboard nur innerhalb deines Tailnets verfügbar macht.

  1. CLI-Start: Starte das Gateway direkt mit Tailscale-Unterstützung:

    Terminal-Fenster
    openclaw gateway --tailscale serve
  2. Konfiguration: Alternativ kannst du die config.json5 anpassen, um das Setup permanent zu machen:

    {
    gateway: {
    bind: "loopback",
    tailscale: { mode: "serve" },
    },
    }

Dein Dashboard ist nun unter https://<magicdns>/ erreichbar.

OpenClaw ist clever beim Thema Sicherheit. Wenn du tailscale.mode = "serve" nutzt und gateway.auth.allowTailscale auf true setzt, erkennt OpenClaw dich automatisch.

Das Gateway nutzt tailscale whois, um die Identität über den Header tailscale-user-login zu prüfen. Das bedeutet, du kannst dich ohne Token oder Passwort einloggen, solange die Anfrage aus deinem Tailnet kommt. OpenClaw verifiziert dabei die x-forwarded-for Adresse direkt über den lokalen Tailscale-Daemon.

Falls du explizite Zugangsdaten erzwingen willst, setzt du gateway.auth.allowTailscale: false oder nutzt gateway.auth.mode: "password".

Wenn du das Dashboard öffentlich über das Internet erreichbar machen musst, ist funnel die richtige Wahl. Da dies ein Sicherheitsrisiko darstellt, erzwingt OpenClaw hier einen Passwortschutz.

{
gateway: {
bind: "loopback",
tailscale: { mode: "funnel" },
auth: { mode: "password", password: "replace-me" },
},
}

Nutze am besten die Umgebungsvariable OPENCLAW_GATEWAY_PASSWORD, damit das Passwort nicht im Klartext auf der Festplatte liegt.

  • Direkter Tailnet-Bind: Mit gateway.bind: "tailnet" lauscht das Gateway direkt auf der Tailnet-IP. Hier gibt es kein HTTPS und kein Serve/Funnel.
  • Auto-Cleanup: Setze gateway.tailscale.resetOnExit: true, wenn OpenClaw die Tailscale-Konfiguration beim Beenden automatisch wieder entfernen soll.
  • Funnel startet nicht: Überprüfe, ob dein auth.mode auf password steht. OpenClaw verweigert den Start von Funnel ohne Passwort, um versehentliche öffentliche Freigaben zu verhindern.
  • Loopback-Verbindung schlägt fehl: Wenn du gateway.bind: "tailnet" nutzt, ist ein Zugriff über 127.0.0.1 nicht mehr möglich.
  • HTTPS-Fehler: Tailscale Serve und Funnel benötigen zwingend aktiviertes HTTPS in deiner Tailscale-Admin-Konsole.
  • Port-Einschränkungen: Beachte, dass Funnel nur die Ports 443, 8443 und 10000 über TLS unterstützt.

Hast du Fragen zu deinem spezifischen Setup? Frag den AI Setup Assistant.

OpenClaw

OpenClaw Expert

Noch festgefahren?

Wenn diese Seite nicht hilft, frage OpenClaw Expert nach Schritt-fuer-Schritt-Loesungen.