刚续年费就被 Claude 封号?DHH 在用的 Tailscale,原理到底是什么
文章目录
- 内容概述
内容概述
最近 X 上一条 Claude 封号的帖子吵得很火:有人拿着美国绿卡、美国公司账号,刚续费完 Team 年费,人临时在国内停留,两天账号直接被封,Anthropic 给出理由就是不支持地区。
但有意思的是,前几天 DHH 在国内的时候,公开说自己的 Claude Code 全部走 Tailscale 使用,全程没有碰到风控问题。
于是很多人开始问:Tailscale 到底是什么?真的这么强,可以绕开地区限制?
大家平时做内网穿透、搭虚拟局域网,核心诉求大多是在外网安全访问家里的设备和自建服务,不想在端口暴露、防火墙配置上折腾太多。今天聊的Tailscale,经常被拿来和ZeroTier放在一起对比,这篇就从底层逻辑把它讲清楚,顺带澄清不少网上流传的误解,给踩坑的朋友提供排查思路。
Tailscale 的整体架构同样分为三个部分:节点、协调服务器、中转服务器。
节点就是我们安装客户端的各类终端设备;协调服务器负责节点授权、分配虚拟 IP、同步全网其他可访问节点信息、下发更新中转节点列表,以及执行节点之间的访问策略。
这里有个很关键的点,协调服务器分配的是 100 开头的虚拟 IP,这个 IP 不是传统虚拟局域网那种内网 IP,而是在整个 Tailscale 网络内唯一的,唯一性由协调服务器统一管控。
依靠这套机制,Tailscale 会把所有同账号下的节点收拢成一套独立于公网之外的虚拟网络,默认同账号节点互通、跨账号节点隔离,天然实现不同设备组之间的权限分割。
协调服务器还有一项核心工作,就是给节点推送可用中转服务器的信息,这是 Tailscale 组网的基础前提。
节点拿到中转列表后,会主动和中转服务器建立加密隧道,这条隧道就是节点之间通信的保底通道。当一个节点想要访问另一个节点时,它本身已经持有对方节点信息,会先依托这条隧道保证连通性;与此同时两个节点会向中转服务器上报自身可以用来直连的公网 IP 和端口,由中转的 STUN 服务做中介,双方尝试 UDP 直连。
直连成功之后,节点之间的流量就不再经过中转服务器,直接点对点传输;一旦直连链路不稳定、断开,通信会自动回退到中转加密隧道兜底。整套通信底层跑的是WireGuard 协议,不管是直连,还是走中转隧道绕行,流量全程加密。中转服务器只负责转发加密后的隧道流量,无法解析里面传输的内容,这点一定要分清,不要被错误说法误导。
想要 Tailscale 稳定工作,节点必须保证能正常连通协调服务器和中转服务器。协调服务器只做信令下发、信息同步,不转发业务流量,连接稳定性相对更好。
但对国内 IPv4 用户来说,中转链路是一大难点:Tailscale 官方中转节点大多在海外,仅有少量香港节点,这类中转流量特征明显,很容易被防火墙拦截。IPv6 环境下情况会好很多,多数设备能拿到公网 IPv6,节点之间更容易打通直连,很少需要依赖中转服务器,被阻断的概率会低不少。
很多人会好奇 Tailscale 和 ZeroTier 的差异,二者的连接思路大体相近:优先尝试点对点直连,直连失败就走中转兜底,但底层细节不一样。
直连阶段两者本质都是基于 UDP 传输,区别集中在中转链路。Tailscale 在进入中转模式时,会搭建 TCP 加密隧道,WireGuard 的流量封装在这个 TCP 隧道里传输。ZeroTier 的中转逻辑分两层,直连失败时先走 Moon 节点做 UDP 中转;只有在网络环境极差、UDP 中转也行不通的时候,才会降级到 TCP 中转模式。
网上不少说法称 ZeroTier 没有 TCP 中转,这个是不对的。顺带一提,Moon 默认转发的是 UDP 流量,当然 Moon 也支持手动搭建 TCP 中转节点,不要混淆。
放到国内 IPv4 的实际使用场景里,只要节点能成功直连,两款工具的体验差别不大。直连走不通、必须依赖中转的时候,稳定性就取决于当地运营商的策略,不同地区对这两个工具的 UDP/TCP 中转流量容忍度不一样,而且运营商的管控策略不是固定不变的。想要 IPv4 环境下中转稳定,自建国内中转节点或者 Moon 节点就很有必要。
如果是自建中转的场景,我个人会更偏向 Tailscale,主要优势是它全平台客户端都支持自定义中转服务器,这个能力依托协调服务器下发中转配置实现;
反观 ZeroTier,iOS 端至今还没法直接自定义加入 Moon,官方虽然有相关开发计划,但目前还没有落地。不过反过来讲,Tailscale 的自建中转部署流程,会比 ZeroTier 的 Moon 复杂一些,Moon 上手更简单,这点就看个人取舍。