使用Docker搭建ZeroTier-Moon

2025 年 7 月 9 日 0 条评论 15 次阅读 0 人点赞

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容器时遇到错误,提示无法配置虚拟网络端口。

解决步骤:

  1. 在启动容器的命令中添加参数列表中添加 --cap-add=NET_ADMIN --cap-add=SYS_ADMIN 和 --device=/dev/net/tun
  2. 修改后的启动命令如下:
  3. 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
  4. 这将给Docker容器必要的权限来创建和管理虚拟网络接口

雷雷

这个人太懒什么东西都没留下

文章评论(0)

(Spamcheck Enabled)