Linux Docker 搭建 ZeroTier Moon 服务器

ZeroTier Moon(超级节点)用于加速私有网络中的设备互联,尤其适合 NAT 后设备内网穿透困难的环境多节点跨境互联 等场景。

下面介绍如何在 Linux 服务器上通过 Docker 快速搭建 ZeroTier Moon。


1. 使用 Docker 运行 ZeroTier Moon 容器

执行以下命令(将 1.2.3.4 替换为你的公网 IP):

docker run --name zerotier-moon -d \
-p 9993:9993/udp \
-v /root/docker/zerotier-moon:/var/lib/zerotier-one \
seedgou/zerotier-moon -4 1.2.3.4

参数说明

参数 说明
-p 9993:9993/udp ZeroTier 默认通信端口
-v /root/docker/zerotier-moon:/var/lib/zerotier-one 生成的 moon config 持久化
seedgou/zerotier-moon ZeroTier Moon 镜像
-4 1.2.3.4 Moon 的公网 IPv4(需替换成你的)

2. 查看 ZeroTier Moon 的网络 ID

部署完成后,查看生成的 Moon 信息:

docker logs zerotier-moon

日志中会显示:

  • Moon ID
  • ZeroTier Identity
  • 可用于 orbit 的参数

示例输出:

==> Moon world ID: 6c1234567
==> Moon identity: 0000006c1234567.moon

请记录此 ID。


3. 管理 ZeroTier Moon(容器内部命令)

执行 ZeroTier CLI:

docker exec zerotier-moon zerotier-cli

例如,要让 Moon 节点 orbit 自己(可选操作):

docker exec zerotier-moon zerotier-cli orbit 6c1234567 6c1234567

注意:

  • 第一个参数是 world ID(Moon ID)
  • 第二个参数为 seed(通常同 ID)

4. 查看 Moon ID(再次确认)

如果忘记了,可再次查看:

docker logs zerotier-moon

Moon ID 一般为:

000000XXXXXXX.moon

5. Windows 客户端加入 Moon(Orbit)

在 Windows PowerShell 中执行:

zerotier-cli orbit <moon_id> <moon_id>

示例:

zerotier-cli orbit 6c1234567 6c1234567

执行成功后,客户端 ZeroTier 会使用该 Moon 节点作为中继。


6. 验证是否成功连接 Moon

Windows / Linux 客户端上执行:

zerotier-cli listpeers

如果看到类似:

6c1234567  MOON

MOON 字样,即代表:

:white_check_mark: 客户端已成功连接到 Moon :white_check_mark: Moon 服务正常运行