OpenClaw+Tailscale远程访问配置的完整教程
用户030480591263
背景
OpenClaw 默认只监听 127.0.0.1:18789,外部设备无法直接访问。Tailscale Serve 可以将这个本地端口安全地暴露给同一 Tailnet 下的其他设备,无需端口转发、不暴露公网。
网络结构:
[客户端设备] ←── Tailscale 加密隧道 ──→ [OpenClaw 主机:18789]
环境
- OpenClaw 主机:Linux(假设 hostname 为
openclaw-server) - 客户端:一台同样安装了 Tailscale 的设备
- 两台设备使用同一个 Tailscale 账号(免费版即可)
- OpenClaw 版本:2026.3.x
- Tailscale 版本:1.96+

第一步:OpenClaw 主机安装并登录 Tailscale
# 安装 Tailscale curl -fsSL https://tailscale.com/install.sh | sh # 启动并登录(会输出认证 URL) sudo systemctl enable --now tailscaled sudo tailscale up # 浏览器打开认证链接,用同一 Tailscale 账号登录
确认连接成功:
tailscale status
如果看到所有设备都在列表里,说明它们已经处于同一私有网络中。
第二步:配置 OpenClaw Gateway
编辑 ~/.openclaw/openclaw.json:
{
"gateway": {
"port": 18789,
"mode": "local",
"bind": "loopback",
"tailscale": {
"mode": "serve"
},
"auth": {
"mode": "token",
"token": "your-secure-token-here",
"allowTailscale": true
},
"controlUi": {
"allowInsecureAuth": true,
"allowedOrigins": ["https://*.ts.net"] //按照给你的访问地址设置
}
}
}用命令设置更方便:
openclaw config set gateway.tailscale.mode serve openclaw config set gateway.controlUi.allowedOrigins '["https://*.ts.net"]' #按照给你的访问地址设置 openclaw gateway restart
第三步:启动 Tailscale Serve(关键步骤)
这是最容易踩坑的一步。OpenClaw 的 Tailscale 自动配置在当前版本存在 bug,不会自动调用
tailscale serve,必须手动执行。
sudo tailscale serve --bg http://127.0.0.1:18789
参数说明:
--bg:后台运行http://127.0.0.1:18789:Tailscale 将请求转发到本地 OpenClaw Gateway
确认运行状态:
sudo tailscale serve status # 输出类似: # Available within your tailnet: # https://openclaw-server.tailxxxx.ts.net/ # |-- proxy http://127.0.0.1:18789
访问地址:https://openclaw-server.tailxxxx.ts.net/(Tailscale 自动生成,固定不变)
第四步:客户端配对
首次从客户端访问 Control UI 时,会提示 pairing required。
在 OpenClaw 主机上审批设备请求:
# 查看待审批请求 openclaw devices list # 审批指定请求 openclaw devices approve <request-id> # 或直接审批最后一个请求 openclaw devices approve --last
第五步:设置开机自启
手动启动的 tailscale serve 在重启后会失效,推荐使用 crontab 开机自启:
sudo crontab -e
加入一行:
@reboot /usr/bin/tailscale serve --bg http://127.0.0.1:18789
第六步:从客户端访问
curl https://openclaw-server.tailxxxx.ts.net/
或在浏览器直接打开该地址即可。
常见问题排查
| 症状 | 原因 | 解决方案 |
|---|---|---|
curl: (7) Failed to connect | Tailscale Serve 未启动 | sudo tailscale serve --bg http://127.0.0.1:18789 |
No serve config | 参数不正确 | 确认用的是 --bg,不是 --https 443 |
origin not allowed | 跨域被拦截 | 设置 gateway.controlUi.allowedOrigins |
pairing required | 设备未授权 | openclaw devices approve <id> |
| 找不到域名 | MagicDNS 未启用 | 确认 Tailscale 账号开启了 MagicDNS |
安全建议
- 不要使用
gateway.auth.mode: "none"+tailscale.mode: "serve",这会将 Gateway 无密码暴露给整个 Tailnet - 不要轻易使用 Funnel 模式(公网暴露),除非你完全理解其风险并配置了强密码
- 务必保留 token 认证:
gateway.auth.mode: "token"不要关闭 - Tailscale Serve 模式只暴露给同一 Tailnet 内的设备,对公网不可见,安全性较高
配置 Checklist
- 两台设备安装 Tailscale 并登录同一账号
tailscale status确认设备互联gateway.tailscale.mode: "serve"已写入配置gateway.controlUi.allowedOrigins已设置openclaw gateway restart已执行sudo tailscale serve --bg http://127.0.0.1:18789已执行sudo tailscale serve status确认 URL 可用- 客户端访问测试
- 配对审批(如需要)
- crontab 开机自启
以上就是OpenClaw+Tailscale远程访问配置的完整教程的详细内容,更多关于OpenClaw+Tailscale远程访问配置的资料请关注脚本之家其它相关文章!
