Skip to content
On this page

Gateway局域网配置教程

作者:努力向前

本文说明 OpenClaw 中 gateway.bind 的含义、可选值,以及如何从仅本机访问(loopback)改为允许局域网或所有接口访问(lan)。

一、为什么只有本机能访问?

默认 gateway.bindloopback,Gateway 只监听 127.0.0.1,因此:

  • 在 WSL 里:本机(WSL)可访问,例如 http://127.0.0.1:18789
  • 在 Windows 主机或其它机器:无法直接访问,因为服务未绑定到 LAN 或 0.0.0.0

若需要从 Windows 访问 WSL 内的 Gateway、或从局域网其它设备访问,需要改用 lan 绑定(监听所有接口)。

二、gateway.bind 可选值

取值监听地址典型用途
loopback127.0.0.1仅本机,默认;最安全
lan0.0.0.0所有网卡,本机 + LAN(含 WSL 被主机访问)
tailnet机器 Tailscale IP仅 Tailscale 网络
auto有 tailnet 则 tailnet,否则 lan自动选择
customgateway.customBindHost 指定 IP手动指定单网卡

说明:文档中没有字面量 all;要实现“所有接口可访问”,使用 lan

三、改为“所有接口可访问”(lan)

3.1 用 config set(推荐)

bash
pnpm openclaw config set gateway.bind lan

3.2 编辑配置文件

编辑 ~/.openclaw/openclaw.json(WSL 下路径为 ~/.openclaw/openclaw.json):

json
{
  gateway: {
    mode: "local",
    bind: "lan",
    port: 18789,
    auth: {
      mode: "token",
      token: "你的网关令牌",
    },
  },
}

3.3 非 loopback 必须配置认证

重要:只要 bind 不是 loopback(例如设为 lan),OpenClaw 要求配置 gateway.auth(token 或 password),否则 Gateway 可能拒绝启动或 Control UI 显示未授权。

  • 生成令牌:openclaw doctor --generate-gateway-token
  • 将令牌写入 gateway.auth.token,或通过环境变量 OPENCLAW_GATEWAY_TOKEN 提供给 Gateway 进程(如 systemd 或 launchd 的环境配置)

四、WSL 场景:从 Windows 访问

  1. gateway.bind 设为 lan,并配置 gateway.auth(见上)。
  2. 重启 Gateway:openclaw gateway restart 或重启对应服务。
  3. 在 WSL 中查看 Gateway 所在机的 IP(例如 hostname -Iip addr 中的 LAN 地址)。
  4. 在 Windows 浏览器中访问:http://<WSL的IP>:18789(端口以你配置的 gateway.port 为准)。
  5. 在 Control UI 的“设置/连接”中填入 gateway.auth.token 完成认证。

若 WSL 与 Windows 通过 NAT 互通,也可使用 WSL 的 hostname -I 得到的地址;若使用 WSL2 的“localhost 转发”,则 Windows 访问 http://localhost:18789 可能可用,具体取决于你的 WSL 与端口转发配置。

五、验证

bash
# 查看当前绑定模式
pnpm openclaw config get gateway.bind
# 期望输出:lan

# 查看 Gateway 状态(bind 与端口)
openclaw gateway status

确认 bind=lan、端口正确,再从其它机器用 LAN IP + 端口 + token 访问 Control UI。

六、安全提醒

  • loopback:仅本机,暴露面最小。
  • lan:本机 + 局域网都可连,务必配合 gateway.auth(token 或 password)和防火墙,避免未授权访问。
  • 若仅需在 Tailscale 内访问,可考虑 gateway.bind: "tailnet" 或保持 loopback + Tailscale Serve,减少对 LAN 的暴露。

七、参考文档(项目 docs)

文档路径
配置docs/zh-CN/gateway/configuration.md — gateway.bind 与 gateway.auth
FAQdocs/zh-CN/help/faq.md — “我设置了 gateway.bind: "lan" …”
故障排除docs/zh-CN/gateway/troubleshooting.md — 非 loopback 绑定与认证
安全docs/zh-CN/gateway/security/index.md — 绑定与认证建议

按上述步骤将 gateway.bind 改为 lan 并配置 gateway.auth 后,即可在 WSL 外通过 LAN 正常访问 Gateway。

让 AI Agent 在中国土地上生根发芽 | 基于 MIT 许可发布