Files
Arch1Panel/apps/tailscale/README.md
arch3rPro 01872b80dc docs(tailscale): 更新数据目录路径和说明
将数据目录从 `./data/var/lib` 改为 `./data/state` 并更新挂载路径至 `/var/lib/tailscale`
添加关于目录权限的重要提示说明
2026-04-24 13:26:35 +08:00

4.5 KiB
Raw Blame History

Tailscale

最简单、最安全的 WireGuard 私有网络组网工具。Tailscale 让您能够轻松创建安全的 mesh 网络,将您的设备连接在一起,无论它们位于何处。

功能特点

  • 基于 WireGuard: 使用现代化的 WireGuard 协议,提供高性能和强安全性
  • 自动 NAT 穿透: 自动处理复杂的网络环境,实现设备间直连
  • 零配置: 无需手动配置,登录即可使用
  • 端到端加密: 所有通信都经过端到端加密
  • 多平台支持: 支持 Linux、Windows、macOS、iOS、Android 等平台
  • 子网路由: 可将整个子网路由到 Tailscale 网络
  • 魔法 DNS: 自动为设备分配易记的 DNS 名称
  • 访问控制: 精细的访问控制策略

使用说明

认证方式

Tailscale 支持两种认证方式:

方式一:使用认证密钥(推荐)

  1. 访问 Tailscale 管理控制台
  2. 点击 "Generate auth key" 创建认证密钥
  3. 复制生成的密钥,在部署时填写到 "Tailscale 认证密钥" 字段
  4. 部署后自动完成认证,无需额外操作

注意:认证密钥有过期时间,请在生成后尽快使用。

方式二:交互登录

  1. 部署时留空 "Tailscale 认证密钥" 字段
  2. 部署完成后,在 1Panel 容器列表中点击 "Tailscale" 容器的 "终端" 按钮
  3. 在终端中执行以下命令:
    tailscale up
    
  4. 命令会输出一个认证 URL复制该 URL 到浏览器打开
  5. 登录您的 Tailscale 账号并授权该设备
  6. 认证成功后,容器会自动连接到 Tailscale 网络

部署参数说明

  • Tailscale 认证密钥(可选):从管理控制台获取的认证密钥,留空则使用交互登录
  • 用户空间模式:
    • false (推荐): 使用内核网络模式,性能更好
    • true: 使用用户空间网络模式,兼容性更好
  • 子网路由 (可选): 要广播的子网,如 192.168.1.0/24,10.0.0.0/8
  • 接受 DNS: 是否接受 Tailscale 的 DNS 配置
  • 额外参数 (可选): tailscale up 命令的额外参数,如 --accept-routes

部署后操作

  1. 部署完成后,访问 Tailscale 管理控制台 查看设备状态
  2. 在其他设备上安装 Tailscale 客户端并登录同一账号
  3. 设备间可以通过 Tailscale IP 或魔法 DNS 名称互相访问

高级配置

配置子网路由器

如果您希望将本地网络路由到 Tailscale

  1. 子网路由 参数中填写要广播的子网,如 192.168.1.0/24
  2. 部署后在管理控制台批准该子网路由
  3. 其他 Tailscale 设备即可访问该子网内的设备

使用出口节点

将 Tailscale 配置为出口节点,让其他设备通过此设备访问互联网:

  1. 额外参数 中添加 --advertise-exit-node
  2. 部署后在管理控制台批准出口节点
  3. 其他设备可以选择使用此出口节点

仅首次认证

如果希望只在首次启动时使用认证密钥,后续启动使用已有状态:

  • 设置环境变量 TS_AUTH_ONCE=true(需要在 docker-compose.yml 中手动添加)

数据目录

应用数据存储在 ./data/state 目录,包含 Tailscale 的状态信息(认证状态、配置等)。该目录挂载到容器的 /var/lib/tailscale

重要提示:请确保 data/state 目录有正确的读写权限,否则状态无法保存,导致每次重启都需要重新认证。

环境变量说明

  • TS_AUTHKEY: Tailscale 认证密钥(可选,支持交互登录)
  • TS_USERSPACE: 是否使用用户空间网络模式
  • TS_STATE_DIR: 状态文件存储目录(固定为 /var/lib
  • TS_ROUTES: 要广播的子网路由
  • TS_ACCEPT_DNS: 是否接受 Tailscale DNS 配置
  • TS_EXTRA_ARGS: tailscale up 命令的额外参数
  • TS_AUTH_ONCE: 是否仅在首次启动时认证(默认 false

注意事项

  • 需要 privileged 权限和 NET_ADMINSYS_MODULE 能力
  • 使用 host 网络模式以直接管理网络接口
  • 需要访问 /dev/net/tun 设备
  • 首次运行时需要有效的认证密钥或进行交互登录
  • 建议在防火墙中允许 UDP 41641 端口WireGuard 默认端口)
  • 容器重启策略固定为 always,由 1Panel 统一管理

相关链接