ZeroTier-One在Linux搭建moon完整过程

ZeroTier-One在Linux搭建moon完整过程

安装配置ZeroTier客户端

执行命令: curl -s https://install.zerotier.com/ | sudo bash

运行完后即安装成功,界面会出现如图

启动安装好的ZeroTier

1
2
3
sudo systemctl start zerotier-one.service

sudo systemctl enable zerotier-one.service

将安装好ZeroTier的加入你事先注册好的ZeroTier虚拟局域网中

执行命令:sudo zerotier-cli join aaaaaaaaaaaa

此处的aaaaaaaaaaaa是本人ZeroTier虚拟局域网的ID,请更改为你本人自己的ID

然后去zerotier管理页面,对加入的设备进行打钩

搭建ZeroTier的Moon中转服务器,生成moon配置文件

执行命令:cd /var/lib/zerotier-one/

执行命令:sudo zerotier-idtool initmoon identity.public > moon.json

修改配置文件moon.json,(主要是添加公网IP,公网IP是服务器的IP,9993是zerotier的默认端口,你服务器防火墙上需要开放UDP:9993,否则是连接不上Moon的)

执行命令:nano moon.json

修改stableEndpoints,

1
2
3
4
5
{
//...
"stableEndpoints":["1.1.1.1/9993"]
//...
}

此处的1.1.1.1就是公网IP,这你自己服务器的IP地址

Ctrl+X退出编辑

生成签名文件

执行命令:zerotier-idtool genmoon moon.json

执行之后会生产一个000000xxxxxxxx.moon的文件,将这个文件下载本地,xxxxxxxx是随机生成的,记住这个后面要用

将moon节点加入网络。创建moons.d文件夹,并把签名文件移动到文件夹内

执行命令:sudo mkdir moons.d

执行命令:sudo mv 000000xxxxxxxx.moon moons.d/

此处的00000xxxxxxxxx.moon是上一步生成的文件名,请改成你自己本人的。

重启中转服务器的 zerotier-one :

执行命令:sudo systemctl restart zerotier-one

到这里,服务器的moon就配置完成了。
对客户端安装zerotier后,将配置好的moon文件配置到客户端,并重启zerotier完成与moon的连接。

客户端配置

Linux

使用之前步骤中 moon.json 文件中的 id 值 (10 位的字符串,就是xxxxxx),不知道的话在服务器上执行如下命令可以得到id。

执行命令:grep id /var/lib/zerotier-one/moon.json | head -n 1

然后在客户端机器里执行命令:

执行命令:zerotier-cli orbit xxxxxxx xxxxxxx

此处的xxxxxxx刚刚在服务器得到的ID值

Windows

打开服务程序services.msc, 找到服务ZeroTier One, 并且在属性内找到该服务可执行文件路径,并且在其下建立moons.d文件夹,然后将moon服务器下生成的000xxxx.moon文件,拷贝到此文件夹内。再重启该服务即可(计算机右键管理-找到服务双击打开-找到zerotier one右键重新启动即可)

路径一般是Windows: C:\ProgramData\ZeroTier\One

Android

Android的官方客户端是不能使用moon的,但是可以用魔改版做到
地址 https://github.com/kaaass/ZerotierFix

releases 下载最新版本后,点击右上角三个点,点击入轨,之后点击右下角加号,然后选择从文件导入,将事先准备好的moon文件导入,即可使用moon链接各个设备了。

测试是否成功

(客户端cmd运行)若有出现你的服务器IP地址,即可证明moon连接成功

执行命令:zerotier-cli listpeers

ZeroTier-One在Linux搭建moon完整过程

https://gwliang.com/2021/04/25/zerotier-moon/

作者

Gaowan Liang

发布于

2021-04-25

更新于

2021-04-28

许可协议

评论