ZeroTier 配了自建 Moon 还是慢:先分清中继和直连,再查打洞成没成
用 ZeroTier 远程连家里或公司 NAS 的人,不少走过这条路:官方免费中继慢得像蜗牛,传个文件几百 KB 每秒,视频拖不动,远程桌面一格一格跳。听说自建 Moon 中继能提速,于是开云服务器、照教程敲命令折腾半天——结果一看,还是慢。这时候最憋屈:钱花了,力出了,速度一点没见涨,问题到底出在哪?
想明白这件事,得先分清 ZeroTier 走数据的两条路。
第一条叫直连:两台设备通过打洞互相找到对方的公网地址,数据点对点直接传,速度取决于两边上行带宽,跟 ZeroTier 官方一毛钱关系没有,这是理想状态。第二条叫中继:打洞失败,数据只能交给 Moon 节点转发,你走官方 Moon,就是大家挤公共走廊;走自建 Moon,就是自己包了条专线走廊。
关键误区在这:Moon 的作用是让「中继这条路」更快,而不是帮你打洞。如果你两端的打洞压根没成功,流量全走中继,那 Moon 的位置和带宽就是你的天花板;反过来,如果打洞成功了,数据根本不经过 Moon,你建得再好也是闲置。很多人慢的根子不是 Moon 不行,而是打洞一直没成,一直在走中继——换谁家的 Moon 都救不全。
所以排查顺序应该倒过来:先确认自己在走哪条路,再对症下药。
- 查当前路径。登录 ZeroTier 管理页面,看对端节点的物理地址信息,有对端的公网地址就说明在尝试直连;在装了客户端的机器上用 zerotier-cli peers 命令看对端列表,能分辨走的是直连路径还是中继。这一步不做,后面全是盲调。
- 直连成功但慢:查两边的上行带宽,尤其是被访问那端的出口上传速度,很多家用宽带上行只有几十兆,多终端一分就没了,这不是组网工具的锅。
- 一直在走中继:先验 Moon 服务器本身——ping 它看延迟,看它的出口带宽,更要看它的地理位置。Moon 放在离你两端都很远的机房,等于绕远路送快递,自建的加速效果就打了折。选位原则很简单:离两头通信的机器都近。
- 抢救打洞:路由器上开启 UPnP,或者手动给 ZeroTier 的 UDP 端口做映射,给设备一个稳定的公网映射点;安全软件拦 UDP 的放开试试;再不行换条网络交叉验证,比如手机热点连一头,如果热点下能直连,说明原网络出口的 NAT 层数太深,这类环境打洞成功率天然低。
- 打洞确认无望:别在中继上死磕,向运营商申请公网 IP,或者两端都支持 IPv6 就走 IPv6 直连——那才是真正的点对点,中继方案只当过渡。
贵州诚鑫致达科技给中小企业做远程访问组网时,第一件事就是把「直连还是中继」验清楚:能直连的绝不让客户长期走中继,实在打不通的,再把中继节点选在离两端都近的位置,把钱花在刀刃上。你自建 Moon 之后速度有变化吗?评论区聊聊你的组网环境。