Linux下通过docker以及非docker方案部署zerotier节点

zerotier是什么?不懂的自行谷歌。

docker部署命令:

docker run -d \
  --name zerotier-one \
  --restart=always \
  --device=/dev/net/tun \
  --net=host \
  --cap-add=NET_ADMIN \
  --cap-add=SYS_ADMIN \
  -v /var/lib/zerotier-one:/var/lib/zerotier-one \
  zerotier/zerotier:1.14.0

部署完成,常用的命令如下:

# 加入moon
docker exec zerotier-one zerotier-cli orbit ID ID
# 脱离moon
docker exec zerotier-one zerotier-cli deorbit ID ID
# 查看已加入的网络信息
docker exec zerotier-one zerotier-cli listnetworks
# 查看已连接的节点信息
docker exec zerotier-one zerotier-cli peers
# 加入网络
docker exec zerotier-one zerotier-cli join ID
# 脱离网络
docker exec zerotier-one zerotier-cli leave ID

非docker部署命令:

# 一键安装脚本
curl -s https://install.zerotier.com | bash

非docker方案常用命令:

# 加入moon
zerotier-cli orbit ID ID
# 脱离moon
zerotier-cli deorbit ID ID
# 查看已加入的网络信息
zerotier-cli listnetworks
# 查看已连接的节点信息
zerotier-cli peers
# 加入网络
zerotier-cli join ID
# 脱离网络
zerotier-cli leave ID

两种方案按照需求来选择部署,部署完毕记得加入自己的网络ID,可以使用官方的(有限制),也可以自建节点控制器(需要自备服务器),部署命令如下:

docker run -d \
  --name ztncui \
  -e ZTNCUI_PASSWD=1122334488 \
  -p 80:80 \
  -e HTTP_PORT=80 \
  -p 9993:9993/udp \
  -v /home/ztncui/ztncui:/opt/key-networks/ztncui/etc \
  -v /home/ztncui/zt1:/var/lib/zerotier-one \
  -e HTTP_ALL_INTERFACES=yes \
  --restart unless-stopped \
  keynetworks/ztncui:1.2.17

其中,ZTNCUI_PASSWD=1122334488的1122334488是自定义的面板密码,部署后可以登录面板自行修改,-p 80:80以及-e HTTP_PORT=80就是指定面板的映射以及默认容器内的面板端口。-p 9993:9993/udp这个参数不要修改。登录面板后就可以创建自己的网络,拥有自己的网络ID了。

另外,附上自建moon节点的教程:

docker方法:

# 部署节点的命令不变,名称最好是按照下面的设置
docker run -d \
  --name zerotier-moon \
  --restart=always \
  --device=/dev/net/tun \
  --net=host \
  --cap-add=NET_ADMIN \
  --cap-add=SYS_ADMIN \
  -v /home/zerotier:/var/lib/zerotier-one \
  zerotier/zerotier:1.14.0

# 复制一份默认配置文件
docker exec zerotier-moon sh -c "zerotier-idtool initmoon /var/lib/zerotier-one/identity.public > /var/lib/zerotier-one/moon.json"

# 从容器中复制配置文件到宿主机编辑
docker cp zerotier-moon:/var/lib/zerotier-one/moon.json /home/zerotier/moon.json

# 宿主机编辑
nano /home/zerotier/moon.json

# x.x.x.x改成你的这个moon节点的公网IP
"stableEndpoints": ["x.x.x.x/9993"]

# 编辑完成后复制回容器里面
docker cp /home/zerotier/moon.json zerotier-moon:/var/lib/zerotier-one/moon.json

# 生成moon文件,记住文件名
docker exec zerotier-moon zerotier-idtool genmoon /var/lib/zerotier-one/moon.json

# 建立moon文件夹,移动moon文件过去
docker exec zerotier-moon sh -c "mkdir -p /var/lib/zerotier-one/moons.d && mv /*.moon /var/lib/zerotier-one/moons.d/"

# 查看moon id
docker exec zerotier-moon zerotier-cli info

非docker的大同小异,注意生成的moon文件所在位置即可,有了moon id之后,互联的双方必须要同时添加moon才可以让moon有效。

 

版权声明:
作者:绛霄
链接:https://www.u8899.de/2024/09/06/141/
来源:JAXo's Blog
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码