引言
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 汉字)