根据OpenClaw最新官方文档(截至2026年3月),以下是更新后的局域网访问配置指南,整合了网络架构、安全加固和自动化配对等新特性:
一、核心配置命令(基于新版网关协议)
-
启用LAN多接口监听
使用新参数 bind=lan 自动绑定所有局域网接口(替代旧版 0.0.0.0):
|
1
|
openclaw config set gateway.bind lan
|
-
智能本地配对策略
新增自动批准本地连接(同主机或同一Tailnet内设备):
|
1
|
openclaw config set gateway.pairing.autoApproveLocal true
|
-
动态认证令牌管理
生成带时效性的Token(推荐每24小时轮换):
|
1
|
openclaw config set gateway.auth.token $(openclaw doctor --generate-tmp-token 86400)
|
-
强化安全基线
启用TLS加密和严格的CORS策略:
|
1
2
|
openclaw config set gateway.security.tls.enabled true
openclaw config set gateway.http.corsAllowedOrigins "['https://*.yourdomain.com']"
|
二、高级网络配置(文档新增模块)
-
Bonjour服务发现优化
自动注册mDNS服务名(默认 openclaw.local):
|
1
|
openclaw config set discovery.bonjour.enabled true
|
-
Tailscale集成(零配置内网穿透)
通过Tailnet ID自动建立安全隧道:
|
1
|
openclaw config set remoteAccess.tailnetId TAILNET_ID_FROM_TAILSCALE
|
-
混合云部署支持
配置混合传输协议(QUIC+WebSocket):
|
1
|
openclaw config set transport.mixedMode.enabled true
|
三、验证与调试流程(含新诊断工具)
-
网关健康检查
使用新版诊断命令:
|
1
|
openclaw doctor network --verbose
|
关键指标:Gateway API accessible at https://[LAN_IP]:18789
-
跨设备访问测试
在另一台设备浏览器访问:
|
1
2
3
|
https://openclaw.local:18789 # 优先Bonjour解析
或
https://[LAN_IP]:18789
|
-
故障排查命令
新增网络层专用排障工具:
|
1
2
|
openclaw debug network-packet-capture
openclaw debug connectivity-matrix
|
四、安全加固建议(基于MITRE ATLAS框架)
-
最小权限原则
限制网关进程权限:
|
1
|
sudo setcap cap_net_bind_service=+ep /usr/bin/openclaw-gateway
|
-
持续监控告警
配置异常流量检测规则:
|
1
2
3
4
5
6
|
# 示例:在Prometheus配置中添加
- alert: HighGatewayLatency
expr: gateway_response_time_seconds > 5
for: 1m
labels:
severity: warning
|
-
物理层防护
通过udev规则限制网卡绑定:
|
1
|
echo 'SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="XX:XX:XX:XX:XX:XX", RUN+="/sbin/ip link set $IFACE up mtu 1400"' | sudo tee /etc/udev/rules.d/99-openclaw.rules
|
五、版本兼容性矩阵
| 功能特性 |
v1.8.x+ |
v2.0+ |
v2.2+ |
| bind=lan 多接口监听 |
?? |
?? |
?? |
| 动态令牌轮换 |
? |
?? |
?? |
| mDNS服务发现 |
?? |
?? |
?? |
| Tailnet零配置隧道 |
? |
? |
?? |
| 混合传输协议 |
? |
?? |
?? |
通过以上更新,OpenClaw局域网访问方案已实现:
? 零配置内网穿透(Bonjour/Tailscale)
? 自动化安全加固(TLS+RBAC)
? 生产级可观测性(Prometheus集成)
建议立即升级至v2.2+版本以获得完整功能集,并参考官方Security Hub获取威胁情报更新。
遇到这个报错,说明你已经成功解决了跨域问题,但撞上了 OpenClaw 另一道更硬核的安全防线——设备身份验证。
???? 为什么会报这个错?
OpenClaw 在 2026+ 版本 做了一个重要升级:Control UI 强制要求在 安全上下文(Secure Context) 中运行。
什么是安全上下文?只有这两种情况才算:
| ? 安全上下文 |
? 非安全上下文 |
| https://your-domain.com |
http://192.168.1.100:18789 |
| http://localhost:18789 |
http://公网IP:18789 |
| http://127.0.0.1:18789 |
任何 HTTP + IP 地址的组合 |
当你用 http://IP:18789 访问时,浏览器会判定这是非安全上下文,直接屏蔽 Web Crypto API——而 OpenClaw 恰恰依赖这个 API 来生成设备身份,做认证配对。认证做不了,网关只能无情拒绝你的连接。
?? 关键提醒:即使你配置了 allowInsecureAuth: true,也绕不过这一关! 因为浏览器层面的限制是硬性的,不是网关能决定的。
????? 三种解决方案,按推荐程度排序
???? 方案一:SSH 隧道转发(强烈推荐 ?)
这是最优雅、最安全的方案,不需要改任何配置、不需要 SSL 证书,一行命令搞定。
原理:在你自己的电脑上建立一条 SSH 隧道,把远程服务器的 18789 端口"搬"到你本地,然后你用 localhost 访问——浏览器认为是安全上下文,一切顺理成章。
|
1
2
|
# 在本地终端执行(Windows用PowerShell/WSL,Mac/Linux用Terminal)
ssh -L 18789:localhost:18789 username@服务器IP
|
举个例子,如果你的树莓派/服务器 IP 是 192.168.1.100,用户名叫 pi:
|
1
|
ssh -L 18789:localhost:18789 pi@192.168.1.100
|
然后保持这个终端窗口不要关,在浏览器打开:
|
1
|
http://127.0.0.1:18789/?token=你的Token
|
完美解决!
???? 不知道 Token?在服务器上运行:
|
1
|
openclaw config get auth.token
|
???? 方案二:配置 HTTPS(适合固定域名访问)
如果你有域名并且想长期稳定地通过域名访问,这是最佳路径。
最简单的方式是使用 Tailscale Serve(Tailscale 自带的 HTTPS 反向代理功能),它会自动帮你搞定 SSL 证书。
如果你有自己的域名和 SSL 证书,也可以在 Nginx/Caddy 等反向代理上配置 HTTPS,然后把网关绑定的 IP 加到 gateway.trustedProxies 中,让 OpenClaw 正确识别真实客户端 IP。
???? 方案三:暴力禁用设备身份验证(仅限紧急/测试场景 ??)
?? 这是一个严重的安全降级,官方明确警告不建议在生产环境使用。
修改 ~/.openclaw/openclaw.json 配置文件:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
{
"gateway": {
"port": 18789,
"bind": "lan",
"controlUi": {
"allowedOrigins": [
"http://127.0.0.1:18789",
"http://你的IP:18789"
],
"allowInsecureAuth": true,
"dangerouslyDisableDeviceAuth": true
}
}
}
|
保存后重启网关:
|
1
|
openclaw gateway restart
|
这样网关就不再检查设备身份了,直接用 Token 认证,浏览器也不会再拦你了。
???? 方案对比一览
| |
SSH 隧道 |
HTTPS |
禁用设备认证 |
| 安全性 |
????? |
????? |
?? |
| 配置难度 |
一行命令 |
中等 |
改配置文件 |
| 适用场景 |
临时管理、日常使用 |
固定域名长期访问 |
紧急调试、测试环境 |
| 官方推荐 |
? |
? |
? |
总结一句话:能用 SSH 隧道就用 SSH 隧道,既安全又省事;有域名就配 HTTPS;实在不行才考虑禁用设备认证。千万别把 dangerouslyDisableDeviceAuth 开着不管——官方的安全审计工具会专门检测这个配置并报警告。
|