zerotier的planet服务器(根服务器)的搭建踩坑记,实测可用。无需zerotier官网账号。

我使用的是一台国内nat服务器,不开80和443端口,不能绑定无备案的域名。内存和硬盘都很小,大宽带是优势,正好用来架设zerotier的planet服务器.

以centos7为列

(1).首先安装centos7系统并更新

yum update

(2).安装必要的编译组件

yum install wget gcc gcc-c++ git -y

(3).安装官方客户端

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

(3-1).记录/var/lib/zerotier-one/目录下

identity.public和authtoken.secret文件里的字符串,以后有用。注意每台设备不同,字符串也不同,别抄我的

identity.public里的是:

2dcdb49f24:0:2e39cb1b36c96bea35a4ae506e15bad97019c48880e66fe9310453977dd9ce7981987bdb94e1e8eb4cd14d09d27aeeaf1c9658bb98b1bc7107a7e3d427d5bdc2

authtoken.secret里的是:

w8cl25tzb38dvwffenucrbug

(4).下载并编译配置文件

git clone https://gitee.com/opopop880/ZeroTierOne.git
cd ./ZeroTierOne/attic/world/
sed -i '/roots.push_back/d' ./mkworld.cpp
sed -i '/roots.back()/d' ./mkworld.cpp
sed -i '85i roots.push_back(World::Root());' ./mkworld.cpp
sed -i '86i roots.back().identity = Identity(\"'"填写identity.public里的字符串"'\");' ./mkworld.cpp
sed -i '87i roots.back().stableEndpoints.push_back(InetAddress(\"'"服务器ip地址/通讯端口"'\"));' ./mkworld.cpp  #默认通讯端口是9993,可以自行修改
source ./build.sh
./mkworld
mv ./world.bin ./planet
\cp -r ./planet /var/lib/zerotier-one/
\cp -r ./planet /root   #下载/root目录下的planet文件到本地,以后其他机器加入planet服务器需要用到

(4-1).重启官方客户端

systemctl restart zerotier-one.service

(5).安装planet服务器的管理系统ztncui

wget https://gitee.com/opopop880/ztncui/attach_files/932633/download/ztncui-0.8.6-1.x86_64.rpm
rpm -ivh ztncui-0.8.6-1.x86_64.rpm

(5-1).生成接口文件

cd /opt/key-networks/ztncui/
echo "HTTPS_PORT = 3443" >>./.env  #3443是ztncui默认的web面板端口,可以自行修改
echo "ZT_TOKEN = authtoken.secret文件里的字符串" >>./.env  #这里的字符串是authtoken.secret文件里的字符串
echo "ZT_ADDR=127.0.0.1:9993" >>./.env  #这里是面板与本地客户端的通讯端口,保持默认9993就行,千万别修改,修改了本地ztncui和ZeroTier-One通讯就会错误
echo "NODE_ENV = production" >>./.env
echo "HTTP_ALL_INTERFACES=yes" >>./.env

(5-2).启动ztncui管理面板

systemctl restart ztncui

(6).现在可以使用:https://服务器ip:3433登录了,默认账号和密码是:admin/password 

备注:【注意这里的证书是不可信的,所以要点浏览器页面上的高级--继续前往服务器ip(不安全)】第一次登录需要改密码,改完密码后在页面上点注销,然后用新密码登录。

登录以后点:add a network建立一个虚拟网路,network name:名称随便写,最后按create a network 按钮保存

(7).记住there are no members on this network - users are invited to join后面的网络id,后续方便虚拟局域网的其他电脑加入

(7-1).把planet服务器自身先加入到刚建立的虚拟网络中,生成第一台虚拟局域网主机

zerotier-cli join 网络ID 网络ID  #注意这里是你在planet服务器添加网络生成的id,不是planet服务器自身的ID

3.jpg

(8).下载/root目录下生成的“planet”文件,来替换需要组网客户端里的“planet”文件

(9).其他需要加入虚拟局域网的电脑正常安装客户端,各系统的客户端下载地址:https://www.zerotier.com/download/

(10).使用刚才下载的“planet”文件替换其他电脑“ZeroTier-One”安装目录下的“planet”文件,并重启系统

(11).在设备上执行 “zerotier-cli join 你的planet服务器网络ID”加入刚组建虚拟局域网

zerotier-cli join 网络ID 网络ID  #注意这里是你在planet服务器添加网络生成的id,不是planet服务器自身的ID

3.jpg

如果一切正常的话,会显示:200 join OK 的提示

(12)在其他设备上执行zerotier-cli listpeers命令可以看到你架设成功的planet服务器,注意这里的planet服务器了。具体见下图

1.jpg



2.jpg


(13).关于客户端加入自己搭建的planet服务器

首先安装官方客户端,客户端下载地址:https://www.zerotier.com/download/ 按照自己的系统选择安装。

linux系统一般安装在“/var/lib/zerotier-one/”目录下。win系统一般安装在“C:\Program Files (x86)\ZeroTier\One”目录下

(13-1).linux系统,把刚才架设planet服务器得到的“planet”文件,上传覆盖“/var/lib/zerotier-one/”下的“planet”文件,然后执行:

zerotier-cli join 网络ID 网络ID  #注意这里是你在planet服务器添加网络生成的id,不是planet服务器自身的ID

重启客户端:

systemctl restart zerotier-one.service

到自己搭建的planet服务器管理面板里就可以看到加入的机器了,注意要给加入的机器授权才能正常使用

(13-2).win系统“C:\Program Files (x86)\ZeroTier\One”目录下首先到服务里面停止“ZeroTier One”服务

4.jpg把planet文件复制到“C:\Program Files (x86)\ZeroTier\One”目录下,如果提示“无权限”,可以下载“管理员.zip”解压开,双击运行注册表,在“C:\ProgramData\ZeroTier\One\”目录上鼠标邮件选择“一键获取超级管理员权限”现在就可以把把planet文件复制到“C:\ProgramData\ZeroTier\One\”目录下了,接下来在服务里面启动“ZeroTier One”服务。以管理员权限运行cmd或者windows powershell执行

zerotier-cli join 网络ID 网络ID  #注意这里是你在planet服务器添加网络生成的id,不是planet服务器自身的ID

5.jpg

这里系统会提示你发现一个新网络,点击“是”,在网络适配器界面会多出一个新的“虚拟网卡”ZeroTier One,红框里就是刚才你加入的虚拟局域网ID

6.jpg

最后重启“ZeroTier One”服务


备注:最后planet服务器需要授权每一个加入的客户端。至于这么给虚拟局域网的其他机器开放端口,或者把网站域名绑定到虚拟局域网的其他机器上,以后再写。



打赏

支持Ctrl+Enter提交
啊噢~ 沙发还在!
2022-05-06 10:46 2283