openclaw 在局域网内部署时,只能在局域网内使用,但是离开了这个网络环境就不行了,因此需要进行内网穿透,这里我使用了 Tailscale

安装 Tailscale

先注册 登录 Tailscale ,登录成功后按照向导提示安装部署,这里以 ubuntu 举例

curl -fsSL <https://tailscale.com/install.sh> | sh

安装后配置启动项和登录

sudo systemctl enable tailscaled
sudo systemctl start tailscaled
sudo tailscale up

执行完 sudo tailscale up 会有个登录链接,打开这个链接登录即可进行绑定,绑定设备后查看状态

tailscale status

正常来讲是可以看到绑定的设备的

开启Funnel

需要开启 funnel 来开启公网访问

sudo tailscale funnel --bg 18789

输完后会返回一个链接,点击进去即可开启,开启后,输入命令验证

tailscale funnel status

如果正常会显示类似这种

<https://xxx.ts.net>
|-- proxy <http://127.0.0.1:18789>

配置 openClaw

配置.openclaw.json 中的 gateway 项

  "gateway": {
    "port": 18789,
    "mode": "local",
    "bind": "loopback",
    "controlUi": {
      "allowedOrigins": [
        "<https://xxx.ts.net>"
      ]
    },
    "auth": {
      "mode": "password",
      "password": "xxx"
    },
    "tailscale": {
      "mode": "funnel",
      "resetOnExit": false
    }
  },

这两部分替换成你自己的就行,allowedOrigins就是tailscale给你分配的地址,password 是openclaw 面板上需要输入进行连接的