首页 资讯 下载 教程 Skills 社群

使用 Tailscale 将 OpenClaw 安全暴露到公网

问题背景

很多频道(如 Telegram Webhook、企业微信、飞书)需要一个公网可访问的 URL 来接收消息回调。如果你的 OpenClaw 运行在家里的电脑或公司内网,传统方案需要:

  • 购买云服务器
  • 配置域名和 SSL 证书
  • 设置端口映射或反向代理

Tailscale Funnel 提供了一个零配置的替代方案。

什么是 Tailscale Funnel?

Tailscale 是一个基于 WireGuard 的零配置 VPN。Funnel 是其公网入口功能,可以将 Tailscale 网络中的服务暴露到互联网,自动提供 HTTPS 域名。

安装 Tailscale

macOS / Linux

# macOS
brew install tailscale

# Ubuntu/Debian
curl -fsSL https://tailscale.com/install.sh | sh

Windows

Tailscale 官网 下载安装。

安装后登录:

sudo tailscale up

配置 OpenClaw 使用 Tailscale

openclaw.json5 中启用 Tailscale 集成:

{
  gateway: {
    bind: "tailscale",      // 绑定到 Tailscale 网络
    tailscale: {
      mode: "funnel",       // serve | funnel
      port: 18789
    }
  }
}

两种模式的区别:

模式 访问范围 适用场景
serve 仅 Tailscale 网络内 私有访问,手机远程管理
funnel 公网可访问 接收 Webhook 回调

启动网关

openclaw gateway

启动后终端会显示分配的公网地址:

[gateway] Tailscale Funnel enabled
[gateway] Public URL: https://your-machine.tailnet-name.ts.net
[gateway] Dashboard: https://your-machine.tailnet-name.ts.net/

配置频道 Webhook

将 Tailscale 分配的 URL 填入频道配置:

Telegram Webhook

{
  channels: {
    telegram: {
      botToken: "123456:ABC-DEF",
      webhookUrl: "https://your-machine.tailnet-name.ts.net/webhook/telegram"
    }
  }
}

飞书 Webhook

{
  channels: {
    feishu: {
      appId: "cli_xxx",
      appSecret: "xxx",
      webhookUrl: "https://your-machine.tailnet-name.ts.net/webhook/feishu"
    }
  }
}

使用 Serve 模式远程管理

如果只需要从手机远程访问 Dashboard,使用 serve 模式更安全:

{
  gateway: {
    tailscale: {
      mode: "serve"
    }
  }
}

在手机上安装 Tailscale 客户端并登录同一账号,即可通过内网地址访问 OpenClaw Dashboard。

安全建议

  1. 启用认证:Funnel 模式下务必配置 Gateway 认证
{
  gateway: {
    auth: {
      method: "token",
      token: "your-secret-token"
    }
  }
}
  1. 限制 ACL:在 Tailscale 管理后台配置 ACL 规则,限制 Funnel 的访问端口
  2. 定期轮换:定期更换 Gateway 的认证 Token
  3. 监控日志:关注 Gateway 日志中的异常请求

与 ngrok / frp 的对比

特性 Tailscale Funnel ngrok frp
免费额度 充足 有限 需自建服务器
HTTPS 自动 自动 需配置
稳定性 取决于服务器
配置复杂度
固定域名 付费

常见问题

Funnel 启动失败

确保在 Tailscale 管理后台启用了 Funnel 功能(需要在 DNS 设置中启用 MagicDNS 和 HTTPS)。

延迟较高

Tailscale Funnel 的流量经由 DERP 中继节点,国内用户延迟可能在 200-500ms。对于 Webhook 场景,这个延迟完全可接受。