为什么要自建PLANET 服务器

自建 PLANET 服务器有以下几个重要原因:

  1. 提升网络稳定性:官方服务器位于海外,国内用户访问延迟高且不稳定。自建服务器可以大幅提升连接质量。
  2. 加快连接速度:本地化的 PLANET 服务器可以更快地帮助设备建立 P2P 连接。
  3. 增强网络控制:自建服务器让您完全掌控网络配置,可以根据需求进行优化调整。
  4. 提高安全性:私有化部署意味着网络流量不经过第三方服务器,更加安全可靠。
  5. 降低依赖:避免因官方服务器故障或网络波动影响您的业务正常运行。

ZeroTier 网络中的关键概念

PLANET(行星服务器):ZeroTier 网络的核心根服务器,负责网络发现和初始连接。相当于整个网络的"中枢"。

MOON(卫星服务器):用户可以自建的私有根服务器。它可以作为区域性的代理节点,帮助就近的设备更快地建立连接,提升网络性能。

LEAF(叶子节点):所有接入 ZeroTier 网络的终端设备,如电脑、手机、服务器等。这些设备通过 PLANET 和 MOON 的协调来相互发现和通信。

参考docker-compose文件如下

version: '3'

services:
  myztplanet:
    image: xubiaolin/zerotier-planet:latest
    container_name: ztplanet
    ports:
      - 9994:9994
      - 9994:9994/udp
      - 3443:3443
      - 3000:3000
    environment:
      - IP_ADDR4=[IPV4IP ADDRESS]
      - IP_ADDR6=
      - ZT_PORT=9994
      - API_PORT=3443
      - FILE_SERVER_PORT=3000
    volumes:
      - ./data/zerotier/dist:/app/dist
      - ./data/zerotier/ztncui:/app/ztncui
      - ./data/zerotier/one:/var/lib/zerotier-one
      - ./data/zerotier/config:/app/config
    restart: unless-stopped

脚本运行完成后,会在 ./data/zerotier/dist 目录下生成 planetmoon 配置文件。

访问 http://ip:3443 进入controller页面

使用默认账号为:admin

默认密码为:password

image-20241124200426291

创建网络

登录后点击"Networks"菜单,然后点击"Add Network"按钮创建新网络。

在创建网络页面中,输入一个便于识别的网络名称,其他选项可保持默认。点击"Create Network"按钮完成创建。

创建成功后系统会自动生成一个网络ID,这个ID在后续客户端配置时会用到,请记录下来。

image-20241124200414486

image-20241124200516527

分配网络IP

image-20241124200540317

Windows客户端

首先去zerotier官网下载一个zerotier客户端

download ZeroTier 1.6.6

planet 文件覆盖粘贴到C:\ProgramData\ZeroTier\One

右键此电脑->管理->服务中找到ZeroTier One,并且重启服务

image-20241124200804704

使用管理员身份打开PowerShell

执行如下命令,看到join ok字样就成功了

zerotier-cli.bat join 网络id

可以看到有一个 PLANTET 和 LEAF 角色,连接方式均为 DIRECT(直连)

zerotier-cli.bat peers

Linux客户端

curl -s https://install.zerotier.com | sudo bash
  1. 进入目录 /var/lib/zerotier-one
  2. 替换目录下的 planet 文件
  3. 重启 zerotier-one 服务(service zerotier-one restart)
  4. 加入网络 zerotier-cli join 网络 id
  5. 管理后台同意加入请求
  6. zerotier-cli peers 可以看到 planet 角色

安卓客户端

Zerotier 非官方安卓客户端