之前一直使用ZeroTier作为内网穿透软件,使用很便捷,而且是全平台的,家里面的电脑和外地的电脑远程连接很方便,因都是电信网络 ,ping值很低,上个月买了个极路由4增强版之后,就经常连不上,ping值很高而且经常断,在路由器上看unpn也是开通的,端口是打开的,但就是不知道什么原因导致这个问题,后来才想到可能是zerotier点与点连接建立失败,没有直连,而是绕道国外,造成较大的延迟和丢包率。在 ZeroTier 1.2.0 版本之后,一项新的功能被加入进来:“自定义根服务器”,又称 moon。通过自定义的服务器作为跳板加速内网机器之间的互相访问。
建立moon服务器时,需要你有一个公网的vps或者服务器,下面教程是从第一部开始讲解。
1.在你的vps上安装Zerotier,如vps的ip为1.1.1.1
curl -s https://install.zerotier.com/ | sudo bash
2.加入你自己建立的zerotier网络
zerotier-cli join <network-id> //network-id 为在官网上建立网络的一串字符串
3.生成与建立moon模板
cd /var/lib/zerotier-one zerotier-idtool initmoon identity.public > moon.json
检查json文件中id与服务器的id是否一致
修改moon.json中stableEndpoints为服务器ip,如
“stableEndpoints”: [ “1.1.1.1/9993”]
建议在vps防火墙放行9993端口
之后执行
zerotier-idtool genmoon moon.json
会生成000000abcdefgh00.moon的文件,其中abcdefgh00为vps的zerotier id
之后执行
mkdir moons.d
mv 000000abcdefgh00.moon ./moons.d
service zerotier-one restart
即可
二、加入你自己的moon节点
方法一,在其他zerotier节点进入zerotier安装目录,输入以下命令
zerotier-cli orbit <id> <id>
id为moon节点的id,如
zerotier-cli orbit abcdefgh00 abcdefgh00
方法二
拷贝上面生成的000000abcdefgh00.moon文件到zerotier的moons.d文件夹中,并重启服务
不同系统文件夹地址如下<不存在moons.d文件夹则新建>
Windows: C:\ProgramData\ZeroTier\One //注意,这里不是zerotier的安装目录,是数据目录,之前就是因为放错了地方导致没有生效
Linux: /var/lib/zerotier-one
MacOs: /Library/Application\ Support/ZeroTier/One)
FreeBSD/OpenBSD: /var/db/zerotier-one
注意: windows需要重启服务,而不是重启程序,按住windows键+r,在弹出的对话框中输入services.msc并回车,找到ZeroTier One,右键选择重新启动即可。
要验证是否moon生效,只需要在客户端zerotier程序目录下,执行以下命令即可:
zerotier-cli listpeers
若有类似地址,即可证明moon连接成功
200 listpeers abcdefgh00 1.1.1.1/9994;4242;4038 224 1.2.12 MOON
zerotier-cli用法指引 zerotier-cli info #查看当前zerotier-one的信息 zerotier-cli listpeers #列出所有的peers zerotier-cli listnetworks #列出加入的所有的网络 zerotier-cli join <network> #加入某个网络 zerotier-cli leave <network> #离开某个网络 zerotier-cli listmoons #列出加入的Moon节点 zerotier-cli orbit <world ID> <seed> #加入某个Moon节点 zerotier-cli deorbit <world ID> #离开某个Moon节点
评论前必须登录!
注册