Docker-ZeroTier-Moon 是一个开源项目,旨在通过Docker容器化技术简化ZeroTier Moon的部署过程。ZeroTier 是一个开源的、易于使用的软件定义网络(SDN)工具,它能够创建和管理全局虚拟网络。Docker-ZeroTier-Moon 使用Docker容器来部署ZeroTier Moon,允许用户轻松地创建和管理虚拟网络。该项目主要使用的编程语言是Dockerfile,它定义了构建Docker容器所需的步骤和环境。
本文默认你已经装过Docker环境了,如果还没装的话,先去网上搜下怎么装Docker,
本次使用镜像为:seedgou/zerotier-moon
创建容器
命令如下
docker run --name zerotier-moon -d --restart always -p 9993:9993/udp -v ~/zerotier-moon-config:/var/lib/zerotier-one seedgou/zerotier-moon -4 xxx.xxx.xxx.xxx
记得把上面命令中最后面的 xxx.xxx.xxx.xxx 需要替换为你的公网IP地址,如果你是用的云服务器,记得去安全组里放行UDP 9993端口
接下来,我们查看下moon-id,命令如下:
docker logs zerotier-moon
会弹出如下提示:
IPv4 address: xxx.xxx.xxx.xxx
Your ZeroTier moon id is **********, you could orbit moon using "zerotier-cli orbit ********** **********"
在日志中查找以 moon id is
开头的行,该行后面跟着的就是ZeroTier Moon的ID。
将该zerotier-moon加入zerotier 网络组
docker exec zerotier-moon zerotier-cli join xxxxxxxxxx
其中xxxxxxxxxx为你zerotier的Network ID,记得去zerotier的群组里放行
查看是否联网成功
docker exec zerotier-moon zerotier-cli listnetworks
群组内的其他终端连接moon
zerotier-cli orbit xxxxxxxx xxxxxxxx
命令中的 xxxxxxxx 为你的 moon id
windows上可能需要在映射的路径下能找到moons.d这个文件夹,整个文件夹复制到windows的C:\ProgramData\ZeroTier\One下
查看服务器节点
zerotier-cli listpeers
如出现moon,后面的ip为你的服务器公网IP,即为搭建成功,没出现试试在服务里重启zerotier
如何处理网络权限问题
部分用户尝试启动ZeroTier Moon容器时遇到错误,提示无法配置虚拟网络端口。
解决步骤:
- 在启动容器的命令中添加参数列表中添加
--cap-add=NET_ADMIN --cap-add=SYS_ADMIN
和--device=/dev/net/tun
。 - 修改后的启动命令如下:
-
docker run --name zerotier-moon -d --restart always --cap-add=NET_ADMIN --cap-add=SYS_ADMIN --device=/dev/net/tun -p 9993:9993/udp -v ~/zerotier-moon-config:/var/lib/zerotier-one seedgou/zerotier-moon -4 xxx.xxx.xxx.xxx
- 这将给Docker容器必要的权限来创建和管理虚拟网络接口
© 著作权归作者所有
文章评论(0)