异地组网
alpine系统装zerotier-one
Docker容器内安装ZeroTier的方法
Linux下Docker部署ZTNET流程
Docker搭建ZeroTier
Linux下用ztncui搭建ZeroTier服务器
Linux服务器安装NetBird流程
openwrt路由器更换根服务器planet方法
Tailscale套件虚拟组网 实现局域网互访
Padavan安装使用ZeroTier实现组建虚拟局域网的方法
windows中tailscale切换到官方登陆连接
zerotier 部署及命令大全
zerotier 的 planet 服务器(根服务器)的搭建踩坑记。无需 zerotier 官网账号
ZeroTier配置节点访问的教程
ZeroTier组网专题
解决zerotier-one手动删除后,无法用脚本安装
老毛子 Padavan 路由器安装 ZeroTier
群晖DSM7.x使用ZeroTier套件
群晖更换根服务器planet方法
WireGuard专题
WireGuard安装教程
编译Zerotier的时候出现找不到nlohmann_json.h的问题,需要安装nlohmann-json-dev
run-zerotier.sh文件内容
修改ZeroTier默认端口
zerotier自建planet
首页
-
+
zerotier自建planet
ZeroTier 是一个由 C++ 开发的软交换机,可以让多台内网机器组成一个私有的局域网。ZeroTier 的节点分为三类: - Planet Server: 官方的根服务器,用于记录和配置每个局域网下客户端信息(以下简称 Planet); - Moon Server: 官方推荐的私有 Planet Server 的部署方法,在默认 Planet 无法访问的时候承担 Planet 的作用(以下简称 Moon); - Leaf: 局域网中既不是 Planet 也不是 Moon 的其他客户端。 ## 准备: 需要一台公网ip固定的服务器,可以是自建也可以是云服务器,当需要公网ip且IP固定 服务器端口放行: **新增允许访问的规则 `UDP:9993` 和 `TCP:9993,TCP: 3443(后面的显示面板用)`** ## zerotier-one安装和生成planet文件 ### 1.安装编译环境 ``` yum install wget gcc gcc-c++ git -y ``` ``` yum install json-devel -y ``` ### 2.安装zerotier-one ``` curl -s https://install.zerotier.com/ | sudo bash ``` ### 3.查看认证信息 安装完成后,进入目录 **`/var/lib/zerotier-one/`** 查看认证信息,文件为**`identity.public 和 authtoken.secret`** **`记录下来,后续需要用到`** ### **`4.下载zerotier-one源码`** 在**`/var/lib/zerotier-one/路径下执行命令`** ``` git clone https://github.com/zerotier/ZeroTierOne ``` 没有git的先安装git ``` yum install git ``` ### 5.进入源码目录 #zerotier-one 目录 ``` cd /var/lib/zerotier-one/ #下载的源码目录为ZeroTierOne ``` ``` ls ``` authtoken.secret controller.d identity.public identity.secret networks.d planet zerotier-cli zerotier-idtool zerotier-one ZeroTierOne zerotier-one.pid zerotier-one.port zerotier-one.te > #进入目录ZeroTierOne ``` cd ZeroTierOne/ ``` ``` ls ``` artwork controller Dockerfile.ci java make-mac.mk one.cpp RELEASE-NOTES.md tcp-proxy zeroidcattic ... #进入attic/world ``` cd attic/world/ ``` ``` lsbuild.sh current.c25519 mkworld mkworld.cpp planet previous.c25519 README.md world.c ``` #修改mkworld.cpp ``` vim mkworld.cpp ``` 修改其中mkworld.cpp文件 搜索roots.push\_back,这里的四个就是默认的根服务器  注释一个根服务器 ,添加一个新的 将3中的identity.public中的字符串写入Identity中 InetAddress写服务器公网ip,端口为9993 ``` roots.push_back(World::Root()); roots.back().identity = Identity("identity.public中的字符串"); roots.back().stableEndpoints.push_back(InetAddress("公网IP/9993")); ``` ### 6.编译 在world目录下,执行如下三条命令 ``` source ./build.sh./mkworldmv ./world.bin ./planet ``` ### 7.替换planet 替换服务器的planet,并保留一份供其他客户端使用 ``` #替换cp -r ./planet /var/lib/zerotier-one/ # 备用保存好cp -r ./planet /root ``` 替换完成后重启服务 ``` systemctl restart zerotier-one.service ``` ## ztncui安装 ### 1 下载ztncui并安装 #下载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 ``` ### 2 配置ztncui #进入ztncui文件 ``` cd /opt/key-networks/ztncui/ ``` #管理面板端口 ``` echo "HTTPS_PORT = 3443" >>./.env ``` 3443是ztncui默认的web面板端口,可以自行修改 #zt-token ``` echo "ZT_TOKEN = authtoken.secret文件里的字符串" >>./.env ``` #这里是面板与本地客户端的通讯端口,保持默认9993就行 ``` echo "ZT_ADDR=127.0.0.1:9993" >>./.env ``` ``` echo "NODE_ENV = production" >>./.envecho "HTTP_ALL_INTERFACES=yes" >>./.env ``` 配置完成后重启ztncui ``` systemctl restart ztncui ``` ### 3.查看ztncui是否运行正常 ``` systemctl status ztncui ``` 如果是running,没有报错,就行了 ### 4\. 访问控制面板 是https,不是http 访问地址: https://公网ip:3443 默认用户名:admin 默认密码:password ### 5.创建一个网络  创建完成后,选择简易安装,分配ip  ## 客户端加入网络 ### 1.linux #### 1.1先安装zerotier-one ``` curl -s https://install.zerotier.com/ | sudo bash ``` #### 1.2 替换planet文件 ``` #进入zerotier-one的目录[root@k8s-master ~]# cd /var/lib/zerotier-one/[root@k8s-master zerotier-one]# lsauthtoken.secret controller.d identity.public identity.secret networks.d planet zerotier-cli zerotier-idtool zerotier-one ZeroTierOne zerotier-one.pid zerotier-one.port zerotier-one.te ``` 将服务器的planet文件替换该目录 /var/lib/zerotier-one/ 下的planet文件 #### 1.3 重启服务 ``` systemctl restart zerotier-one ``` #### 1.4 加入网络 ``` zerotier-cli join 网络id ``` 网络id为上面创建网络是的id #### 1.5 在控制面板授权后,查看 可以发现服务器的对应节点已经变成planet,连接方式为直连 其他planet未连接,之所以还有显示,是因为在修改cpp文件时没有将是个planet节点全部注释掉 ``` zerotier-cli peers200 peers <ztaddr> <ver> <role> <lat> <link> <lastTX> <lastRX> <path> 34e0a5e174 - PLANET -1 RELAY3a46f1bf30 - PLANET -1 RELAY 4178cd60e0 1.10.6 LEAF 89 DIRECT 12 13071 192.168.0.10/27898 8e57d686ef 1.10.5 PLANET 31 DIRECT 3149 3116 122.15.23.21/9993 de8950a8b2 - PLANET -1 RELAY ``` ### 2 macos 在zerotier官网下载macos版本,安装完成后,如下操作 #### 2.1 替换planet文件 ``` # 进入macos的zerotier文件夹 cd /Library/Application\ Support/ZeroTier/One ``` 将服务器的planet文件替换当前planet文件 #### 2.2 替换完成后重启服务 ``` cat /Library/Application\ Support/ZeroTier/One/zerotier-one.pid | sudo xargs kill ``` #### 2.3 重启完成后,加入网络 ``` zerotier-cli join 网络id ``` 在控制面板授权,完成 ### ### 3 windwos 在官网下载windows对应版本,安装完成后,如下操作 #### 3.1 替换planet文件 将服务器的planet文件替换到C:\\ProgramData\\ZeroTier\\One目录下【隐藏目录,需要打开显示隐藏文件夹】 #### 3.2 重启服务 #### 3.3 加入网络 管理员打开PowerShell ``` zerotier-cli.bat join 网络id ```
laoding
2024年4月8日 00:48
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码