ZeroTier 禁用 IPv6 或 IPv4,让连接更顺畅

通过配置 local.conf 绑定特定协议,解决 ZeroTier 在国内 IPv6 丢包严重的问题

ZeroTier 使用 IPv6 在国内非常容易丢包,禁用 IPv6 后连接会更稳定。

配置文件位置

需要在 ZeroTier 目录下创建 local.conf 文件:

系统路径
WindowsC:\Users\<User>\AppData\Local\ZeroTier
macOS~/Library/Application Support/ZeroTier
Linux/var/lib/zerotier-one/
OpenWrt/overlay/upper/etc/config/zero

以 Linux 为例,目录下通常有这些文件:

1
2
3
root@VM71695:/var/lib/zerotier-one# ls
authtoken.secret identity.public metrics.prom networks.d planet zerotier-idtool zerotier-one.pid zerotier-one.te
controller.d identity.secret metricstoken.secret peers.d zerotier-cli zerotier-one zerotier-one.port

创建配置文件

默认没有 local.conf,需要手动创建:

禁用 IPv6(仅使用 IPv4)

1
2
3
4
5
{
"settings": {
"bind": [ "0.0.0.0" ]
}
}

禁用 IPv4(仅使用 IPv6)

1
2
3
4
5
{
"settings": {
"bind": [ "0::0" ]
}
}

重启服务

Linux

1
systemctl restart zerotier-one.service

Windows

在服务管理器中重启 ZeroTier One 服务,或重启电脑。

macOS

1
2
sudo launchctl unload /Library/LaunchDaemons/com.zerotier.one.plist
sudo launchctl load /Library/LaunchDaemons/com.zerotier.one.plist

验证配置

查看所有连接的节点:

1
zerotier-cli listpeers | grep LEAF

禁用 IPv6 后,所有节点都应显示 IPv4 地址:

1
2
3
4
200 listpeers 1a2b3c4d5e 198.51.100.1/45458;794;14680 197 1.12.2 LEAF
200 listpeers 2b3c4d5e6f 203.0.113.55/21010;11158;11158 194 1.14.0 LEAF
200 listpeers 3c4d5e6f7a 198.51.100.2/3081;815;815 11 1.8.4 LEAF
200 listpeers 4d5e6f7a8b 203.0.113.56/25432;5601;5561 42 1.10.2 LEAF

总结

适用场景:

  • 国内网络环境下 IPv6 丢包严重
  • 需要强制使用特定协议连接

注意事项:

  • 此操作在客户端进行,不是服务端
  • 修改后需重启 ZeroTier 服务才能生效
  • 如果网络环境变化,可删除 local.conf 恢复默认行为