VPN、代理与过滤器

Mac 上 Tailscale 与其他 VPN 冲突

Tailscale 会为每台设备分配一个 100.64.0.0/10 范围内的地址。其他 VPN 可能会阻挡 Tailscale 流量,或使用相同的地址。

适用于:macOS 13 Ventura 及更高版本上的当前版 Tailscale for macOS。route 命令适用于所有当前 macOS 版本。核查日期:2026年10月29日

症状

  • 另一个 VPN 连接后,Tailscale 设备不再响应。
  • Tailscale 连接后,另一个 VPN 无法使用。
  • 部分 100.x.y.z 地址被发往错误的网络。
  • 打开第二个 VPN 后,出口节点无法使用。

可能的原因

  • VPN 的防火墙规则过严。Tailscale 表示,大多数 VPN 会阻挡不经过它们的流量,这可能导致 Tailscale 流量被丢弃。
  • 地址重叠。如果某个 VPN 也使用 CGNAT 地址段(100.64.0.0 至 100.127.255.255),就会与 Tailscale 地址冲突。
  • 出口节点。Tailscale 表示,出口节点同一时间只支持一个 VPN。
  • 子网路由重叠。两条隧道可能声明同一个本地网络地址段,Mac 只会把流量发给其中一条。

如何检查

  1. 显示 Tailscale 连接的状态。如果使用 App Store 版本,请使用 CLI 的完整路径。

    tailscale status
  2. 只通过 Tailscale 测试一台设备。将名称替换为你的设备名称。

    tailscale ping my-server
  3. 显示发往某个 Tailscale 地址的流量走哪个接口。

    route -n get 100.101.102.103
  4. 显示所有路由。查找地址段相同的两个 utun 接口。

    netstat -rn
  5. 获取隧道底层网络的报告。

    tailscale netcheck

如何修复

  1. 断开另一个 VPN,确认 Tailscale 单独使用时正常。

  2. 询问另一个 VPN 的提供商能否将 100.64.0.0/10 和 fd7a:115c:a1e0::/48 排除在其隧道之外。

  3. 把你的 Tailscale 子网路由也加入该排除列表。

  4. 另一个 VPN 打开时,不要使用 Tailscale 出口节点。

  5. 如果地址范围重叠,请网络管理员更改其中一个范围。

  6. 如果都不管用,一次只用一个 VPN。

使用 Kilobat

  1. Kilobat 的连接检查会指出每条路径所用的接口,例如 Wi-Fi 或 VPN,并比较直连路径与隧道路径。

    kilobat why my-server.example.ts.net
  2. 列出 VPN 接口及其计数器。

    kilobat interfaces --json
  3. 如果某个托管服务必须访问 Tailscale 地址,请添加 --context provider。Kilobat 随后会说明该地址是私有地址。

    kilobat why http://100.101.102.103:8080 --context provider

常见问题

Mac 上的 Tailscale CLI 在哪里?

App Store 版本自带 CLI,位于 /Applications/Tailscale.app/Contents/MacOS/Tailscale。独立版本可以将 tailscale 安装到 /usr/local/bin。

为什么 Tailscale 使用 100.x.y.z 地址?

Tailscale 使用 CGNAT 地址段 100.64.0.0/10 作为设备地址。其他 VPN 也可能使用同一地址段。

参考资料

参考资料核查于 2026年10月29日。man 手册页为 macOS 自带版本;在“终端”中用 man <name> 打开。