Zerotier 私有化部署根服务器(Planet)
Zerotier 这个软件稳定使用半年以上了,但是存在一点小问题,晚上延迟会高点。在网上也搜索到不少的解决方案,搭建moom服务来中续,效果好一点。偶然在搜索的时候,发现可以自建一个planet核心节点,就尝试一下安装。
服务概念
- Planet:就类似官方的行星服务器,用来管理zerotier客户端的地址信息,帮助建立客户端之间的链接,以及无法建立直接的链接的时候,可以作为中续服务器来转发客户端之间的流量。
- moom:作为中续服务器存在,官方节点的都在海外,建立国内节点做为中续,可以使转发的效率更高,延迟也低。
服务器选择
这里我选择了一个吃灰的服务器,腾讯的4H4G8M活动机。国内主流的云服务提供商:腾讯云、华为云、阿里云等等,当然配置不要太高,转发速度主要看带宽,单核、128m、5G硬盘、1M带宽,我测试可以运行,满足这个基本配置以上都可以跑起来了。这里我选择Debian 11.1的系统。
安装Planet
升级系统软件包
1 | apt-get upgrade |
安装Zerotier和Ztncui
作者文档:一键搭建zerotier planet服务器脚本_独步-的博客
一键脚本仓库地址:opopop880/zerotier_planet
- 适合于Debian和Ubuntu安装
需要root权限执行
1 | wget https://gitee.com/opopop880/zerotier_planet/raw/master/zerotier_planet_debain.sh && chmod +x zerotier_planet_debain.sh && ./zerotier_planet_debain.sh |
- 适用redhat centos安装
1 | wget https://gitee.com/opopop880/zerotier_planet/raw/master/zertotier_planet.sh && chmod +x zertotier_planet.sh && ./zertotier_planet.sh |
Debian和Ubuntu、如果zerotier编译过程中提示nlohmann/json.hpp
找不到的问题,需要安装nlohmann-json-dev软件包
1 | wget http://kr.archive.ubuntu.com/ubuntu/pool/universe/n/nlohmann-json/nlohmann-json-dev_2.1.1-1.1_all.deb && dpkg -i nlohmann-json-dev_2.1.1-1.1_all.deb |
查看监听端口
1 | netstat -tunlp |
出现zerotier-one和ztncui相对应的进程和端口
查看管理页面
执行完成后,打开ip:3000
或者 https://ip:3443
用户名admin
密码password
能打开页面表示服务器安装成功,安装完成会在执行目录,生成planet
文件,找到这个文件并下载下来。
云服务器放行规则
TCP:3000、3443、9993
UDP:9993
3000端口是控制台的http
3443端口是控制台的https
9993端口是planet的根服务器之间通讯
创建网络
配置网络
控制台找到- 网络 - 简易安装 - 生成网络地址 -提交保存
配置ipv4和ipv6分配模式
配置zerotier客户端
Linux端
官方安装方式
1 | curl -s https://install.zerotier.com | sudo bash |
在/var/lib/zerotier-one/
找到刚刚下载的planet,上传替换
重启zerotier
1 | systemctl restart zerotier-one.service |
加入网络,在控制台找到 网络ID
复制下来
1 | zerotier-cli join <NETWORK ID> |
加入网络后,需要在控制台点授权和分配IP才能正常使用
运行zerotier-cli listpeers
检查是否加入根服务器
这里的IP都是自己的设备,已经完成组网的设备,如果出现海外IP,可能是文件替换了没有重启、要排除海外IP组网。
Winows端
下载地址:Download – ZeroTier
点自动安装后,默认会在任务栏启动,需要在右下角找到zerotierUI点击 Quit 退出
- 停止Zerotier任务
- 替换planet文件
打开C:\ProgramData\ZeroTier\One
,用刚刚下载的planet替换掉本地的planet
- 重启Zerotier服务
在任务管理器点击重新启动Zerotier服务,等已停止变成正在运行
- 连接私有网络
在控制台找到你想加入网络的 网络ID
,复制下来
打开ZerotierUI,在任务栏找到 右键 - join New Network
在服务端界面,给本地客户端授权
在客户端查看状态OK表示连接成功。
安卓端
安卓端的开源地址:https://github.com/kaaass/ZerotierFix
找到刚才下载的planet的文件,然后通过软件加载下载的planet文件即可。
然后添加网络ID,然后去控制台授权当前设备就可以愉快玩耍了。
Linux图形化桌面端
Linux端的开源地址:https://github.com/tralph3/ZeroTier-GUI
下载源码后进行解压,然后执行编译安装
1 | ./make_deb.sh |
测试网络
延迟测试
使用ping测试
客户端距离(客户端位于深圳到广西),延迟还是很低的