Zerotier Moon 搭建

996 阅读2分钟

搭建 Zerotier Moon 为虚拟网络加速

Zerotier 是一款开源工具,可以用来构建点对点(P2P)虚拟网络。比如你的女友不让你去网吧玩游戏,这时候你就可以建立一个 Zerotier 点对点虚拟网络,把你和朋友的家的电脑都加入到这个虚拟网络中,然后你们就可以像在网吧里一样联机玩耍了。

云服务器上安装 zerotier-one

安装


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

云服务器加入虚拟网络

执行命令,将云服务器加入到自己创建好的虚拟网络,将命令中的 xxxxxxxx 替换成实际的虚拟网络 ID。

$ sudo zerotier-cli join xxxxxxxx

第三步 配置 Moon

进入 zerotier-one 程序所在的目录,默认为 /var/lib/zerotier-one


cd /var/lib/zerotier-one

生成 moon.json 配置文件

identity 对应有两个选项

  • public 公开, 不建议使用这个, 任何人只要知道你的id就可以加入

  • secret 私有, 授权可加入, 相对来说会更安全一些

sudo zerotier-idtool initmoon identity.public >> moon.json

编辑 moon.json 配置文件

sudo vi moon.json

格式为ip/端口

将配置文件中的 "stableEndpoints": [] 修改成 "stableEndpoints": ["ServerIP/9993"],将 ServerIP 替换成云服务器的公网IP。

生成 .moon 文件

sudo zerotier-idtool genmoon moon.json

将生成的 000000xxxxxxxxxx.moon 移动到 moons.d 目录

sudo mkdir moons.d
sudo mv 000000xxxxxxxxxx.moon moons.d

moon 配置文件的名一般为10个前导零+本机的节点ID

重启 zerotier-one 服务

sudo systemctl restart zerotier-one

使用 Moon节点

普通的 Zerotier 成员使用 Moon 有两种方法,第一种方法是使用 zerotier-cli orbit 命令直接添加 Moon 节点ID;第二种方法是在 zerotier-one 程序的根目录创建moons.d文件夹,将 xxx.moon 复制到该文件夹中,我们采用第一种方法:

Linux 系统下使用 Moon

将命令中的两组 xxxxxxxxxx 都替换成 moon 的节点ID。

sudo zerotier-cli orbit xxxxxxxxxx xxxxxxxxxx

检查是否添加成功

sudo zerotier-cli listpeers

Windows 系统下使用 Moon

以管理员身份打开 PowerShell,将命令中的两组 xxxxxxxxxx 都替换成 moon 的节点ID。

C:\Windows\system32> zerotier-cli.bat orbit xxxxxxxxxx xxxxxxxxxx

检查是否添加成功

C:\Windows\system32> zerotier-cli.bat listpeers

提示:Windows 系统的默认程序目录位于 C:\Program Files (x86)\ZeroTier\One

常见问题

  1. 电脑添加了虚拟网络,但Zerotier管理列表中始终没有显示这台设备, 可以尝试在Zerotier管理界面中 Advanced -> Manually Add Member 中手动添加电脑的节点ID。