搭建moon节点,让你的zerotier 络更安全高效

在上一篇搭建zerotier 络的教程,我们成功地搭建了zerotier 络,达成了远程办公的目的,你甚至还可以坐在星巴克咖啡厅里,跟生意伙伴商务活动的同时,随时调用公司内部的共享数据资料,这也是科技进步给我们带来的种种便利之一。

在zerotier 络体系中,根服务器(root server)被称为星球(planet),而每一台联 设备都被称为叶子(leaf),两台星球之间是通过星球节点握手建立隧道连接的,而zerotier作为一家总部位于加州的美国公司并没有在中国设有根服务器,因此在两台设备连接时受制于星球节点的连接质量,不免要产生高延迟,因此我们可以按照官方指引来搭建月亮(moon)节点,让设备相互连接时通过我们自己搭建的月亮节点来握手建立隧道,从而降低握手时的 络延迟、也提高联 稳定性和安全性。

首先要说明的是,搭建月亮节点的服务器对硬件要求不高,但是必须有公 IP地址,如果公司的 络环境不具备条件,可以通过购买云计算服务器来实现。现在国内的云计算服务商主要有阿里云、华为云、腾讯云、天翼云等,都可以满足你的需要,这些供应商时常有打到骨折的优惠活动,每年一两百元人民币的成本也不是什么压力,再者说来,这一台云计算服务器还可以同时为你搭建 站或者其他的应用。如果对于搭建moon节点还没有信心,可以到这些云计算供应商的国际站点注册,薅一台免费试用2-3个月的服务器来测试,其实这些云计算的香港节点与大陆站点相比延迟也差不了多少;当然国际大厂也有羊毛可以薅,谷歌云、甲骨文云、亚马逊云、微软云都提供免费试用的云主机,甲骨文云还提供终身免费的选项。

下面我就用一台全新的甲骨文云服务器教大家如何搭建自己的moon节点。

新建一台1核CPU1G内存的服务器,系统ubuntu20.04LTS,

分配IP地址,

添加ipv6路由表,

添加 络安全列表,增加出入站规则,放行出入站流量,

先测一下ping值,

用SSH客户端应用程序连接主机,

获取root权限,

sudo -i

更新可安装软件包的列表,

apt update

更新可升级软件包,

apt upgrade

查看服务器防火墙状态,

如果防火墙处于活动状态,需要执行以下步骤,

添加服务器防火墙规则,放行9993端口,

ufw allow 9993/udp

重启防火墙,让规则生效

ufw reload

查看端口是否放行。

ufw status

安装zerotier,

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

加入ZeroTier 络,

zerotier-cli join <network id>

返回 200 join OK

(离开zerotier 络的命令:zerotier-cli leave <network id>)

验证是否联 ,

zerotier-cli listnetworks

生成moon模板,

cd /var/lib/zerotier-one

zerotier-idtool initmoon identity.public > moon.json

修改moon.json,

vi /var/lib/zerotier-one/moon.json

i

修改”stableEndpoints”为服务器公 IP,

“stableEndpoints”: [“152.67.193.30/9993″,”2603:c024:b:a100::30/9993”]

Esc

保存。

:wq

通过文件管理器进入zerotier安装目录并找到moon.json,

/var/lib/zerotier-one/moon.json

点击鼠标右键,打开文件,

点击菜单保存,等待右上角文件状态显示“已完成”表示修改成功,

生成签名文件,

zerotier-idtool genmoon moon.json

执行之后会生产一个000000xxxxxxxxxx.moon(前六位是零,后十位是节点ID)的签名文件,下载moon签名文件备用,

通过文件管理器进入zerotier安装目录并找到000000xxxxxxxxxx.moon,

/var/lib/zerotier-one/000000xxxxxxxxxx.moon

点击鼠标右键,选择下载,等待右上角文件状态显示“已完成”表示下载成功,默认的保存位置在电脑桌面上的一个名为“fsdownload”的文件夹里,备用。

将moon节点加入 络,

mkdir moons.d

mv ./*.moon ./moons.d/

重启zerotier,

service zerotier-one restart

验证moon节点是否正常联 ,

zerotier-cli listmoons

至此,moon节点搭建完成。

打开已连接zerotier的电脑的命令行,先测个没有加入moon节点的ping值,

进入zerotier客户端应用程序批处理脚本的安装目录(zerotier默认安装目录是C:ProgramDataZeroTierOne,这个目录下的执行命令是 zerotier-one_x64.exe -i 或者 zerotier-one_x86.exe -i 代替 zerotier-cli ),

C:Program Files (x86)ZeroTierOne>zerotier-cli orbit xxxxxxxxxxx xxxxxxxxxxx(moon节点ID两次,中间带空格)

返回 200 orbit OK

(离开moon节点的命令:zerotier-cli orbit xxxxxxxxxxx xxxxxxxxxxx)

验证是否加入moon节点,

C:Program Files (x86)ZeroTierOne>zerotier-cli listpeers

列表中有“MOON”表示已成功加入moon节点,

查看moon节点信息,

C:Program Files (x86)ZeroTierOne>zerotier-cli listmoons

通过文件管理器进入zerotier目录,

/etc/config/zero

或者软连接:/var/lib/zerotier-one

点击鼠标右键新建文件夹moons.d,

进入moons.d目录,点击鼠标右键上传文件,

进入fsdownload目录,找到刚刚下载的000000xxxxxxxxxx.moon文件,确认,等待右上角文件状态显示“已完成”表示上传成功,刷新页面,可以显示文件,

重启zerotier,

service zerotier restart

验证是否加入moon节点,

列表中有“MOON”表示已成功加入moon节点,

至此,openwrt路由器已成功加入moon节点。

两台联 设备都打开ipv6,测个ping值,在两台设备同城并且是同一个宽带接入商(中国移动)的条件下,ping值6毫秒左右,这个级别的ping值,在感觉上基本与局域 内设备的相互连接没有区别。这是由于zerotier在两个具有公 ipv6设备之间直接建立了隧道连接,不再需要多层NAT地址转换。

需要说明的是,搭建moon节点是为了替代planet节点在联 设备握手时的作用,降低设备之间握手时的延迟,也提高你的zerotier 络的稳定性和安全性,并不能直接降低联 设备相互访问时的ping值。也许有人会质疑,既然有了公 ipv6,直接用ipv6不就可以了吗?在实际应用场景中绝大多数ipv6都是动态的,并且ipv6的地址都很难记住,不适合日常应用的场景,当然你设置了ddns除外。

好了,这期教程就到这儿了,如果教程对你有用, 学驿站,可以学习更多的电脑、 络和数码使用技巧。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年7月25日
下一篇 2022年7月25日

相关推荐