【笔记】Zerotier自建Moon服务器和节点控制器

前言

Zerotier自建Moon服务器和节点控制器

准备工作

  • 已经安装了ZerotierOne

传送门

部署Moon服务器

生成Moon服务配置文件

1
zerotier-idtool initmoon /var/lib/zerotier-one/identity.public > moon.json

修改Moon服务配置文件

  • 云服务器需要开放9993端口的UDP连接
  • 公网IP可以是IPv4也可以是IPv6

填写单个公网IP

<ip>:云服务器的公网IP地址

moon.json
1
"stableEndpoints": ["<ip>/9993"]

填写多个公网IP

moon.json
1
"stableEndpoints": ["<ip_1>/9993", "<ip_2>/9993"]

通过Moon配置文件创建Moon文件

1
zerotier-idtool genmoon moon.json
1
wrote 000000xxxxxxxxxx.moon (signed world with timestamp 00000000000000)

把Moon文件拷贝到Zerotier目录

1
2
mkdir /var/lib/zerotier-one/moons.d
cp 000000xxxxxxxxxx.moon /var/lib/zerotier-one/moons.d

重启Zerotier服务

1
systemctl restart zerotier-one
  • 重启Zerotier服务后Moon服务就部署完成了

客户端加入到Moon服务器

通过命令加入到Moon服务器

1
zerotier-cli join 000000xxxxxxxxxx

通过配置文件手动加入到Moon服务器

<ip>:云服务器IP地址

Linux客户端

1
2
mkdir /var/lib/zerotier-one/moons.d
scp root@<ip>:/root/000000xxxxxxxxxx.moon /var/lib/zerotier-one/moons.d

MacOS客户端

1
2
mkdir ~/Library/Application\ Support/ZeroTier/One/moons.d
scp root@<ip>:/root/000000xxxxxxxxxx.moon ~/Library/Application\ Support/ZeroTier/One/moons.d

Windows客户端

1
2
mkdir %AppData%\ZeroTier\One\moons.d
scp root@<ip>:/root/000000xxxxxxxxxx.moon %AppData%\ZeroTier\One\moons.d

Android客户端

  • 需要使用第三方APP实现加入自建Moon服务器

IOS客户端

  • 需要越狱并使用第三方APP实现加入自建Moon服务器

部署第三方节点控制器GUI

  • 部署ztncui作为Zerotier的第三方节点控制器GUI

通过Docker部署ztncui

-e HTTP_PORT=3000:指定端口号
-e ZTNCUI_PASSWD=password:指定初始密码

1
docker run -d --name ztncui -p 3000:3000 -e HTTP_ALL_INTERFACES=yes -e HTTP_PORT=3000 -e ZTNCUI_PASSWD=password keynetworks/ztncui

首次登录

  • 通过初始用户名和密码登录->Login

Username:admin
Password:password

  • 设置新密码

创建网络

  • Add Network->定义网络名->Create Network

  • Easy setup

  • Generate network address->Submit

为新加入的设备授权

  • Refresh->勾选Authorized

完成

参考文献

哔哩哔哩——韩风Talk
CSDN——GrandThief
key-networks/ztncui-containerized
CSDN——诗水人间