在分布式 AI 网关架构中,如何让用户在局域网或虚拟网络中零配置地发现可用网关,是提升用户体验的关键。OpenClaw 采用 Bonjour (mDNS/DNS-SD) 作为核心发现协议,并深度集成 Tailscale 以实现跨网络的广域发现。
核心设计原则
OpenClaw 网关通过 _openclaw-gw._tcp 服务类型进行广播。客户端通过解析 SRV 记录 获取连接端点,通过 TXT 记录 获取辅助提示信息。

lanHost 或 gatewayPort 进行路由。gatewayTlsSha256 绝不能 自动覆盖客户端已存储的信任指纹。在 openclaw.json 中控制发现行为。
仅广播必要信息,隐藏 SSH/CLI 路径等细节。
{
discovery: {
mdns: { mode: "minimal" }
}
}广播所有辅助信息,方便多设备无缝连接。
{
discovery: {
mdns: { mode: "full" },
wideArea: { enabled: true } // 启用广域 DNS-SD
},
gateway: {
bind: "tailnet" // 推荐:仅监听 Tailscale 接口
}
}适用于纯公网反向代理或高安全隔离环境。
{
discovery: {
mdns: { mode: "off" }
}
}无需修改配置文件,临时调整行为:
OPENCLAW_DISABLE_BONJOUR=1: 强制禁用广播。OPENCLAW_SSH_PORT: 覆盖广告的 SSH 端口。OPENCLAW_TAILNET_DNS: 强制发布 MagicDNS 提示。标准 mDNS 无法跨越路由器。OpenClaw 通过 单播 DNS-SD (Unicast DNS-SD) 结合 Tailscale Split-DNS 实现跨网络发现。
openclaw.internal) 下发布 _openclaw-gw._tcp 记录。在网关主机执行:
openclaw dns setup --apply自动安装 CoreDNS,配置监听,并生成区域文件 ~/.openclaw/dns/<domain>.db。
在任意 Tailscale 节点验证:
# 1. 浏览服务 (macOS/Linux)
dns-sd -B _openclaw-gw._tcp openclaw.internal.
# 2. 直接 DNS 查询
dig @<GATEWAY_TAILNET_IP> -p 53 _openclaw-gw._tcp.openclaw.internal PTR +shortopenclaw.internal -> 指向上述 Nameserver。
配置生效后,iOS/Android 即可在无多播环境下自动发现网关。

目标:手机、平板、电脑自动发现。
{
discovery: { mdns: { mode: "full" } },
gateway: { bind: "lan", auth: { mode: "token" } }
}目标:分布在不同地点的团队成员安全访问。
{
discovery: {
mdns: { mode: "minimal" },
wideArea: { enabled: true }
},
gateway: {
bind: "tailnet",
auth: { mode: "password" }
}
}目标:通过域名访问,无需内部发现。
{
discovery: { mdns: { mode: "off" } },
gateway: {
bind: "loopback",
remote: { url: "wss://api.example.com" }
}
}bind: "tailnet" 可天然隔离公网扫描。mode: "minimal",避免泄露 CLI 路径或 SSH 端口。hostname.local 格式,避免 Emoji 或特殊符号。0.0.0.0 或非受信 LAN 开启 mode: "full"。OpenClaw 的发现机制在极致便利与严格安全之间取得了平衡。
记住:发现只是引路人,连接必须验明正身。 合理配置 mdns.mode 并结合 Tailscale 的安全隧道,你将拥有一个既易用又坚固的 AI 网关网络。