ZeroTier Moon 节点部署
Moon是什么,为什么需要Moon?
ZeroTier 通过自己的多个根服务器帮助我们建立虚拟的局域网,让虚拟局域网内的各台设备可以打洞直连。这些根服务器的功能有些类似于通过域名查询找到服务器地址的 DNS 服务器,它们被称为 Planet. 然而这里存在一个非常严重的问题,就是 Zerotier 的官方行星服务器都部署在国外,从国内访问的时候延迟很大,甚至在网络高峰期的时候都没法访问,这也会导致我们的虚拟局域网变得极不稳定,经常掉链子。
为了应对网络链接的延迟和不稳定,提高虚拟局域网的速度和可靠性,Zerotier 允许我们建立自己的 moon 卫星中转服务器。
搭建流程(省略服务器购买相关基础说明)
配置 ZEROTIER
- 安装
curl -s https://install.zerotier.com/ | sudo bash

安装流程
显示 Success 后安装成功
- 启动
zerotier-one -d
- 加入
sudo zerotier-cli join xxxxxxxxxxxxxxxx
xxxxxxxxxxxxx为 zerotier 官网创建的网络id
加入成功后显示 200 join ok 之后前往 ZEROTIER 官网授权客户端
配置 MOON 节点
- 生成一个 moon 文件
cd /var/lib/zerotier-one
zerotier-idtool initmoon identity.public > moon.json
- 编辑
moon.json
文件 使用 vim 或 nano 以及宝塔图形化等编辑器编辑 moon.json 文件

配置moon.json文件
如图,在stableEndpoints后的方括号内输入"你的服务器公网ip"/9993 包括英文双引号,随后保存该文件。并执行以下命令:
zerotier-idtool genmoon moon.json
会显示一行 wrote 开头的代码,包括一串 xxxxxxxxxxxxxxxxxxx.moon
文本,其中xxxxxxxxxxxxxxx为生成的随机 id。
- 创建
moons.d
目录
在该目录下创建 moons.d 目录
sudo mkdir moons.d
- 移动配置文件
sudo mv xxxxxxxxxxxxxx.moon moons.d/
xxxxxxxxxxxxxx为上文生成的id。
- 重启 ZEROTIER 服务端
sudo systemctl restart zerotier-one
客户端配置
Windows 客户端
在 Zerotier 默认安装路径C:\ProgramData\ZeroTier\One
下新建 moons.d 文件夹,并将服务端得到的.moon
后缀文件放入,随后在 windows 任务管理器中重新启动ZeroTierOneService
服务进程。
随后在CMD中运行 zerotier-cli listpeers
命令

cmd命令
若显示公网ip/9993
的 MOON 节点则代表正确。
LINUX客户端
Linux 客户端需要在var/lib/zerotier
路径下新建 moos.d 文件夹,和 windows 一样将 .moon 后缀的文件放到里面,随后使用和 windows 相同的命令 zerotier-cli listpeers
检查是否生效。