【zerotier】 搭建moon中转服务器
上午
已剪辑自: https://blog.csdn.net/RadiantJeral/article/details/104159031
本文介绍 ZeroTier Moon 的部署.
环境:
机器 A:Notebook, Windows8
机器 B:Desktop, Ubuntu16.04
机器 C:Cloud Server, Ubuntu16.04, 公网 IP:1.2.3.4
通过 ZeroTier 建立虚拟局域网,在机器 C 的云服务器上部署 ZeroTier Moon,加速网络.
1. 部署 Moon 服务
官方手册部署 Moon.
1. 1 设置 ZeroTier Node
Moon 节点可以是具有固定 IP 的公网设备,也可以是具有物理 IP 的内网设备. 如果使用内网设备,依然需要借助官方根服务器作为中间链路. 因此,这里我们在云服务器上搭建 Moon 服务,云服务器的公网 IP 为 1.2.3.4
.
在机器 C 上部署 ZeroTier Moon 首先需要安装 ZeroTier One 将其部署为为 ZeroTier Node,参考 ZeroTier 的安装与使用.
1.2 设置 moon.json
配置文件
在机器 C 上进入 root 账户,或者 sudo 提权.
1.进入 ZeroTier HOME 目录:
cd /var/lib/zerotier-one/ |
2. 获取 moon.json
文件:
zerotier-idtool initmoon identity.public >>moon.json |
产生的 moon.json
,并修改stableEndpoints
的入口IP.
{ |
moon.json
文件中的 "id": "fbaa18691f"
就是机器 C 的 ZeroTier Node ID
.
1.3 设置moon签名文件
1.修改完 moon.json
文件后,获取 000000deadbeef00.moon
签名文件:
zerotier-idtool genmoon moon.json |
此时,在 /var/lib/zerotier-one/
下产生 000000deadbeef00.moon
文件. deadbeef00 就是机器 C 的 ZeroTier Node ID.
2.新建 moons.d
目录,并将 000000deadbeef00.moon
文件移动到其下:
mkdir moons.d |
3.重启 ZeroTier One 服务,激活设置:
service zerotier-one restart |
2. 使用 Moon 服务
要想使用 Moon 服务,还需要在机器 A 和机器 B 上添加签名文件. 有两种方式:1.手动添加;2.命令行通过 ZeroTier Root Server 添加.
2.1 手动添加签名文件
1. 在 ZeroTier One 的 HOME
目录新建 moons.d
目录, 将 1.3 小节中产生的 000000deadbeef00.moon
拷贝出来并放入 {ZeroTier_One_HOME}\\moons.d
目录中.
以下是各种操作系统中 ZeroTier One 默认的 HOME 目录:
- Linux:
/var/lib/zerotier-one
- FreeBSD / OpenBSD:
/var/db/zerotier-one
- Mac:
/Library/Application Support/ZeroTier/One
- Windows:\**ProgramData**\ZeroTier\One
(That’s for Windows 7. The base ‘shared app data’ folder might be different on different Windows versions.)
2. 然后,重启 ZeroTier One 服务,激活设置.
2.1.1 在机器 A(Windows)上添加
Windows 操作系统中 ZeroTier One HOME 目录为 \ProgramData\ZeroTier\One
,如下图所示:
而 \Program Files (x86)\ZeroTier\One
为 ZeroTier One 图形界面与命令行界面所在目录,如下图所示:
1.在 \ProgramData\ZeroTier\One
下建立 moons.d
目录,并将 000000deadbeef00.moon
拷贝放入.
2.重启 ZeroTier One 服务.win + R
打开运行
输入 services.msc
打开服务,选择 ZeroTier One
服务并重新启动
3.测试
在 \\Program Files (x86)\\ZeroTier\\One
下打开 cmd,测试 MOON 节点是否添加成功
zerotier-cli.bat listpeers |
结果如下图,出现 MOON 节点则表示添加成功
2.1.2 在机器 B(Ubuntu)上添加
1.Ubuntu 操作系统中 ZeroTier One HOME
目录为 /var/lib/zerotier-one
,建立 moons.d
目录,并将 000000deadbeef00.moon
拷贝放入.
2.重新启动 ZeroTier One 服务:
sudo service zerotier-one restart |
3.测试:
sudo zerotier-cli listpeers |
出现 MOON 标识的节点标识添加成功.
2.2 命令添加
Windows 下:
zerotier-cli.bat orbit deadbeef00 deadbeef00 # deadbeef00 twice |
重启 ZeroTier One 服务
Ubuntu 下:
sudo zerotier-cli orbit deadbeef00 deadbeef00 # deadbeef00 twice |
重启 ZeroTier One 服务
- 命令行实际上是通过 ZeroTier 根服务器将
000000deadbeef00.moon
拷贝放入{ZeroTier_One_HOME}/moons.d
目录中. 由于网络原因,可能会有延迟或无效的情况,重复、等待或使用手动方式. - 重启 ZeroTier One 服务是非常重要的步骤,不重启 ZeroTier One 服务将无法激活设置.
3. 效果对比
未使用 Moon 服务时:延迟较高,并且经常性有丢包现象
使用 Moon 服务后:延迟显著降低,无经常性丢包现象