首页 教程 分类 Skills下载 关于
ZH EN JA KO
高级用法

Tailscale 内网穿透集成教程

· 8 分钟

为什么使用 Tailscale

Tailscale 基于 WireGuard 协议,创建加密的虚拟专用网络,让分布在不同网络中的设备可以安全互联。将 Tailscale 与 OpenClaw 集成后,你可以:

  • 无需公网 IP 即可远程访问 Gateway
  • 所有通信自动加密
  • 精细的访问控制(ACL)
  • 避免暴露端口到公网

安装 Tailscale

Linux

curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up

macOS

brew install tailscale
tailscale up

Docker

docker run -d \
  --name tailscale \
  --cap-add NET_ADMIN \
  --cap-add NET_RAW \
  -v /dev/net/tun:/dev/net/tun \
  -v tailscale-state:/var/lib/tailscale \
  -e TS_AUTHKEY=tskey-auth-your-key \
  tailscale/tailscale

配置 OpenClaw 监听 Tailscale 接口

安装 Tailscale 后,你的机器会获得一个 Tailscale IP(100.x.x.x)。配置 OpenClaw 只监听这个接口:

{
  "gateway": {
    "host": "100.64.0.1",
    "port": 3000
  }
}

或者监听所有接口,但通过防火墙限制只允许 Tailscale 网段访问:

# 只允许 Tailscale 网段访问 3000 端口
sudo iptables -A INPUT -p tcp --dport 3000 -s 100.64.0.0/10 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 3000 -j DROP

使用 Tailscale Funnel 暴露服务

如果需要让频道 Webhook(如 Telegram)能够访问你的 Gateway,可以使用 Tailscale Funnel:

# 将本地 3000 端口通过 Funnel 暴露
tailscale funnel 3000

这会给你一个公网可访问的 URL:

https://your-machine.tail1234.ts.net:443

将这个 URL 配置为 Webhook 回调地址:

{
  "gateway": {
    "baseUrl": "https://your-machine.tail1234.ts.net"
  },
  "channels": {
    "telegram": {
      "webhookUrl": "https://your-machine.tail1234.ts.net/webhook/telegram"
    }
  }
}

使用 Tailscale Serve 反向代理

Tailscale Serve 可以为本地服务添加 HTTPS:

tailscale serve https / http://127.0.0.1:3000

这样通过 Tailscale 网络访问时会自动使用 HTTPS,证书由 Tailscale 自动管理。

ACL 访问控制

在 Tailscale 管理界面配置 ACL,限制哪些设备可以访问 OpenClaw:

{
  "acls": [
    {
      "action": "accept",
      "src": ["group:admins"],
      "dst": ["tag:openclaw:3000"]
    },
    {
      "action": "accept",
      "src": ["group:users"],
      "dst": ["tag:openclaw:3000"]
    }
  ],
  "tagOwners": {
    "tag:openclaw": ["group:admins"]
  }
}

为 OpenClaw 服务器添加标签:

tailscale up --advertise-tags=tag:openclaw

Docker Compose 集成

将 Tailscale 和 OpenClaw 一起用 Docker Compose 管理:

version: "3"
services:
  tailscale:
    image: tailscale/tailscale
    cap_add:
      - NET_ADMIN
      - NET_RAW
    volumes:
      - /dev/net/tun:/dev/net/tun
      - tailscale-state:/var/lib/tailscale
    environment:
      - TS_AUTHKEY=tskey-auth-your-key
      - TS_STATE_DIR=/var/lib/tailscale
    network_mode: host

  openclaw:
    image: openclaw/openclaw:latest
    network_mode: host
    depends_on:
      - tailscale

volumes:
  tailscale-state:

MagicDNS 使用

启用 Tailscale MagicDNS 后,可以使用机器名访问:

{
  "gateway": {
    "baseUrl": "https://openclaw-server.tail1234.ts.net"
  }
}

不再需要记住 IP 地址。

多节点部署

结合 Remote Gateway 功能,通过 Tailscale 网络连接多个 OpenClaw 节点:

{
  "gateway": {
    "mode": "remote",
    "primaryUrl": "https://primary.tail1234.ts.net:3100",
    "authToken": "{{REMOTE_AUTH_TOKEN}}"
  }
}

所有节点间通信通过 Tailscale 的 WireGuard 隧道加密传输。

故障排查

# 检查 Tailscale 连接状态
tailscale status

# 测试到目标节点的连通性
tailscale ping openclaw-server

# 查看 Tailscale 网络诊断
tailscale netcheck

总结

Tailscale 为 OpenClaw 提供了零配置的安全网络层,无需处理端口转发、动态 DNS 或 VPN 服务器搭建。特别适合家庭服务器、NAS 上部署的 OpenClaw 实例需要远程访问的场景。

OpenClaw 是开源免费的个人AI助手,支持 WhatsApp、Telegram、Discord 等多平台接入