摘要※
本文介绍如何通过 Tailscale Serve 实现 OpenClaw 的远程访问。Tailscale Serve 是 Tailscale 提供的一种简单、安全的内网穿透方案,无需公网 IP 和域名,即可从外网访问部署在家庭网络中的 OpenClaw Gateway。
OpenClaw 公网访问方案简介※
OpenClaw 默认绑定本地环回地址(127.0.0.1),只接受本地连接。要从远程设备访问 Gateway,需要借助内网穿透工具。目前主流方案有:
- Tailscale Serve:利用 Tailscale 的 Serve 功能,将本地服务暴露到公网
- Nginx 反向代理:通过 Frp 内网穿透 + Nginx 反向代理,将公网请求转发到本地
- SSH 隧道:临时方案,通过 SSH 端口转发访问
本文重点介绍 Tailscale Serve 方案。因为博主的OpenClaw安装在树莓派上,所以网关上运行的命令为linux系统的命令。
Tailscale Serve 配置详解※
工作原理※
Tailscale Serve 利用 Tailscale 建立的加密隧道,将本地服务映射到 Tailscale 分配的公网域名。用户通过该域名即可安全访问家庭网络中的服务,无需暴露公网 IP。
前置条件※
- 已安装并运行 OpenClaw Gateway
- 网关所在设备和访问设备均已安装 Tailscale 并登录同一账号
配置步骤※
步骤一:安装 Tailscale(如未安装)※
# 网关所在设备上运行
curl -fsSL https://tailscale.com/install.sh | sh步骤二:测试权限※
使用运行openclaw的用户运行以下命令进行测试
tailscale serve http://127.0.0.1:3000正确的输出:
Available within your tailnet:
https://your-device-name.your-magic-dns.ts.net/
|-- proxy http://127.0.0.1:3000
Press Ctrl+C to exit.然后可以按Ctrl+C退出。如果遇到如下输出:
sending serve config: Access denied: serve config denied
Use 'sudo tailscale serve http://127.0.0.1:3000'.
To not require root, use 'sudo tailscale set --operator=$USER' once.说明权限有问题,按命令行提示,用有sudo权限的账号进行配置(假设运行OpenClaw的用户名为openclaw):
sudo tailscale set --operator=openclaw步骤三:配置 OpenClaw Gateway※
编辑 OpenClaw 配置文件,添加以下内容:
{
"gateway": {
"bind": "loopback",
"tailscale": { "mode": "serve" },
"auth": { "mode": "token", "token": "你的gateway-token" }
}
}同时,需要在 gateway.controlUi.allowedOrigins 中添加 Tailscale 分配的域名,例如:
https://your-magic-dns.ts.net配置完成后重启 Gateway:
openclaw gateway restart步骤四:验证访问※
- Control UI:访问
https://your-device-name.your-magic-dns.ts.net/
结尾※
Tailscale Serve 提供了一种简单、安全的远程访问方案,特别适合没有公网 IP 的家庭网络用户。配合 OpenClaw 的配对(paring)功能,用户可以在任何有网络的地方安全地访问家中的 OpenClaw Gateway。
如果 Tailscale 无法满足需求,也可以考虑使用 Nginx 反向代理等其他方案。
环境※
- Gateway 部署设备:树莓派 (raspberrypi)
- Gateway 绑定地址:127.0.0.1:18789(本地环回)
- OpenClaw 版本:2026.3.13 (61d171a)