Zerotier作为一款开源异地虚拟局域网构建工具,已经被广泛关注和应用,相比蒲公英、花生壳等工具,ze ro tier免费、可加入节点多,数据传输安全,但有时两台都在内网的主机打通udp隧道较为困难,而且通常延迟较高,好在官网提供了解决方案,即使用一台接入公网的主机作为MOON节点,用于初始化打通两节点之间的隧道,使延迟可以从几百ms降至十几ms,故我选择了阿里云2核2g内存的ecs作为moon节点,十分有效。
选择ubuntu20.04作为操作系统
1.下载Zerotier
参考官网指南:https://www.zerotier.com/download/
curl -s https://install.zerotier.com | sudo bash
2.启动zerotier服务
service zerotier-one start
3.加入zerotier网络
zerotier-cli join 网络ID;
之后在web端控制台允许此节点接入网络
4.生成MOON节点
首先进入zerotier目录“/var/lib/zerotier-one”
cd /var/lib/zerotier-one
sudo zerotier-idtool initmoon identity.public > moon.json
然后修改moon.json
{
..
{
..
”stableEndpoints”:[]
}
..
}
添加ECS的公网ip地址
{
..
{
..
”stableEndpoints”:[“<your_ip_addr>/9993”]
}
..
}
保存并退出
5.输入下面命令
sudo zerotier-idtool genmoon moon.json
mkdir moons.d
mv ./*.moon ./moons.d/
6.最后重启zerotier服务
systemctl restart zerotier-one
7.使用命令:
zerotier-cli listpeers
检验是否成功。
8.使用openwrt,还需连接后输入以下命令
zerotier-cli orbit moon的ID moon的ID
使openwrt加入moon,远程使用NAS