ZeroTier 自建 Moon 节点加速内网穿透

ZeroTier 用起来很方便,但官方的 Planet 节点在国内延迟比较高,有时候连接也不稳定。自建一个 Moon 节点可以解决这个问题——Moon 是 ZeroTier 的中继节点,客户端优先通过 Moon 中转,延迟会低很多。

在 VPS 上配置 Moon 节点

安装 ZeroTier

curl -s https://install.zerotier.com | sudo bash
systemctl enable zerotier-one

加入 ZeroTier 网络

zerotier-cli join <network-id>

生成 Moon 配置

cd /var/lib/zerotier-one
zerotier-idtool initmoon identity.public > moon.json

编辑生成的 moon.json,找到 stableEndpoints 字段,填入 VPS 的公网 IP:

"stableEndpoints": ["1.2.3.4/9993"]

id 字段是这台 VPS 的 10 位 ZeroTier ID,记下来后面要用。

生成签名文件

zerotier-idtool genmoon moon.json

执行后会生成一个 000000xxxxxxxxxx.moon 文件。

加载 Moon 节点

/var/lib/zerotier-one 下建 moons.d 目录,把 .moon 文件放进去,然后重启 ZeroTier:

mkdir -p /var/lib/zerotier-one/moons.d
cp 000000xxxxxxxxxx.moon /var/lib/zerotier-one/moons.d/
systemctl restart zerotier-one

客户端连接 Moon 节点

在其他机器上执行(两个参数都是 Moon 节点的 ID):

zerotier-cli orbit <moon-id> <moon-id>

或者把 .moon 文件复制到客户端机器的 moons.d 目录下,重启 ZeroTier。

验证是否连上

zerotier-cli listpeers

看到 Moon 节点那行后面有 MOON 字样就成功了:

200 listpeers 3ed7cxxxxx 39.97.x.x/9993;172;79 32 1.6.3 MOON

各系统 ZeroTier 目录位置

系统目录
Linux/var/lib/zerotier-one
macOS/Library/Application Support/ZeroTier/One
WindowsC:\ProgramData\ZeroTier\One
FreeBSD/OpenBSD/var/db/zerotier-one