maOS peers.d 缓存可能会卡死,无法添加 LEAF 对等体的路径条目;Daemon 通过 PLANET WHOIS 从未刷新。
作者: daniilino创建于 2026年5月12日更新于 2026年8月27日
TL;DR
在 macOS Tahoe 26.3.1 与 ZeroTier 1.16.1 环境下,在一个 NATed 企业局域网中,此设置直到大约 7 天前一直运行良好,LEAF 对等发现永远无法完成。zerotier-cli listpeers 显示具有 path: -、latency: -1 的 LEAF;/peer/<addr> 返回 paths: []、version: -1.-1.-1。守护进程还向 peers.d/<ztaddr>.peer 写入负值的"无路径"条目,这些条目在每次软修复(服务重启、leave/join、上行链路更改)后都会保留。forceTcpRelay 解决方案确实建立了与 204.80.128.1:443 的 TCP 连接,但仅在某些情况下才真正转发流量。
可能与 #2584 有关(相同的操作系统主版本、相同的 ZT 版本,还涉及与另一个 VPN 共存),但症状和代码路径不同。
环境
- 操作系统: macOS Tahoe 26.3.1,构建
25D771280a(Apple Silicon,MacBook Pro) - ZeroTier: 1.16.1,从官方
.pkg安装。二进制文件 mtimeDec 12 20:11:57 2025— 约 5 个月未变。 - 网络: 私有,默认流规则(
accept;),5 个成员,所有成员均授权且在整个问题期间在中央上处于“活动 < 1 分钟”的状态。 - **共存 VPN(在初步诊断期间):Homebrew OpenVPN
/opt/homebrew/sbin/openvpn使用dev tun(经典的 tun 驱动,而不是 NetworkExtension/NEPacketTunnelProvider)。分割隧道(不使用redirect-gateway)。仅推送特定的10.x路由。
时间 — 很可能是最近的 macOS 回归
此特定环境(相同的 Mac、相同的网络、相同的 ZT 安装、相同的 OpenVPN 配置)在 2026 年 5 月 5–6 日前一直运行良好。今天是 2026 年 5 月 12 日。
log show --predicate 'subsystem == "com.apple.SoftwareUpdate"' --info --last 14d…显示了在 2026-05-05 和 2026-05-06 上的大量 OS 更新活动。ZeroTier 本身在该窗口中未被更新(stat 的 zerotier-one 确认了 Dec 12 20:11:57 2025)。与 macOS Tahoe 点版本而不是与 ZT 之间的强相关性。
症状
1. 企业局域网上永远不会形成 LEAF 对等路径
zerotier-cli info→ONLINEzerotier-cli listnetworks→OK PRIVATE feth3618 10.147.18.235/24- 控制平面与网络控制器和几个 PLANET 之间的通信正常(具有降级的新鲜度 — 部分 PLANET 的
lastReceive值为 100 秒以上,这些 PLANET 位于与其他一切都完全正常的同一上行链路)。 listpeers中的 LEAF 对等节点:98da488706 - -1 - LEAF d624836ca0 - -1 - LEAF e751b8120a - -1 - LEAF/peer/<ztaddr>返回:{ "address": "98da488706", "paths": [], "version": "-1.-1.-1", "latency": -1, "role": "LEAF" }- 过期后,守护进程会完全从
listpeers中删除 LEAF 条目。 - 该对等节点的 ZT IP 的内核路由在
feth接口上添加了REJECT标志(<UP,HOST,REJECT,...>),而ping返回No route to host或Host is down。 这在以下情况下持续: launchctl kickstart -k system/com.zerotier.one- 完全杀死 OpenVPN + 等待
utunX接口消失 zerotier-cli leave 35c192ce9b9531d1+zerotier-cli join(成员 …
内容来源: zerotier/ZeroTierOne