创建ZeroTier Moons节点详细教程

By | 2025/01/13

什么是Moons节点?

Moons节点是ZeroTier网络中的特殊节点,它可以作为私有网络中的中继器,帮助其他节点发现并连接到网络。通过部署Moons节点,可以提升网络的稳定性、可靠性和覆盖范围。对我们来说,就是解决网络不稳定、经常中断的问题。

根据官方手册推荐,Moons节点最好有固定的公网IP(因为配置的时候需要一个固定IP),而且最好只做Monns节点使用。

实际中,可以是在用的planet节点(即设备节点)做Moons节点,而且固定IP也不一定非得是公网IP,私网IP也是可以使用的。使用私网IP这点官方文档有说明,在私网不通的时候,会使用官方的行星节点建立网络。利用可以设置私网IP这一点,不知是否对国内网络有所裨益,通过官方行星节点打通网络后,如果私网moons节点可以生效,那么使用动态外网IP的moons节点,理论上就可以用来做数据转发,将很大的提高国内网络的稳定性,针对这一点还在测试中,目前还没结果。

创建Moons节点步骤:

0、环境确认

首先要安装ZeroTier客户端,一般会被安装在 /var/lib/zerotier-one/ 位置,该目录下包含自己的身份信息文件 identity.public 和 identity.secret (相当于公钥和私钥)。

1、生成moon.json

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

使用上面的命令,在当前目录生成moon.json文件,文件内容如下:

{
"id": "deadbeef00",
"objtype": "world",
"roots": [
{
"identity": "**hidden**",
"stableEndpoints": [""]
}
],
"signingKey": "**hidden**",
"signingKey_SECRET": "**hidden**",
"updatesMustBeSignedBy": "**hidden**",
"worldType": "moon"
}

2、添加固定IP信息

编辑上面的 moon.json 文件中的 stableEndpoints 部份,添加固定的IP地址信息。比如外网IP是1.1.1.1,内网是10.0.0.1,IPv6地址是2001:abcd:abcd::1,那么添加稳定节点后的moon.json看起来是这样:

{
"id": "deadbeef00",
"objtype": "world",
"roots": [
{
"identity": "**hidden**",
"stableEndpoints": ["1.1.1.1/9993","10.0.0.1/9993","2001:abcd:abcd::1/9993"]
}
],
"signingKey": "**hidden**",
"signingKey_SECRET": "**hidden**",
"updatesMustBeSignedBy": "**hidden**",
"worldType": "moon"
}

3、生成moon文件

zerotier-idtool genmoon moon.json

执行上面命令,将生成一个名为000000deadbeef00.moon的文件,它不包含密钥,但由 JSON 文件中的密钥签名。注意这里的ID deadbeef00,后面对应的命令都应该使用正确的ID来进行替换。

4、Moons节点生效

现在转到zerotier配置所在的根目录(linux通常在/var/lib/zerotier-one/),查看是否有名为moons.d的目录,如果没有就自行创建一个。将上面得到的moon 文件复制到moons.d文件夹里面,最后重新启动zeronter-one服务。

mv 000000deadbeef00.moon /var/lib/zerotier-one/moons.d/

5、其他节点加入Moons节点

zerotier-cli orbit deadbeef00 deadbeef00

如果moon节点没问题,执行上面的代码后,等一段时间后,执行zerotier-cli listpeers命令,就可以看到对应的deadbeef00节点是MOON而不是LEAF了。

PS:第一个参数是世界 ID(我们可以通过删除前导零来缩短它),第二个参数是其任何根的地址,没有特殊改动这俩是一样的。如果根在线且可访问,这将联系根并从中获取完整的世界定义。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据