Categories
Networks

使用ZeroTier组建虚拟内网/如何搭建MOON转发服务器

ZeroTier可以构建网状结构的虚拟局域网,方便我们将不同的设备连入这个虚拟的网络,实现内网通信的需求。然而在中国如果要用好ZeroTier,则需要搭建几个MOON转发服务器。

名词解释:

  • PLANET 行星服务器,ZeroTier 各地的根服务器,有美国、德国、日本、新加坡等地
  • MOON 卫星级服务器,ZeroTier允许用户在靠近Leaf的位置建立的带公网IP的转发服务器,可以帮助信令的中转加速
  • LEAF 枝叶节点,即你连上这个网络时,你就是这个网状结构中的一个枝叶末端节点

ZeroTier有各个平台的客户端软件,这里不赘述了。所谓MOON卫星级服务器,其实就是将一台带公网IP地址的枝叶节点转换为MOON,实操如下:

1. 首先在阿里云香港购买1个ECS,然后安装ZeroTier:

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

2. 然后加入到你创建好的网络

zerotier-cli join <network id>

3. 生成MOON模板

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

4. 修改模板,编辑器打开moon.json,把公网IP地址填到里面去,端口保持默认即可

“stableEndpoints”: [ “8.8.8.8/9993” ] #8.8.8.8 改为你的公网IP

5. 生成MOON签名

zerotier-idtool genmoon moon.json

这一步会生成一个类似000000xxxxx.moon的文件,.moon前面的即这台MOON的ID,后续使用时需要,注意保存

6. 把MOON加入网络中

在 Zerotier 安装目录下(/var/lib/zerotier-one)建立文件夹 moons.d,将刚刚生成的 .moon 文件拷贝进去。

cd /var/lib/zerotier-one
mkdir moons.d
cp 000000xxxxx.moon moons.d

7. 重启 ZeroTier之后,MOON即可在该网段可用。

8. 在你的LEAF节点,执行命令

zerotier-cli orbit 000000xxxxx 000000xxxxx #没错,这个值要输入两遍

之后,你的信令就会经过这台中转服务器进行转发,查看是否存在MOON服务器,可以执行命令进行查看

zerotier-cli listpeers|grep MOON

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.