侧边栏壁纸
博主头像
龍騰博客 博主等级

行动起来,活在当下

  • 累计撰写 113 篇文章
  • 累计创建 31 个标签
  • 累计收到 7 条评论

目 录CONTENT

文章目录

借助第三方控制器ztncui私人化zerotier one,打造安全的内网穿透环境

管理员
2026-03-26 / 0 评论 / 0 点赞 / 1 阅读 / 0 字

ztncui是zerotier one众多开源第三方控制器中的一个,之所以选它是因为它是唯一一个拥有图形界面的。通过配置客户端的planet就可以跳过官方节点,使用ztncui完成各个节点之间的通讯和打洞。

准备工作

Zerotier不支持已域名方式和控制器通讯,所以你需要准备一个具有固定公网ip的云服务器,最好同时具备固定ipv6。

对于android设备,需要使用kaaass大神Zerotier FIX才可以使用自定义控制器和自定义moon服务器,IOS设备无解。

云服务器准备

我在这里使用的腾讯云服务器,首先申请ipv6的使用权。搜索引擎搜索“腾讯云IPV6”就可以申请腾讯云的ipv6使用权。然后在控制面板——私有网络——子网——“更多”选项添加ipv6支持。在租用云服务器时选择启动ipv6既可以拥有固定ipv6。我使用的系统是centos8.2 64位,并配置安全组开放需要使用的端口

借助第三方控制器ztncui私人化zerotier one,打造安全的内网穿透环境

借助第三方控制器ztncui私人化zerotier one,打造安全的内网穿透环境

借助第三方控制器ztncui私人化zerotier one,打造安全的内网穿透环境

#zerotier安全组说明

#ztncui Web控制面板使用的端口。可以自行选择端口,根据自己选择端口配置安全组

TCP:3443

# Zerotier节点与控制器通讯的端口,可自行选择端口,根据自己选择的端口配置安全组

TCP:9993

#MOON节点与控制器通讯的中继端口,可自行选择端口,根据自己选择的端口配置安全组

UDP:9993

#需要分别设置ipv4和ipv6的规则

ztncui&Zerotier安装与设置

ssh登陆到云服务器开始搭建,以下为centos安装命令。

#ztncui依赖于zerotier,所以需要先安装zerotier

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

#下载并安装ztncui

yum install https://download.key-networks.com/el7/ztncui/1/ztncui-release-1-1.noarch.rpm -y

yum install ztncui -y

#设置ztncui配置文件

vi /opt/key-networks/ztncui/.env

#按"i"键进入编辑模式,输入下面内容,端口号可以自行更改,但必须和安全组一致。

#输入后按“Esc”键输入“:wq!”保存退出

HTTPS_PORT = 3443

#重启ztncui

systemctl restart ztncui

#web登录ztncui控制台,https://ip:3443,账户:admin 密码:password。

配置moon服务器

#进入zerotier one文件夹

cd /var/lib/zerotier-one

#生成moon.json文件

zerotier-idtool initmoon identity.public >> moon.json

#编辑moon.json文件,

# 修改 “stableEndpoints”: [ “你的公网IPx1/端口”,”你的公网IPxN/端口” ]

#ipv4 ipv6都可以,一般端口默认为9993,然后保存退出

vi moon.json

#拷贝到/home文件夹

cp moon.json /home && cd /home

#生成客户端用的moon配置文件

zerotier-idtool genmoon moon.json

#将生成的000000XXXXX.moon文件发给各个zerotier one客户端,建议使用winscp下载。

配置ztncui

#修改ztncui配置文件

vi /opt/key-networks/ztncui/.env

#添加一些需要的参数

#查看/var/lib/zerotier-one/authtoken.secret获取ZT_TOKEN,建议通过winscp查看

ZT_TOKEN=用authtoken.secret文件内的内容替换此处

ZT_ADDR=127.0.0.1:9993

#保存退出

#重启ztncui

systemctl restart ztncui

激活moon服务器,迁移控制器至ztncui

#进入/home文件夹

# 下载mkmoonworld主程序,并赋予执行权限,如果下载太慢,可以借助下载工具下载好后上次到/home

wget https://github.com/kaaass/ZeroTierOne/releases/download/mkmoonworld-1.0/mkmoonworld-x86

chmod 777 mkmoonworld-x86

# 生成planet文件

./mkmoonworld-x86 ./moon.json

# 若要设置多个planet节点,将其他节点的moon.json 写入到另外的文件,如 moon1.json moon2.json

# ./mkmoonworld-x86 ./moon1.json ./moon2.json

# 令planet文件生效

mv world.bin planet && systemctl restart zerotier-one

# 进入zerotier主目录

cd /var/lib/zerotier-one

# 创建moons.d文件夹并将生成的moon节点移入该文件夹内,根据moon文件的实际名字修改命令

mkdir moons.d

cd /home

cp 000000f0c4b26838.moon /var/lib/zerotier-one/moons.d

# 重启zerotier使moon节点生效

systemctl restart zerotier-one

完成上面的操作,服务端的配置已经全部完成,接下来是客户端节点的配置。

ztncui管理界面配置

登陆到ztncui,首次登陆会要求你更改密码,更改好密码以后。点击ADD-NETWORK——输入网络名提交后建立完成——点击导航栏networks——找到刚才建立的网络——点击easy setup——点击Generate network address会自动建立一个虚拟网段,然后Submit。其他的选项不要去动,否则会无法分配IPV4地址。

Routes选项卡用于配置路由转发规则,用openwet需要设置好,才能访问内网。

网络名旁边的括号里是网络ID,各个节点通过这个ID加入虚拟网络

其他的操作和官方管理差不过

借助第三方控制器ztncui私人化zerotier one,打造安全的内网穿透环境

移动设备端设置

不能使用官方编译的Zerotier,需要使用kaaass大神Zerotier FIX。Zerotier FIX才能支持自定义moon节点和planet节点。目前Zerotier FIX只支持android设备。

将服务器上的world.bin和000000XXXXX.moon文件下载到本地,将world.bin更名为plannet。然后传送到手机

安装好Zerotier FIX,打开软件——右上角——设置——启动自定义planet——选择从文件导入——选择刚才的palnet文件。提示导入成功既切换planet成功。

加入moon服务器,打开软件——右上角——入轨——右下角加号——从文件导入——选择刚才的moon文件。提示成功,会在入轨界面看到moon服务的id。

主界面添加ztncui网络管理界面上的网络ID,并在ztncui上授权加入

借助第三方控制器ztncui私人化zerotier one,打造安全的内网穿透环境

借助第三方控制器ztncui私人化zerotier one,打造安全的内网穿透环境

openwrt设置

先停止openwrt上运行的Zerotier,winscp连接到openwrt。

替换planet,打开到/var/lib/zerotier-one——用刚才的planet文件替换目录下的planet文件(自行备份原文件)。

添加moon,打开到/var/lib/zerotier-one——新建一个文件夹“moons.d”文件夹,将moon文件复制过去。

回到Zerotier,填入网络ID,管理界面授权加入。

windows设置

找到Zerotier one安装目录,将planet文件替换目录下planet文件,新建moons.d文件夹,将moon文件复制过去。在服务管理器重启Zerotier one,添加网络ID,并授权加入。

我的windows设置后,被的其他节点无法ping windows节点。windows节点可以 ping其他节点。本人能力有限,非专业人员,排查不出问题。不过我主要是用openwrt的节点并配置路由规则来穿透。

linux设置

和openwrt设置一样

ping结果

借助第三方控制器ztncui私人化zerotier one,打造安全的内网穿透环境

借助第三方控制器ztncui私人化zerotier one,打造安全的内网穿透环境

借助第三方控制器ztncui私人化zerotier one,打造安全的内网穿透环境

下面是Debian/Ubuntu安装命令,我没有测试过,有没有用不清楚,请自行测试。

curl -O https://s3-us-west-1.amazonaws.com/key-networks/deb/ztncui/1/x86_64/ztncui_0.7.1_amd64.deb

sudo apt-get install ./ztncui_0.7.1_amd64.deb

sudo sh -c "echo 'HTTPS_PORT=3443' > /opt/key-networks/ztncui/.env"

sudo sh -c "echo 'NODE_ENV=production' >> /opt/key-networks/ztncui/.env"

sudo systemctl restart ztncui

0

评论区