Zerotier 部署笔记
一、ZT 根服务配置
- ZT 安装 & 加入一个 “网络” 用于生成必要的身份“标识文件”
文件生成后,就可以先断开服务器加入的网络,再从 ZT 官方删除对应网络(必须注意先后顺序)。 - 根据官方文档方法,根据
identity.public生成moon.json文件zerotier-idtool initmoon identity.public >>moon.json - 配置
moon.json文件中根节点 Moon 的网络地址参数stableEndpoints{ ... "roots": [ { "identity": "deadbeef00:0:34031483094...", "stableEndpoints": [] } ], ... } ************************如下,填写根节点的公网IP地址******************** IPV4地址和IPV6地址,二者填其一即可 { ... "roots": [ { "identity": "deadbeef00:0:34031483094...", "stableEndpoints": [ "10.0.0.2/9993","2001:abcd:abcd::1/9993" ] IPV4地址/端口 IPV6地址/端口 } ], ... } - 根据
moon.json文件生成根节点网络信息文件.moon,用于客户端节点在网络中找到根节点 Moon 的网络位置。zerotier-idtool genmoon moon.json - 将上一步生成的
.moon文件放到需要加入网络的计算机 star 的对应位置。
需要在对应位置新建moons.d目录,并把文件放进去:- windows 系统:
C:\ProgramData\ZeroTier\One\moons.d - linux 系统:
/var/lib/ZeroTier-One/moons.d
- windows 系统:
- 在根节点 Moon 上创建网络,并配置网络名称、网络地址池、网段信息、自动分配IP地址,然后等待客户端节点的加入并授权即可。
二、根服务控制器部署

该服务依赖于开源项目 ztncui ,该项目有控制器管理用户认证、网络的增删改、网络成员授权及成员 IP 管理等功能。
- Node 运行环境
最好是要部署完整的 C++ 编译环境,因为 ztncui 项目初始化时,需要一些编译工作,所以很重要。 - ztncui 部署
- 克隆或下载 ztncui 项目源代码
- 进入 src 目录进行项目初始化
npm start运行
提醒:尽量要保证,项目解压后,一次性初始化成功,不然可能有坑!!!!我是本地电脑初始化后,打包后再放服务器上部署的。
- 配置根据项目说明在 src 目录下新建
.env文件,并逐一配置需要的环境变量值找到 Zerotier-one 的验证文件 `authtoken.secret` 并将里面的内容给到该变量作为变量值 ZT_TOKEN=######################## : 根节点地址和对应端口 [ZT_ADDR=localhost:9993] 环境 NODE_ENV=production 控制器页面访问端口 [HTTP_PORT=3000] - src 目录下的 etc 目录中有一个
default.passwd文件,需要复制并改名为passwd
提醒:需要删除default.passwd,当忘记用户密码后,可以重新覆盖passwd用于恢复默认密码。 npm start启动控制器,然后到浏览器访问网址http://localhost:3000,登录账号密码分别为:admin、password,首次登陆需要修改密码。
结束,只要修改密码后能正常登录,且页面没有 ERROR 等错误信息即代表成功!此时,恭喜你拥有了自己的根(Moon)服务器。