OpenClaw 远程访问方案:Tailscale Serve 完全指南

-
-
2026-03-21

摘要

本文介绍如何通过 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)

目录