本文最后更新于 131 天前,其中的信息可能已经有所发展或是发生改变。
简单的介绍
Zerotier 的官方服务器在国外,国内客户端使用时延迟较大,网络高峰期时甚至各个客户端节点之间访问不了。此时,“自定义根服务器”,又称 moon 中转服务器就显得非常重要,它的主要功能是通过自定义的服务器作为跳板加速内网机器之间的互相访问。
Zerotier 定义了几个需要知道的专业名词
PLANET 行星服务器,Zerotier各地的根服务器,有日本、新加坡等地
moon 卫星级服务器,用户自建的私有根服务器,起到中转加速的作用
LEAF 相当于各个枝叶,就是每台连接到该网络的机器节点。
在使用 zerotier-cli listpeers 命令时能看到这几个名词。
使用官方语句安装moon
curl -s https://install.zerotier.com/ | sudo bash
生成moon配置文件
cd /var/lib/zerotier-one
sudo zerotier-idtool initmoon identity.public > moon.json
x修改moon配置文件
修改配置文件moon.json,主要是添加公网IP,修改内容如下, 9993是默认端口,然后上传覆盖即可
{
"id": "64980affbf",
"objtype": "world",
"roots": [
{
"identity": "64980affbf:0:e2a40e8182227425d6876c393f6db967ec94fc5e9b97340ba26e73c2167d9a2fa96d457efa7751fb9767b4276ab01effaa91431a973f74669eadba9c1b86404c",
"stableEndpoints": []
}
],
"signingKey": "1cfdfb0ce1469a642b713aa53432fe39449354548a40878ee04157e35b0e8e59d5f455e982197bef237a505ab0823be0c5221ea7ccb6403be3ff8c038b138742",
"signingKey_SECRET": "4bad79cbad5cb85d5d87c32cd062a5eedf7e1e8f50db592196c6b67b83e1ea03de420260ae11853955e9c7636fd61b188ca1f7451f846ed8d222084526758c73",
"updatesMustBeSignedBy": "1cfdfb0ce1469a642b713aa53432fe39449354548a40878ee04157e35b0e8e59d5f455e982197bef237a505ab0823be0c5221ea7ccb6403be3ff8c038b138742",
"worldType": "moon"
}
~
添加自己的公网ip,用1.1.1.1来代替公网
官方给出的带 IPv6 的示例是这样的
"stableEndpoints": [ "1.1.1.1/9993","2001:abcd:abcd::1/9993" ]
{
"id": "64980affbf",
"objtype": "world",
"roots": [
{
"identity": "64980affbf:0:e2a40e8182227425d6876c393f6db967ec94fc5e9b97340ba26e73c2167d9a2fa96d457efa7751fb9767b4276ab01effaa91431a973f74669eadba9c1b86404c",
"stableEndpoints": [ "1.1.1.1/9993" ]
}
],
"signingKey": "1cfdfb0ce1469a642b713aa53432fe39449354548a40878ee04157e35b0e8e59d5f455e982197bef237a505ab0823be0c5221ea7ccb6403be3ff8c038b138742",
"signingKey_SECRET": "4bad79cbad5cb85d5d87c32cd062a5eedf7e1e8f50db592196c6b67b83e1ea03de420260ae11853955e9c7636fd61b188ca1f7451f846ed8d222084526758c73",
"updatesMustBeSignedBy": "1cfdfb0ce1469a642b713aa53432fe39449354548a40878ee04157e35b0e8e59d5f455e982197bef237a505ab0823be0c5221ea7ccb6403be3ff8c038b138742",
"worldType": "moon"
}
~
生成moon配置文件
zerotier-idtool genmoon moon.json
使用moon文件
Linux环境下面:
在/var/lib/zerotier-one目录下
手动新建一个moons.d文件夹
并使用刚生成的moon配置文件
放到该文件夹下
mv 00000018fasd2319.moon moons.d/
service zerotier-one restart
/etc/init.d/zerotier-one restart
service zerotier-one start
zerotier-one -d
Windows环境下面
打开服务程序services.msc,
找到服务"ZeroTier One", 在属性中我的环境下为
C:\ProgramData\ZeroTier\One\zerotier-one_x64.exe, 打开该文件夹,
并且在其下建立moons.d文件夹,
然后将moon服务器下生成的x.moon文件
拷贝到此文件夹内
再重启该服务即可(计算机右键管理-找到服务双击打开-找到zerotier one右键重新启动即可)
测试
测试是否成功(客户端cmd运行)
若有出现你的服务器IP地址,即可证明moon连接成功
zerotier-cli listpeers
windows版本MOONs 搭建教程
安装zerotier,对就是安装软件
打开cmd
CD C:\ProgramData\ZeroTier\One\
zerotier-one_x64.exe -i
生成MOON模板
zerotier-one_x64.exe -i initmoon identity.public >>moon.json
C:\ProgramData\ZeroTier\One\目录下生成moon.json文件
修改公网IP和上述的一样
"stableEndpoints": [ "1.1.1.1/9993" ]
1.1.1.1 改为你的公网IP
生成文件
zerotier-one_x64.exe -i genmoon moon.json
C:\ProgramData\ZeroTier\One\目录下生成000xxx.moon的文件
创建文件夹
C:\ProgramData\ZeroTier\One\目录下建立文件夹 moons.d,将刚刚生成的 .moon 文件拷贝进去。
测试
window:CMD下使用
zerotier-cli listpeers
或者
zerotier-one_x64.exe -q listpeers