买到了便宜的VPS, 那就玩玩Zerotier的Moon服务器吧
前言
今天买到了便宜的vps,虽然
2 vCPU 2 GiB 40 GiB RAID-10 HS SSD
, 看似不强,但是够我拿来做Zerotier
的卫星服务器了,另外还可以拿来开frps
Zerotier 三个等级:
PLANET 行星服务器,Zerotier 各地的根服务器,有日本、新加坡等地
MOON 卫星级服务器,用户自建的私有根服务器,起到中转加速的作用
LEAF 相当于各个枝叶,就是每台连接到该网络的机器节点。
全节点操作
以下操作只针对Linux, windows的有图形配置,很简单;
至于mac, 别问问就是,穷鬼买不起;
安装zerotier-one
1 | curl -s https://install.zerotier.com/ | sudo bash |
启动并加入网络
1 | sudo systemctl enable zerotier-one --now |
之后管理面板找到Members
对这些节点授权
Moon节点
这个必须是个公网的服务器, 以下操作就都用root用户吧
生成节点配置
1 | sudo -i |
编辑配置
1 | vim moon.json |
修改这个{"roots": [{"stableEndpoints": ["ip/port"]}]}
,方括号里面写"公网IP/9993"
, 配置文件结构就像我下面这张图
生成签名
1 | zerotier-idtool genmoon moon.json |
下面是我的输出
wrote 000000844acc14c1.moon (signed world with timestamp 1708605206488)
创建moons.d
目录,把上面生成的挪进去
1 | mkdir moons.d |
重启zerotier
1 | systemctl restart zerotier-one |
非Moon节点
操作方法A
执行下面的脚本就可以获取moon
信息
1 |
|
其实重点就是zerotier-cli listpeers
找到这玩意输出中作为Moon服务器的那行的IP,所对应的<ztaddr>
列的值
然后zerotier-cli orbit
后面俩参数都是这个<ztaddr>
列的值,这个过程很简单,windows我就不写脚本了,直接powershell
(管理员模式哦)手操一下得了
上面操作,成功的话会输出这个
200 orbit OK
然后再看一眼listpeers
,就会发现作为moon服务器的IP,对应的<role>
就是MOON
, listmoons
会输出moon
服务器的信息
1 | sudo zerotier-cli listpeers |
操作方法B
拿着Moon节点生成的/var/lib/zerotier-one/moons.d/000000844acc14c1.moon
,扔到非Moon节点的/var/lib/zerotier-one/moons.d/
, 然后重启服务
当然我觉得这个方法不咋优雅