Tailscale 集成
Tailscale 是一个基于 WireGuard 的零配置 VPN(虚拟私人网络)。它可以让你从任何地方安全访问 Gateway,无需公网 IP、端口转发或 SSL 证书。
为什么选择 Tailscale?
| 特性 | 说明 |
|---|---|
| 零配置 | 无需手动管理证书或端口转发 |
| 端到端加密 | WireGuard 加密,中间人无法窥探 |
| NAT 穿越 | 自动穿越 NAT,无需公网 IP |
| 跨平台 | 支持 macOS、Windows、Linux、iOS、Android |
| 免费 | 个人用户免费,最多 100 台设备 |
推荐方案
对于个人和小团队,Tailscale 是最简单、最安全的远程访问方案 — 不需要域名、不需要云服务器、不需要 SSL 证书。
安装 Tailscale
bash
brew install tailscalebash
curl -fsSL https://tailscale.com/install.sh | shbash
# 从 https://tailscale.com/download 下载安装程序
# 或使用 winget
winget install Tailscale.Tailscale设置步骤
第 1 步:在 Gateway 机器上启动 Tailscale
bash
# 启动 Tailscale 并登录
sudo tailscale up
# 查看分配的 Tailscale IP
tailscale ip -4
# 输出示例:100.100.1.10第 2 步:配置 Gateway 监听
让 Gateway 监听 Tailscale 网络接口:
bash
# 方案 A:监听所有接口(推荐,Tailscale 本身是安全的)
openclaw config set gateway.host "0.0.0.0"
# 方案 B:仅监听 Tailscale IP
openclaw config set gateway.host "100.100.1.10"第 3 步:在客户端设备上安装 Tailscale
在你的其他设备(笔记本、手机等)上安装 Tailscale 并用同一账号登录。
bash
sudo tailscale up第 4 步:连接 Gateway
bash
# 使用 Tailscale IP 连接
openclaw connect --host 100.100.1.10 --port 18789无需 HTTPS
Tailscale 使用 WireGuard 提供端到端加密,因此不需要额外配置 HTTPS。
ACL 配置
Tailscale 的 ACL(访问控制列表)可以精细控制哪些设备可以访问 Gateway。
在 Tailscale Admin Console 中配置:
json
{
"acls": [
{
"action": "accept",
"src": ["group:openclaw-users"],
"dst": ["tag:gateway:18789"]
}
],
"tagOwners": {
"tag:gateway": ["autogroup:admin"]
},
"groups": {
"group:openclaw-users": ["user@example.com"]
}
}为 Gateway 机器添加标签:
bash
sudo tailscale up --advertise-tags=tag:gatewayMagicDNS
启用 Tailscale 的 MagicDNS 后,可以使用设备名称代替 IP 地址:
bash
# 使用 MagicDNS 名称连接
openclaw connect --host my-server --port 18789
# 或完整域名
openclaw connect --host my-server.tail12345.ts.net --port 18789网络拓扑
text
┌──────────────┐ ┌──────────────┐
│ iPhone │ │ MacBook │
│ Tailscale │ │ Tailscale │
│ 100.100.1.2 │ │ 100.100.1.3 │
└──────┬───────┘ └──────┬───────┘
│ Tailscale 网络 │
│ (WireGuard 加密隧道) │
│ │
└──────────────┬───────────────────────────┘
│
┌──────┴───────┐
│ Gateway │
│ Tailscale │
│ 100.100.1.1 │
│ :18789 │
└──────────────┘常见问题
Tailscale 断线怎么办?
Tailscale 会自动重连。Gateway 的 WebSocket 也支持自动重连机制。
网速会不会很慢?
Tailscale 会尽可能建立设备间的直连通道(Direct Connection),绝大多数情况下延迟与直连无异。
bash
# 检查连接类型
tailscale status
# "direct" 表示直连,"relay" 表示中继能否与反向代理同时使用?
可以。你可以同时通过 Tailscale(内部访问)和反向代理(公开访问)两种方式访问 Gateway。
