Zum Inhalt springen

Gateway-Erkennung mit Bonjour und Tailscale

Kennst du das? Du willst schnell eine Verbindung zu deinem Dienst aufbauen, aber die IP-Adresse hat sich schon wieder geändert. Ständiges Nachschlagen von Adressen oder das manuelle Editieren von Config-Dateien nervt und hält dich vom eigentlichen Programmieren ab.

OpenClaw nutzt Bonjour (mDNS / DNS-SD), damit du dein aktives Gateway (den WebSocket-Endpoint) im LAN automatisch findest. Das ist extrem praktisch, ersetzt aber kein SSH oder eine stabile Tailnet-Verbindung, wenn es hart auf hart kommt.

  • OpenClaw Gateway
  • Tailscale (für Wide-Area Setup)
  • CoreDNS (wird automatisch via CLI eingerichtet)
  • Ein Endgerät (macOS, iOS oder Android)

Wenn sich dein Node und das Gateway in unterschiedlichen Netzwerken befinden, funktioniert Multicast mDNS nicht. Du kannst trotzdem die gleiche Discovery-Experience nutzen, indem du auf unicast DNS-SD (“Wide-Area Bonjour”) über Tailscale setzt. Ich empfehle diesen Weg, da er am stabilsten läuft.

Passe deine ~/.openclaw/openclaw.json an, um Wide-Area DNS-SD zu aktivieren:

{
gateway: { bind: "tailnet" }, // Empfohlen: Nur über Tailnet erreichbar
discovery: { wideArea: { enabled: true } }, // Aktiviert Wide-Area DNS-SD
}

Führe diesen Befehl aus, um CoreDNS zu installieren und zu konfigurieren:

Terminal-Fenster
openclaw dns setup --apply

Das Setup sorgt dafür, dass CoreDNS auf Port 53 der Tailscale-Schnittstellen lauscht und deine gewählte Domain (zum Beispiel openclaw.internal.) bereitstellt.

Gehe in deine Tailscale Admin-Konsole und nimm zwei Änderungen vor:

  • Füge einen Nameserver hinzu, der auf die Tailnet-IP deines Gateways zeigt (UDP/TCP 53).
  • Aktiviere Split DNS, damit Anfragen für deine Discovery-Domain direkt an diesen Nameserver gehen.

Sobald die Clients den Tailnet-DNS akzeptieren, finden iOS-Nodes den Dienst _openclaw-gw._tcp ganz ohne Multicast.

Standardmäßig bindet sich der Gateway WS-Port (Default 18789) an Loopback. Für den Zugriff via LAN oder Tailnet solltest du ihn explizit binden und die Authentifizierung aktiviert lassen.

Für reine Tailnet-Setups:

  • Setze gateway.bind: "tailnet" in der ~/.openclaw/openclaw.json.
  • Starte das Gateway oder die macOS Menubar-App neu.

Wenn etwas nicht wie erwartet funktioniert, kannst du diese Tools nutzen:

  • Instanzen suchen:

    Terminal-Fenster
    dns-sd -B _openclaw-gw._tcp local.
  • Eine Instanz auflösen (ersetze <instance>):

    Terminal-Fenster
    dns-sd -L "<instance>" _openclaw-gw._tcp local.

Falls das Suchen (browse) klappt, aber das Auflösen (resolve) fehlschlägt, liegt das meistens an einer LAN-Policy oder Problemen mit dem mDNS-Resolver.

Hier sind die häufigsten Fehlerquellen aus der Praxis:

  • Bonjour überbrückt keine Netzwerkgrenzen: Nutze in diesem Fall Tailnet oder SSH.
  • Multicast blockiert: Manche Wi-Fi-Netzwerke deaktivieren mDNS absichtlich.
  • Sleep / Interface-Wechsel: macOS verliert manchmal kurzzeitig mDNS-Ergebnisse. Ein einfacher Retry hilft hier oft.
  • Browse funktioniert, Resolve schlägt fehl: Halte Gerätenamen einfach. Vermeide Emojis oder Sonderzeichen und starte das Gateway neu. Komplexe Hostnamen verwirren manche Resolver.

Es ist völlig normal, dass Bonjour/DNS-SD bestimmte Zeichen in Instanznamen als Dezimal-Sequenzen darstellt (z. B. wird ein Leerzeichen zu \032). Das ist ein Standardverhalten auf Protokollebene. Moderne UIs dekodieren diese Anzeige automatisch.

AI Setup Assistant

  • Discovery: Erfahre mehr über Discovery-Policies und Transport-Auswahl.
  • Gateway pairing: Details zu Node-Pairing und Approvals.
OpenClaw

OpenClaw Expert

Noch festgefahren?

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