ZeroTier是一套使用UDP协议构建的SD-WAN网络软件,其主要有三部分组成:行星服务器Planet、月亮服务器Moon、客户端节点Leaf,行星服务器是ZeroTier的根节点,可以采用ZeroTier官方的服务器,也可以使用开源代码自行搭建。
月亮服务器介于行星与客户端之间,官方行星都在国外,因此可以就近公网搭建月亮服务器,客户端可以优先使用延迟更低的月亮节点进行P2P打洞或者网络中转。
客户端节点既可以安装在客户端进行远程网络接入,也可以部署后开启路由转发功能,配置静态路由后实现两个网络组网
本例是在阿里云上面操作的:IP:114.55.84.170
一、Moon节点服务器安装
1、安装
curl -s https://install.zerotier.com/ | sudo bash
2、启动
systemctl start zerotier-one
systemctl enable zerotier-one
3、加入网络
zerotier-cli join 363c67c55a92a902
4、ZeroTier 官网勾选 Auth
5、生成节点配置
cd /var/lib/zerotier-one/
zerotier-idtool initmoon identity.public > moon.json
6、编辑
vim moon.json
# 修改
"stableEndpoints": ["114.55.84.170/9993"]
7、生成签名,成功后会出现一个 000000b8cdf1fe5d.moon 文件,这个文件名前6位0是固定的,后面b8cdf1fe5d其实就是官网上面设备ID
zerotier-idtool genmoon moon.json
8、 配置 moons.d 目录
mkdir moons.d
mv 000000b8cdf1fe5d.moon moons.d/
9、重启
systemctl restart zerotier-one
10、阿里云放行 UDP 9993
二、Windows 客户端
1、打开命令行运行,其中的 b8cdf1fe5d 就是上面的ID值
zerotier-cli orbit b8cdf1fe5d b8cdf1fe5d
# 显示
200 orbit OK
2、重启 Zerotier
2、查看
zerotier-cli listpeers
# 输出
200 listpeers <ztaddr> <path> <latency> <version> <role>
200 listpeers 1c08211b95 120.204.172.145/37242;13402;13402 124 1.10.2 LEAF
200 listpeers 363c67c55a 35.209.66.142/21043;4594;4594 376 1.12.2 LEAF
200 listpeers 622b9fd914 - -1 - LEAF
200 listpeers 62f865ae71 50.7.252.138/9993;36124;125996 -406 - PLANET
200 listpeers 778cde7190 103.195.103.66/9993;36124;125120 470 - PLANET
200 listpeers b8cdf1fe5d 114.55.84.170/9993;4186;4156 32 1.12.2 MOON # 成功显示
200 listpeers cafe04eba9 84.17.53.155/9993;36124;842 391 - PLANET
200 listpeers cafe9efeb9 104.194.8.134/9993;36124;19434 -500 - PLANET
200 listpeers ea298ccce2 61.218.44.107/63384;19372;19372 94 1.12.2 LEAF