Zerotier 的 MOON 服务器
一年一度的双11来了,显然各大服务器供应商也开始了一波促销;去年把腾讯和阿里的新用户名额用掉了,今年只好换一家,入了华为云。
华为云活动地址:
https://activity.huaweicloud.com/1111_promotion/index.html
入了最便宜的那个 35 元一年的云服务器,本身的需求就是 Zerotier 的 MOON 服务,这服务本身对网络延时有点需求,带宽、硬盘啥的真没什么需求,完全够用了。
华为云提供的系统镜像还是挺丰富的,Windows 和 Linux 的都支持;特色是因为 CentOS 停止了开发,所以华为好像在此基础上开发了自己 Linux 内核的系统,有兴趣的可以试试看。
我因为目的明确,就是要用 Zerotier 的 MOON 服务,所以就不折腾了,还是老朋友 CentOS 7.9 比较熟悉。
系统安装完成后,SSH 登录,安装宝塔面板。
华为云的安全组里别忘记开放宝塔对应的端口,至此,宝塔安装完毕。
其实如果只是做 Zerotier 的 MOON 服务是没必要安装配宝塔的,只是为了操作方便,毕竟图形化界面点点鼠标要比命令行敲代码方便。
如果要长期使用,建议宝塔的端口、用户名、密码、SSH端口修改一下。
完成了上面的准备工作后,正式开始 Zerotier 的配置;首先安装 Zerotier
curl -s https://install.zerotier.com/ | sudo bash
启动安装好的ZeroTier
执行命令:
sudo systemctl start zerotier-one.service
设置为开机自启动运行
执行命令:
sudo systemctl enable zerotier-one.service
将安装好ZeroTier的加入自己的 ZeroTier 虚拟局域网中
执行命令:
sudo zerotier-cli join d5e5fb65375768a3
这里的 d5e5fb65375768a3 换成你自己的 ZeroTier 虚拟局域网的ID
接下来去 Zerotier 官方控制面板通过,获取虚拟局域网的 IP 地址;这个操作一般会用 Zerotier 的都很熟悉了,就省略了吧。
然后就是最重要的步骤,搭建 ZeroTier 的 Moon 中转服务器,生成 moon 配置文件
先切换到 Zerotier 的目录,执行命令:
cd /var/lib/zerotier-one/
然后生成 MOON 配置 json 文件,执行命令:
sudo zerotier-idtool initmoon identity.public > moon.json
然后修改配置文件 moon.json,(主要是添加公网IP,公网IP是服务器的 IP,9993是 zerotier 的默认端口,你服务器防火墙上需要开放 UDP:9993,这个端口可以自定义,不改当然也行;如果不太确定,入站和出站都开放吧,否则是连接不上 Moon 的)
修改有两个办法,熟悉 Linux 命令的,可以直接用命令行修改,使用vi编辑;我们用比较简单的方法,使用宝塔面板进行编辑。
在宝塔的文件管理中,打开 Zerotier 的目录,/var/lib/zerotier-one/ 找到要修改的文件 moon.json ,双击打开。
只要修改 stableEndpoints 后面的 IP 和端口就好,注意中间不是用冒号、而是用 / 斜线隔开,然后整体用双引号引起来。
然后就是生成签名文件,执行命令:
zerotier-idtool genmoon moon.json
执行之后会生成一个 000000xxxx.moon 的文件,将这个文件下载本地,后面要用。
然后将这个 MOON 、节点加入网络。
创建 moons.d 文件夹:
sudo mkdir moons.d
并把签名文件移动到文件夹内:
sudo mv 000000a76b9c298a.moon moons.d/
当然,这一步在宝塔下操作要简单很多;在 Zerotier 目录下新建文件夹,并把 MOON 那个配置文件移动进去。
重启 MOON 服务器的:
sudo systemctl restart zerotier-one
到此,MOON 服务器配置完成。
服务端配置完成了,客户端使用就比较简单了,直接复制一份使用说明过来。
Linux:
使用之前步骤中 moon.json 文件中的 id 值 (10 位的字符串,就是xxxxxx),不知道的话在服务器上执行如下命令可以得到id。
执行命令:grep id /var/lib/zerotier-one/moon.json | head -n 1
然后在客户端机器里执行命令:
执行命令:zerotier-cli orbit ed2c88f24 ed2c88f24
此处的ed2c88f24刚刚在服务器得到的ID值
Windows:
打开服务程序services.msc, 找到服务"ZeroTier One", 并且在属性内找到该服务可执行文件路径,并且在其下建立moons.d文件夹,然后将moon服务器下生成的000xxxx.moon文件,拷贝到此文件夹内..再重启该服务即可(计算机右键管理-找到服务双击打开-找到zerotier one右键重新启动即可)
路径一般是Windows: C:\ProgramData\ZeroTier\One
2.测试是否成功(客户端cmd运行)若有出现你的服务器IP地址,即可证明moon连接成功
执行命令:zerotier-cli listpeers
完成客户端配置