<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns="http://purl.org/rss/1.0/"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel rdf:about="https://www.941741.xyz/feed/rss/tag/ZEROTER/">
<title>雾非雾 - ZEROTER</title>
<link>https://www.941741.xyz/tag/ZEROTER/</link>
<description></description>
<items>
<rdf:Seq>
<rdf:li resource="https://www.941741.xyz/archives/116.html"/>
</rdf:Seq>
</items>
</channel>
<item rdf:about="https://www.941741.xyz/archives/116.html">
<title>Zerotier 的 MOON 服务器</title>
<link>https://www.941741.xyz/archives/116.html</link>
<dc:date>2022-11-09T15:53:00+08:00</dc:date>
<description>一年一度的双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 的配置；首先安装 Zerotiercurl -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 &gt; 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\One2.测试是否成功（客户端cmd运行）若有出现你的服务器IP地址,即可证明moon连接成功执行命令：zerotier-cli listpeers完成客户端配置</description>
</item>
</rdf:RDF>