博主头像
Kurfuerst

ワクワク

Zerotier Moon节点部署

相关命令

  1. 查询节点
zerotier-cli peers
  1. 加入网络
sudo zerotier-cli join xxxxxxxxxxxxxxxx
  1. 离开网络
zerotier-cli leave xxxxxxxxxxx
  1. 加入 moon
zerotier-cli orbit xxxxxxx yyyyyyyy
  1. 离开 moon
zerotier-cli deorbit xxxxxxxx

Zerotier Moon服务器搭建

zerotier的体验也符合木桶效应,直连的长板很长,走中转的短板很短,在一些时候会带来很多不好的体验。zerotier允许用户自定义中转服务器,让被迫走中转时的速度和延迟都比较让人可以接受。同时,购买的VPS通常都是BGP网络,也就是同时接入多个运营商,使用中转服务器可以一定程度上提高跨运营商组网的体验。

什么是Moon服务器

Moon服务器就是上面说的中转服务器,在zerotier中,每个客户端叫做LEAF,官方的节点叫做PLANET,个人的节点叫做MOON。


搭建Moon服务器

首先购买一台vps

可以想办法开一个阿里云/腾讯云/华为云学生机(或者新用户优惠)
VPS推荐

安装zerotier

执行官方一键安装脚本

curl -s https://install.zerotier.com | sudo bash

安装完成后执行

zerotier-cli

检查是否安装成功

zerotier的moon节点部署1
zerotier的moon节点部署1

接着先把vps加入zerotier网络,xxxxx为zerotier的Network ID,可以在后台看到。

zerotier-cli join xxxxx

zerotier的moon节点部署2
zerotier的moon节点部署2

加入以后去后台允许一下,接着进行moon相关配置,先导出moon.json

cd /var/lib/zerotier-one
zerotier-idtool initmoon identity.public > moon.json

使用nano编辑文件

nano moon.json

zerotier的moon节点部署3
zerotier的moon节点部署3

生成的文件大概是这样的,只需要修改stableEndpoints,格式为”vps的公网IP/端口号”,如果vps有v6地址也可以一起写上:

"stableEndpoints": ["47.xx.xx.xx/9993","2004:xxxx:xxxx::xxx/9993"]

编辑完成后按ctrl+X退出并选择Y保存设置。下一步生成moon文件:

zerotier-idtool genmoon moon.json

输入命令后会在该目录下面生成一个类似于 000000xxxxx. moon 的文件,接着我们让这个文件生效:

# 创建一个存放刚刚生成文件的目录  
mkdir moons.d  
# 把文件移动到该目录  
mv 000000xxxxx.moon moons.d/

重新启动 zerotier 的服务器, 由于使用命令安装时会自动注册为服务,所以使用该命令重启:

service zerotier-one restart

这一步做完还需要修改防火墙,打开9993端口。如果使用的是aliyun的机器还需要在aliyun的控制台放行9993端口。


客户端连接Moon服务器

不管是哪个平台首先都需要知道Moon节点的id,这个id可以通过在vps执行zerotier-cli info获得。下面简称id。

群辉

  • 在 Zerotier 的根目录下新建文件夹 moons.d,将上文中生成的 moon 文件复制到该目录下。
  • 或者
    假设已经接入了zerotier局域网。在控制面板打开ssh,连接ssh以后执行
zerotier-cli orbit id id

后面两个 id 输入 moon 节点的 id,要输入两次!显示 200 orbit OK 说明加入成功。

zerotier的moon节点部署4
zerotier的moon节点部署4

(不过这种方法不推荐,因为依赖于planet根服务器,如果无法连接根服务器则无法缓存moon文件)

PC 端

首先下载zerotier客户端并安装,打开后输入网络ID并Join Network

之后与群晖类似

  • 首先运行 services. msc, 找到服务 ZeroTier One,并且在属性内找到其对应的可执行文件路径,如 C:\ProgramData\ZeroTier\One\zerotier-one_x64.exe,在该目录下新建文件夹 moons.d,将 moon 文件复制到该目录下。
  • 或者
    在命令行中输入:zerotier-cli orbit id id,其中 id 为私有根服务器的 ID (不推荐,理由同上)

zerotier的moon节点部署5
zerotier的moon节点部署5

移动端

由于官方提供的 app 不支持 moon,这里使用kaaassZerotierFix
kaaass/ZerotierFix: An unofficial Zerotier Android client patched from official client (github.com)

Zerotier Moon节点部署
http://blog.kurfuerst.online/index.php/archives/37/
本文作者 Großer Kurfürst
发布时间 2023-04-21
许可协议 CC BY-NC-SA 4.0
发表新评论