ZeroTier 搭建 moon 服务器
前言
前文实现了 ZeroTier 内网穿透 。但是由于 ZeroTier 的官方 moon 中转服务器在国外,国内客户端可能出现使用延迟大,甚至出现访问不了的问题。可以自己搭建 moon 中转服务器,来实现稳定的服务。
注意:
- 1.2.4 版本之后的 ZeroTier 才支持 moon 服务器。
moon 安装 ZeroTier 并加入虚拟网络
请参阅:ZeroTier 内网穿透 。
moon 服务器配置
-
进入 ZeroTier 配置文件目录。
cd /var/lib/zerotier-one
-
生成 moon.json 签名文件。
sudo -s zerotier-idtool initmoon identity.public >>moon.json
-
编辑
vim moon.json
可以看到如下信息:
moon.json
{ "id": "0123456789", "objtype": "world", "roots": [ { "identity": "xxxxxxxx:0:xxxxxxxx", "stableEndpoints": [] } ], "signingKey": "xxxxxxxx", "signingKey_SECRET": "xxxxxxxx", "updatesMustBeSignedBy": "xxxxxxxx", "worldType": "moon" }
注意:记录下 moon.json 文件中的 id 。
-
修改信息。
找到
"stableEndpoints": []
。添加
"IPv4地址/9993"
或者"IPv4地址/9993","IPv6地址/9993"
。示例:
"stableEndpoints": ["1.2.3.4/9993","2001:abcd:abcd::1/9993" ]
-
生成 .moon 签名文件
zerotier-idtool genmoon moon.json
显示:
wrote 0000006xxxxxxxxx.moon (signed world with timestamp 15xxxxxxxxxx7)
-
创建 moon 结点文件夹。
mkdir /var/lib/zerotier-one/moods.d
-
将签名文件复制到 moods.d 文件夹中
cp 0000006xxxxxxxxx.moon moons.d/
-
重启 ZeroTier 服务
/etc/init.d/zerotier-one restart
设备连入 moon 服务器
自动配置
-
输入命令:
sudo zerotier-cli orbit [moon.json 文件中的 id] [moon.json 文件中的 id]
-
Windows 有一点不同,需要使用管理员权限的 PowerShell 输入:
zerotier-cli orbit [moon.json 文件中的 id] [moon.json 文件中的 id]
手动配置
各个系统平台下 ZeroTier 目录位置 :
Windows: C:\ProgramData\ZeroTier\One
Macintosh: /Library/Application Support/ZeroTier/One (在 Terminal 中应为 /Library/Application\ Support/ZeroTier/One)
Linux: /var/lib/zerotier-one
FreeBSD/OpenBSD: /var/db/zerotier-one
-
在对应系统平台下的 ZeroTier 目录位置,创建 moods.d 文件夹。
sudo mkdir /var/lib/zerotier-one/moods.d
-
将 moon 服务器生成的 0000006xxxxxxxxx.moon 拷贝到 moods.d 文件夹下。
-
重启 zerotier-one 服务。
- Linux :
/etc/init.d/zerotier-one restart
- Windows :
- 按下 windows键+r ,打开 “运行” 窗口。
- 输入 services.msc 回车。
- 找到 ZeroTier One 服务,右键选择 “重新启动” 。
- Linux :
检测生效
-
在非 moon 的客户端,输入命令:
zerotier-cli listpeers
-
Windows 有一点不同,需要使用管理员权限的 PowerShell 输入:
zerotier-cli listpeers
如果出现如下情况:
- moon 服务器的 ID 、IP 地址出现在列表中,证明联通 moon 服务器。
200 listpeers <ztaddr> <path> <latency> <version> <role>
...................
200 listpeers 6xxxxxxxxx [moon IPv4地址]/60723;11450;11405 -1 1.4.6 MOON
...................