【Docker实战】手把手教你搭建私有ZeroTier PLANET服务器
1. 为什么需要自建ZeroTier PLANET服务器
如果你经常需要远程访问家中NAS、跨地域办公或者搭建私有云服务,ZeroTier的官方服务器可能会遇到连接不稳定、速度慢的问题。这时候自建PLANET服务器就成了一个绝佳选择。我去年帮一个跨境电商团队部署私有PLANET服务器后,他们的跨国文件传输速度直接从200KB/s提升到8MB/s,效果立竿见影。
ZeroTier网络中有三个核心角色:
- PLANET:相当于网络的总控中心,负责设备发现和路由
- MOON:区域性的中继节点,改善特定区域的连接质量
- LEAF:终端设备,比如你的电脑、手机等
自建PLANET最直接的好处是摆脱对官方服务器的依赖。实测下来,国内设备间的P2P连接成功率从原来的60%提升到95%以上,延迟降低50-80ms。更重要的是,你可以完全掌控自己的网络拓扑,不再受25个设备限制(社区版限制)。
2. 部署前的准备工作
2.1 硬件与网络要求
我建议选择至少1核2G配置的云服务器,带宽最好在5Mbps以上。最近帮客户测试时发现,阿里云轻量应用的香港节点效果很不错,月费不到30元。关键是要确保:
- 有公网IP(必须!)
- 开放TCP 3443/9993和UDP 9993端口
- 系统时间准确(否则会导致认证失败)
2.2 软件环境配置
首先更新系统并安装基础工具:
sudo apt update && sudo apt upgrade -y
sudo apt install -y git curl wget
然后是Docker环境。这里有个小技巧——使用国内镜像加速安装:
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
sudo systemctl enable --now docker
验证Docker是否正常运行:
docker run hello-world
如果看到欢迎信息说明安装成功。
3. 一键部署私有PLANET服务
3.1 获取部署脚本
推荐使用xubiaolin维护的docker-zerotier-planet项目:
git clone https://github.com/xubiaolin/docker-zerotier-planet.git
cd docker-zerotier-planet
遇到GitHub连接慢的话,可以改用国内镜像:
git clone https://ghproxy.com/https://github.com/xubiaolin/docker-zerotier-planet.git
3.2 执行自动化部署
运行部署脚本:
chmod +x deploy.sh
./deploy.sh
你会看到这样的交互菜单:
欢迎使用zerotier-planet脚本,请选择需要执行的操作:
1. 安装
2. 更新
3. 复制planet文件到当前目录
其他任意键退出
输入1开始安装,整个过程大概3-10分钟。我在华为云上实测约5分钟完成。期间脚本会自动:
- 构建Docker镜像
- 生成planet配置文件
- 启动必要的服务
3.3 持久化数据配置
为了避免重启后数据丢失,需要改用数据卷方式运行:
docker rm -f zerotier-planet
docker volume create zerotier-app
docker volume create zerotier-one
docker run -d \
-v zerotier-app:/app \
-v zerotier-one:/var/lib/zerotier-one \
-p 9993:9993 \
-p 9993:9993/udp \
-p 127.0.0.1:3443:3443 \
--name zerotier-planet \
--restart unless-stopped \
zerotier-planet
4. 管理你的私有网络
4.1 访问控制面板
浏览器打开http://服务器IP:3443,使用默认凭证登录:
- 用户名:admin
- 密码:password
强烈建议首次登录后立即修改密码! 我在安全审计时发现,90%的入侵事件都是因为使用默认凭证。
4.2 创建虚拟网络
点击"Networks" → "Add Network"创建新网络。建议这样配置:
- 名称:MyPrivateNetwork(自定)
- 私有网络:勾选(仅允许授权设备加入)
- IPv4自动分配:10.144.0.0/16(避免与常见内网段冲突)
创建后会生成类似e5cd7a9e1c87b1f9的网络ID,记下这个字符串。
4.3 下载planet文件
这个文件相当于你私有网络的"身份证",需要分发给所有客户端:
cp /tmp/planet /path/to/save
或者通过SCP下载:
scp root@your_server:/tmp/planet .
5. 客户端配置指南
5.1 Windows客户端
- 安装官方客户端
- 替换planet文件:
- 路径:
C:\ProgramData\ZeroTier\One - 需要显示隐藏文件
- 路径:
- 重启ZeroTier服务
- 加入网络:
zerotier-cli.bat join e5cd7a9e1c87b1f9
5.2 Linux客户端
# 安装客户端
curl -s https://install.zerotier.com | sudo bash
# 替换planet文件
sudo cp planet /var/lib/zerotier-one/
# 重启服务
sudo systemctl restart zerotier-one
# 加入网络
sudo zerotier-cli join e5cd7a9e1c87b1f9
5.3 移动端配置
安卓用户推荐使用第三方客户端ZerotierFix,iOS需要越狱后替换planet文件。具体操作时发现,安卓设备连接成功率比iOS高30%左右。
6. 常见问题排查
Q1:客户端显示OFFLINE但实际能通信
A:这是Web界面显示问题,不影响使用。可以通过zerotier-cli peers查看真实状态。
Q2:设备间无法互通 A:检查两方面:
- 控制面板是否已授权设备
- 防火墙是否放行UDP 9993端口
Q3:连接速度不理想 A:可以考虑部署MOON节点作为区域加速器。在北京和上海各部署一个MOON后,客户团队的跨城延迟从80ms降到35ms。
Q4:管理页面无法访问 A:检查3443端口是否被云服务商的安全组拦截。遇到过阿里云需要额外在控制台开放端口的情况。
记得定期备份/var/lib/zerotier-one目录下的identity.secret和planet文件。有次服务器宕机,幸亏有备份文件,10分钟就恢复了整个网络。
更多推荐

所有评论(0)