什么是 Tailscale

Tailscale 是基于 WireGuard 协议构建的零配置 VPN 解决方案(zero-config VPN solution)。它可以:

  • 自动建立点对点加密连接(peer-to-peer encrypted connection)
  • 无需复杂的防火墙配置(firewall configuration)
  • 支持 NAT 穿透(NAT traversal)
  • 提供简单的设备管理界面

环境概览

在我们的场景中:

  • 公司 Windows 工作站:内网 IP 172.22.26.185,作为 Subnet Router
  • 家中 Mac:通过 Tailscale 访问工作站和公司内网
  • iPhone:移动端访问

安装 Tailscale

在 Windows 工作站上安装

  1. 访问 Tailscale 官网
  2. 下载 Windows 版本安装包
  3. 运行安装程序,按提示完成安装
  4. 首次运行时会要求登录,可以使用 Google、Microsoft 或 GitHub 账号
  5. 登录后,工作站会自动加入你的 Tailscale 网络(Tailscale network)

在 Mac 上安装

  1. Tailscale 官网 下载 macOS 版本
  2. 或使用 Homebrew 安装:
    1
    brew install --cask tailscale
  3. 启动 Tailscale 并使用相同账号登录
  4. Mac 会获得一个 Tailscale IP(通常是 100.x.x.x 网段)

在 iPhone 上安装

  1. 在 App Store 搜索 “Tailscale”
  2. 下载并安装
  3. 打开应用后使用相同账号登录

配置 Subnet Router

Subnet Router 功能允许 Tailscale 网络中的设备访问某个节点所在的子网(subnet)。我们需要将 Windows 工作站配置为 Subnet Router。

在 Windows 工作站上启用 Subnet Router

  1. 以管理员身份打开 PowerShell 或命令提示符

  2. 运行以下命令启用 Subnet Router:

    1
    tailscale up --advertise-routes=172.22.26.0/24,172.22.215.0/24,192.168.205.0/24 --accept-routes

    这条命令的含义:

    • --advertise-routes=172.22.26.0/24,172.22.215.0/24,192.168.205.0/24:广播(advertise) 以下网段子网:
    • 172.22.26.0/24 - Mac 和 P3 所在网段
    • 172.22.215.0/24 - CPU 节点和 H800 节点所在网段
    • 192.168.205.0/24 - A100 节点所在网段
    • --accept-routes:接受其他节点广播的路由(routes)
  3. 命令执行成功后,打开 Tailscale 管理后台

在 Tailscale 管理后台批准路由

  1. 访问 Tailscale 管理面板
  2. 找到你的 Windows 工作站
  3. 点击设备右侧的 “…” 菜单
  4. 选择 “Edit route settings”
  5. 在 “Subnet routes” 部分,你会看到刚刚的三个网段都处于待批准状态(pending approval)
  6. 点击 “Approve” 批准该路由

启用 IP 转发(Windows)

为了让 Windows 工作站能够转发流量(forward traffic),需要启用 IP 转发:

  1. 以管理员身份打开 PowerShell

  2. 运行以下命令:

    1
    2
    3
    4
    5
    # 启用 IPv4 转发
    Set-NetIPInterface -Forwarding Enabled

    # 或者通过注册表启用
    Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters -Name IPEnableRouter -Value 1
  3. 重启计算机使配置生效


测试连接

1
2
3
4
5
6
7
8
9
10
11
# 测试ssh
ssh [email protected]

# 测试Qwen3
curl -X POST "http://172.22.215.77:6080/v1/chat/completions" \
-H "Authorization: Bearer 123456" \
-H "Content-Type: application/json" \
-d '{
"model": "Qwen3-235B-A22B-2507",
"messages": [{"role": "user", "content": "你是谁啊啊啊啊啊啊"}]
}'

配置 SMB 文件共享访问

在 Windows 工作站上启用 SMB 共享

  1. 右键点击要共享的文件夹,选择 “属性”(Properties)

  2. 切换到 “共享”(Sharing) 选项卡

  3. 点击 “高级共享”(Advanced Sharing)

  4. 勾选 “共享此文件夹”(Share this folder)

  5. 点击 “权限”(Permissions),设置访问权限(access permissions)

  6. 确保 Windows 防火墙允许 SMB 流量:

    • 打开 “Windows Defender 防火墙”
    • 点击 “允许应用或功能通过 Windows Defender 防火墙”
    • 确保 “文件和打印机共享” 已启用

从 Mac 访问 SMB 共享

  1. 打开 Finder

  2. Command + K 或选择菜单 “前往” > “连接服务器”

  3. 输入服务器地址,使用以下格式之一:

    1
    2
    3
    smb://172.22.26.185

    smb://100.x.x.x (工作站的 Tailscale IP)
  4. 点击 “连接”,输入 Windows 用户名和密码

  5. 选择要挂载(mount)的共享文件夹

  6. 成功后,共享文件夹会出现在 Finder 侧边栏

小技巧:可以将常用的 SMB 共享添加到 “登录项”(Login Items),实现开机自动连接:

  • 系统设置 > 用户与群组 > 登录项
  • 点击 “+” 添加已挂载的网络驱动器

从 iPhone 访问 SMB 共享

iOS 和 iPadOS 13+ 原生支持 SMB 访问:

  1. 确保 iPhone 上的 Tailscale 应用正在运行并已连接

  2. 打开 “文件”(Files) 应用

  3. 点击右上角的 “…” 菜单

  4. 选择 “连接服务器”(Connect to Server)

  5. 输入服务器地址:

    1
    2
    3
    172.22.26.185

    100.x.x.x
  6. 点击 “连接”,选择 “注册用户”(Registered User)

  7. 输入 Windows 用户名和密码

  8. 成功后即可浏览和访问共享文件

第三方应用推荐

  • Documents by Readdle:功能更强大的文件管理器
  • FE File Explorer:专业的 SMB 客户端

进阶配置

启用出口节点(Exit Node)

如果需要让流量看起来来自公司网络:

  1. 在 Windows 工作站上运行:

    1
    tailscale up --advertise-exit-node --advertise-routes=172.22.26.0/24,172.22.215.0/24,192.168.205.0/24
  2. 在 Tailscale 管理后台批准 Exit Node

  3. 在 Mac 或 iPhone 上,选择使用该节点作为出口节点

配置 ACL 访问控制

在 Tailscale 管理后台的 “Access Controls” 中,可以配置访问控制列表(Access Control List),限制哪些设备可以访问哪些资源。

示例 ACL:

1
2
3
4
5
6
7
8
9
{
"acls": [
{
"action": "accept",
"src": ["mac-device"],
"dst": ["windows-workstation:*", "172.22.26.0/24:*"]
}
]
}

这条命令的意思是:允许 名为 mac-device 的设备访问 windows-workstation 上的所有端口,并且允许它访问通过工作站子网路由连接的 172.22.26.0/24 整个子网上的所有端口。


参考资源