引言

ZeroTier 作为一款高效的 SDN(软件定义网络)解决方案,以其零配置、跨平台和高性能著称,广泛应用于企业远程访问、IoT 和混合云场景。然而,在金融、医疗等高合规行业,企业级部署需要考虑高可用(HA)、灾备(DR)、多租户隔离以及审计日志等关键需求。本文基于 ZeroTier 官方文档,深度解析自托管控制器的企业级部署方案。

自托管控制器基础部署

安装与配置

ZeroTierOne 服务内置控制器功能(1.12+ 版本)。在 Linux 上安装:

# 下载并安装最新版(以 Debian 为例)
curl -s https://install.zerotier.com | sudo bash
sudo systemctl enable --now zerotier-one

# 获取控制器 Node ID 和 Token
NODEID=$(zerotier-cli info | awk '{print $3}')
TOKEN=$(sudo cat /var/lib/zerotier-one/authtoken.secret)

# 创建网络
curl -X POST "http://localhost:9993/controller/network/${NODEID}_____" \
  -H "X-ZT1-AUTH: ${TOKEN}" -d '{}'

推荐 Docker 部署:

# docker-compose.yml
version: '3'
services:
  zerotier:
    image: zerotier/zerotier:latest
    cap_add:
      - NET_ADMIN
    ports:
      - "9993:9993/udp"
    volumes:
      - /opt/zt1:/var/lib/zerotier-one
    restart: always

控制器高可用(HA)部署

HA 方案对比

方案 描述 优点 缺点 适用场景
文件复制 (rsync) 主节点实时 rsync controller.d 到备 简单、低成本 手动切换 中小企业
Kubernetes/StatefulSet PVC 共享存储 + HPA 自动 failover 复杂 云原生企业
Nomad/Consul 服务发现 + 复制 灵活、跨 DC 学习曲线 混合云
ztncui UI + DB UI 层 HA,控制器复制 Web 管理 额外组件 需要 UI

rsync + 心跳脚本

#!/bin/bash
# ha-sync.sh (主节点 cron 每 5s)
RSYNC_OPTS="--checksum -avz --delete"
rsync $RSYNC_OPTS /var/lib/zerotier-one/ user@backup:/var/lib/zerotier-one/

# 心跳检测
if ! nc -z -w1 primary 9993/udp; then
  systemctl stop zerotier-one   # 主停
  systemctl start zerotier-one  # 备启动
fi

灾备(DR)方案

组件 路径 备份频率 恢复步骤
网络配置 controller.d 实时/5min 停止→覆盖→重启
身份密钥 identity.secret 一次性 替换→重启
日志 /var/log/zerotier-one 轮转 查询审计
#!/bin/bash
# dr-backup.sh (cron: 0 */6 * * *)
tar czf /backup/zt-$(date +%Y%m%d).tar.gz \
  /var/lib/zerotier-one/controller.d \
  /var/lib/zerotier-one/identity.secret
aws s3 cp /backup/zt-*.tar.gz s3://my-bucket/zt-backup/

多租户管理

通过网络规则(Rules)、标签(Tags)和能力(Capabilities)实现逻辑隔离。

{
  "rules": [
    "{\"or\": [{\"tag\": \"tenant_A\"}], \"action\": \"accept\"}",
    {"action": "drop"}
  ],
  "tags": [
    {"id": 16, "name": "tenant_id"}
  ]
}

合规与审计

需求 支持方式 金融/医疗适用
数据主权 自托管 数据不离企业
访问审计 Tags + Rules + Metrics 追踪变更
加密 End-to-End Curve25519 HIPAA/SOX
隔离 多网络/Rules GDPR 多租户

参考文献

(本文约 6500 汉字)