Bonjour / mDNS 发现 (Bonjour / mDNS discovery)
Bonjour / mDNS 发现
Section titled “Bonjour / mDNS 发现”OpenClaw 使用 Bonjour (mDNS / DNS‑SD) 作为 仅限 LAN 的便利功能 来发现活动的 Gateway(WebSocket 端点)。它是尽力而为的,不 取代 SSH 或基于 Tailnet 的连接。
通过 Tailscale 的广域 Bonjour (单播 DNS‑SD)
Section titled “通过 Tailscale 的广域 Bonjour (单播 DNS‑SD)”如果节点和 Gateway 位于不同的网络上,多播 mDNS 将无法跨越边界。您可以通过切换到 Tailscale 上的 单播 DNS‑SD(“广域 Bonjour”)来保持相同的发现体验。
高级步骤:
- 在 Gateway 主机上运行 DNS 服务器(通过 Tailnet 可达)。
- 为
_openclaw-gw._tcp在专用区域下发布 DNS‑SD 记录(例如:openclaw.internal.)。 - 配置 Tailscale 拆分 DNS,以便您选择的域通过该 DNS 服务器为客户端(包括 iOS)解析。
OpenClaw 支持任何发现域;openclaw.internal. 只是一个示例。iOS/Android 节点会浏览 local. 和您配置的广域域。
Gateway 配置 (推荐)
Section titled “Gateway 配置 (推荐)”{ gateway: { bind: "tailnet" }, // 仅 tailnet (推荐) discovery: { wideArea: { enabled: true } } // 启用广域 DNS-SD 发布}一次性 DNS 服务器设置 (Gateway 主机)
Section titled “一次性 DNS 服务器设置 (Gateway 主机)”openclaw dns setup --apply这将安装 CoreDNS 并将其配置为:
- 仅在 Gateway 的 Tailscale 接口上监听端口 53
- 从
~/.openclaw/dns/<domain>.db提供您选择的域(例如:openclaw.internal.)
从连接 tailnet 的机器验证:
dns-sd -B _openclaw-gw._tcp openclaw.internal.dig @<TAILNET_IPV4> -p 53 _openclaw-gw._tcp.openclaw.internal PTR +shortTailscale DNS 设置
Section titled “Tailscale DNS 设置”在 Tailscale 管理控制台中:
- 添加指向 Gateway tailnet IP (UDP/TCP 53) 的域名服务器。
- 添加拆分 DNS,以便您的发现域使用该域名服务器。
一旦客户端接受 tailnet DNS,iOS 节点就可以在您的发现域中浏览 _openclaw-gw._tcp,而无需多播。
Gateway 监听器安全性 (推荐)
Section titled “Gateway 监听器安全性 (推荐)”Gateway WS 端口(默认 18789)默认绑定到环回接口。对于 LAN/tailnet 访问,请显式绑定并保持启用身份验证。
对于仅 tailnet 设置:
- 在
~/.openclaw/openclaw.json中设置gateway.bind: "tailnet"。 - 重启 Gateway(或重启 macOS 菜单栏应用程序)。
只有 Gateway 会广播 _openclaw-gw._tcp。
_openclaw-gw._tcp— Gateway 传输信标(由 macOS/iOS/Android 节点使用)。
TXT 键 (非机密提示)
Section titled “TXT 键 (非机密提示)”Gateway 会广播小的非机密提示,以使 UI 流程更方便:
role=gatewaydisplayName=<friendly name>lanHost=<hostname>.localgatewayPort=<port>(Gateway WS + HTTP)gatewayTls=1(仅当启用 TLS 时)gatewayTlsSha256=<sha256>(仅当启用 TLS 且指纹可用时)canvasPort=<port>(仅当启用 canvas 主机时; 默认18793)sshPort=<port>(未覆盖时默认为 22)transport=gatewaycliPath=<path>(可选; 可运行openclaw入口点的绝对路径)tailnetDns=<magicdns>(Tailnet 可用时的可选提示)
在 macOS 上调试
Section titled “在 macOS 上调试”浏览广播的服务:
dns-sd -B _openclaw-gw._tcp