Tailscale:不需要公网 IP 的 WireGuard

场景:

  1. 想组网,但是没有有公网 IP 的服务器 。
  2. 想共享一个内网的 Linux 服务器给异地多人使用。
  3. 不用付费连接自己的 NAS。
  4. 在内网部署了一个服务,让增加一个静态链接跳转到到异地部署的内网的一个 URL。

https://tailscale.com/
https://github.com/tailscale/tailscale

Tailscale 是什么?

Tailscale 是一个基于 WireGuard 协议 的零配置虚拟局域网解决方案。

核心特点

  1. 基于 WireGuard
    使用现代、高性能且安全的加密协议 WireGuard,保证数据安全传输。
  2. 零配置(Zero Config)
    安装客户端后几乎不需要配置,自动建立设备之间的安全连接。
  3. 点对点连接(P2P)优先
    尽可能在设备之间建立直连,减少延迟,提升速度。
  4. NAT 穿透
    可以穿透大多数防火墙和 NAT,实现远程访问,不需要公网 IP。
  5. 身份管理集成
    支持与 Google Workspace、Microsoft 365、GitHub 等身份提供商集成,实现访问控制。
  6. ACL 和子网路由
    支持配置访问控制列表(ACL)以及子网代理,方便大规模网络管理。

常见应用场景

  • 远程办公:安全连接公司内网。
  • 开发测试:跨地区设备快速连接,进行测试或部署。
  • 家庭网络访问:从外网访问家中 NAS、摄像头等设备。
  • 简化 DevOps 运维:轻松构建多云或混合云之间的安全通道。

支持平台

  • Windows、macOS、Linux
  • iOS、Android
  • 支持 Docker、Kubernetes 等容器环境

Tailscale 的免费套餐

Tailscale 的免费套餐(Personal 计划)支持最多 100 台设备 和 3 位用户。

使用 Tailscale 个人免费套餐实现多人共享内网服务器的方案

  • 采用 Tailscale 个人免费套餐,仅使用一个管理员账号。
  • 管理员账号作为唯一身份,管理整个虚拟内网。
  • 多个用户的设备通过管理员账号认证后加入同一虚拟内网。
  • 管理员对每台新设备进行认证批准,确保安全接入。
  • 所有设备共享同一个虚拟网络,实现对内网服务器的多人访问。

Tailscale Peer Relay

一、Tailscale 网络连接路径背景

在 Tailscale 中,两台设备之间通信通常按优先级依次尝试三种方式:

  1. P2P 直连(Direct)
    通过 NAT 打洞建立 WireGuard 直连,这是速度最快的方式。
  2. Peer Relay(对等中继)
    通过 Tailnet 内某个节点转发流量。
  3. DERP Relay(官方中继)
    使用 Tailscale 官方 DERP 服务器作为最后 fallback。

社区总结的连接策略通常是:

Direct P2P  →  Peer Relay  →  DERP Relay

也就是说 Peer Relay 是 P2P 失败后的优先中继方案

二、什么是 Tailscale Peer Relay

Peer Relay 是一种允许 Tailnet 内的某个节点充当中继服务器 的机制,用于在设备之间无法建立 P2P 时转发流量。

简单理解:

设备A  ←→  中继节点  ←→  设备B

但这个中继节点 不是官方服务器,而是你自己的节点

特点:

  • 任意 Tailscale 节点上启用
  • 使用 UDP 端口转发流量
  • 流量仍然 WireGuard 端到端加密
  • 可以替代官方 DERP 中继

所有数据仍然保持端到端加密,因此中继节点只负责转发而不能解密流量。

三、如何启用 Peer Relay

https://login.tailscale.com/admin/acls/file

添加

// 增加
"tagOwners": {
   "tag:relay": ["autogroup:admin"]
},

Admin Console → Machines

找到 relay 节点

点击:Edit tags

添加:tag:relay

保存

    "grants": [
        // 增加
        {
          "src": ["*"],
              "dst": ["tag:relay"],
              "app": {
                  "tailscale.com/cap/relay": []
              }
        }
    ]

云服务器安全组
必须开放:
UDP 40000
如果用默认 WireGuard:
UDP 41641
例如:
UDP 40000 (relay)
UDP 41641 (tailscale)

ts

Ubuntu 安装 Tailscale 客户端

推荐方式:使用官方安装脚本

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

该命令会:

  • 自动识别你的系统(包括 Ubuntu 24.04)
  • 添加 Tailscale 的官方 APT 仓库
  • 安装最新版 tailscale 包

手动方式

如果你不希望运行脚本,也可以手动添加仓库:

1. 添加 Tailscale 的 GPG 密钥和源

curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/noble.noarmor.gpg | sudo tee /etc/apt/keyrings/tailscale.gpg >/dev/null
echo "deb [signed-by=/etc/apt/keyrings/tailscale.gpg] https://pkgs.tailscale.com/stable/ubuntu noble main" | sudo tee /etc/apt/sources.list.d/tailscale.list

2. 更新软件源并安装

sudo apt update
sudo apt install tailscale

启动并登录(用于服务器)

安装完成后,使用以下命令启动 Tailscale:

sudo tailscale up

它会显示一个网址,类似:

To authenticate, visit:

        https://login.tailscale.com/a/xxxxxxxxxxxx

复制这个链接到浏览器登录授权,授权后这台服务器就加入你的 Tailnet 网络了。

想重新授权,登出再登入

sudo tailscale logout
sudo tailscale up

Windows 安装 tailscale 客户端

官网下载,一直下一步。

posted @ 2026-04-18 11:29  ioufev  阅读(1058)  评论(0)    收藏  举报