ZeroTier Moon — moon.json 在线生成器

填写节点信息、导入签名密钥,一键生成 / 复制 moon.json。所有数据均在浏览器本地处理,不会上传。

1. Moon 节点(roots)

单个 moon 最多 4 个 root 节点:ZeroTier 源码中硬编码了 ZT_WORLD_MAX_ROOTS = 4,超过 4 个 root 的 moon 文件会被 zerotier-one 直接拒绝加载,导致 zerotier-cli listmoons 返回空数组 []。如果需要更多 root 服务器,请拆分成多个独立的 moon.json / .moon 文件。
各项如何获取?
  • identitycat /var/lib/zerotier-one/identity.public(每个节点都不一样,格式为 节点ID:0:公钥
  • 节点 ID(identity 的前 10 位):zerotier-cli info,输出形如 200 info ca25310cd9 1.12.2 ONLINE,第三列即是
  • 端口:默认 9993(UDP);若改过,以 /var/lib/zerotier-one/local.conf 中的 primaryPort 为准
端点填 IP/端口,多个用英文逗号分隔,如 103.1.2.3/9993, 2001:d234::1/9993

2. 签名密钥

说明:点右上角「导入 initmoon…」,粘贴服务器上 zerotier-idtool initmoon /var/lib/zerotier-one/identity.public 生成的模板即可自动填入。 signingKey_SECRET 是签名私钥,请妥善保管,签名完成后记得删除 moon.json。

3. 生成结果


    
生成后如何使用?
# 1. 把 moon.json 传到 Moon 节点服务器,签名生成 .moon 文件
zerotier-idtool genmoon /tmp/moon.json
# 输出类似: wrote 000000ca25310cd9.moon

# 2. 把生成的 0000xxxxxxxxxx.moon 放到每一个 moon 节点和客户端
mkdir -p /var/lib/zerotier-one/moons.d/
cp 0000xxxxxxxxxx.moon /var/lib/zerotier-one/moons.d/
systemctl restart zerotier-one

# 3. 别忘了删除含私钥的 moon.json
rm /tmp/moon.json

# 4. 验证 moon 是否生效(peers 里应出现 MOON 角色)
zerotier-cli peers