ZeroTier组网工具MOON和节点控制器搭建

参考

视频: 内网穿透工具ZeroTier,从简单到复杂的玩法,无保留,一期全放送

视频网盘备份: 内网穿透工具ZeroTier,从简单到复杂的玩法,无保留,一期全放送

搭建教程从视频的11分开始

ZeroTier: ZeroTier | Global Networking Solution for IoT, SD-WAN, and VPN

Key Networks: Key Networks

GitHub项目: 一分钟私有部署zerotier-planet服务

搭建流程

moon搭建

  • 安装ZeroTier

放行服务器9993(TCP/UDP)端口,TCP/UDP都要放行

1
2
3
4
curl -s https://install.zerotier.com | sudo bash
# 成功安装会输出如下内容
Success! You are ZeroTier address [ 7777777777 ].
# 其中的'7777777777'后面会有用,要记住。
  • 导出moon配置文件
1
2
cd /var/lib/zerotier-one
zerotier-idtool initmoon identity.public >>moon.json
  • 编辑moon配置文件
1
2
3
4
nano moon.json
# 将下面的1.1.1.1替换为服务器ipv4,2606:4700:4700::1111替换为服务器ipv6。
# 其中ipv4和ipv6有哪个填那个,没有则不填
"stableEndpoints": ["1.1.1.1/9993","2606:4700:4700::1111/9993"]
  • 创建moon服务器文件
1
2
3
4
zerotier-idtool genmoon moon.json
# 运行上述命令将输出如下的内容
wrote 0000000000000000.moon (signed world with timestamp 1111111111111)
# 其中的1111111111111是生成时间的时间戳,这里使用1111111111111代替。
  • 在zerotier文件夹中创建moon文件夹
1
mkdir /var/lib/zerotier-one/moons.d
  • moon文件复制到moon文件夹中
1
cp 0000000000000000.moon ./moons.d/
  • 重启zerotier
1
systemctl restart zerotier-one
  • 加入moon服务器方式
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# 方式1
## Linux
### 其中7777777777为服务器的节点,这个是加入moon服务器
zerotier-cli orbit 7777777777 7777777777
systemctl restart zerotier-one.service
### 这个是加入节点控制器
zerotier-cli join 6666666666666 (将服务器加入内网保证安全)
zerotier-cli peers
### 其中的'6666666666666'是在节点服务器中创建的网络ID。

## Windows
### 其中7777777777为服务器的节点,这个是加入moon服务器
zerotier-cli.bat orbit 7777777777 7777777777
### 这个是加入节点控制器
zerotier-cli.bat join 6666666666666
zerotier-cli.bat peers
### 其中的'6666666666666'是在节点服务器中创建的网络ID。
### 然后进到“服务”中重启一下Zero Tier One
### 查看网络中的角色
zerotier-cli.bat peers

# 方式2
## 将创建的moon文件0000000000000000.moon下载下来,放到各个pc系统zerotier配置文件夹的moon文件夹中
Linux:/var/lib/zerotier-one/moons.d/
Windows:C:\ProgramData\ZeroTier\One\moons.d\
MacOS:/Library/Application Support/ZeroTier/One/zerotier-one/moons.d/
## 然后重启zerotier文件(有的系统需要重启系统)

节点控制器搭建

放行服务器3000/3443(TCP)端口,两个端口2选1,根据自己实际情况放行TCP协议。

1
2
3
4
5
6
7
8
9
10
11
12
13
curl -O https://s3-us-west-1.amazonaws.com/key-networks/deb/ztncui/1/x86_64/ztncui_0.8.14_amd64.deb
dpkg -i ztncui_0.8.14_amd64.deb
sh -c "echo ZT_TOKEN=`sudo cat /var/lib/zerotier-one/authtoken.secret` > /opt/key-networks/ztncui/.env"
#####################################################################
# 以下两条命令任选其一即可,推荐选择端口3000的命令
sh -c "echo HTTPS_PORT=3443 >> /opt/key-networks/ztncui/.env" # 端口3443
sh -c "echo HTTP_ALL_INTERFACES=yes >> /opt/key-networks/ztncui/.env" # 端口3000
#####################################################################
sh -c "echo NODE_ENV=production >> /opt/key-networks/ztncui/.env"
chmod 400 /opt/key-networks/ztncui/.env
chown ztncui.ztncui /opt/key-networks/ztncui/.env
systemctl enable ztncui
systemctl restart ztncui

访问 1.1.1.1:3000 进入WEB UI,将1.1.1.1替换为服务器ipv4

初始账号: admin

初始密码: password

卸载过程

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 卸载ztncui
sudo apt remove --purge ztncui
# 删除/opt/key-networks/ztncui/etc/tls文件夹
sudo rm -rf /opt/key-networks/ztncui/etc/tls
# 删除/opt/key-networks文件夹
sudo rm -rf /opt/key-networks
# 清理残留的依赖包
sudo apt autoremove
# 验证卸载是否成功,没有任何显示就是卸载成功
dpkg -l | grep ztncui
# 卸载zerotier-one
sudo dpkg -P zerotier-one
# 删除/var/lib/zerotier-one文件夹
sudo rm -rf /var/lib/zerotier-one