首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >彻底告别高延迟!手把手带你自建 ZeroTier 私有 Planet 行星服务器,实现 100% 极速打洞直连

彻底告别高延迟!手把手带你自建 ZeroTier 私有 Planet 行星服务器,实现 100% 极速打洞直连

作者头像
用户12547393
发布2026-06-26 20:25:06
发布2026-06-26 20:25:06
5270
举报
ZeroTier 行星服务器封面
ZeroTier 行星服务器封面

[!NOTE] 很多使用 ZeroTier 进行虚拟组网的小伙伴都遇到过设备连接慢、经常掉线、甚至被迫走中继转发高延迟的问题。这通常是因为 ZeroTier 官方的“行星(Planet)”根服务器全在国外,连接容易受干扰。今天老周手把手教大家使用一台低成本国内云服务器,自建一套独立的私有 Planet 行星服务器,直接替代官方的全球路由中心,实现 100% 稳定的国内点对点打洞与超低延迟组网直连!本教程仅用于个人多设备互联与合规的远程办公场景。


亲爱的读者,欢迎回到 老周的AI进化实验室

在日常搭建私有虚拟网络时,ZeroTier 和 Tailscale 几乎是大部分极客最常用的两个工具。不过,许多小伙伴在使用 ZeroTier 时,经常给老周留言吐槽:

“老周,为什么我的 ZeroTier 节点经常显示 OFFLINE,或者打洞不成功被迫走中转,拷个文件只有几十 KB,延迟高到几百毫秒?是我家宽带不行吗?”

其实,这真不怪你家的宽带。

在 ZeroTier 的工作原理中,当两台设备想要建立连接时,首先必须通过官方的 Planet(行星)根服务器来交换内网 IP 并握手“打洞”。然而,官方的 12 台 Planet 根服务器全部部署在境外。国内复杂的网络环境,经常会导致我们与官方 Planet 握手失败。

今天老周就教大家一个一劳永逸的方法:用国内的云服务器自建私有 Planet(行星服务器)

通过这一设置,我们将两端打洞的“牵线人”彻底本地化,让打洞握手在几毫秒内完成,大大提升 P2P 成功率,就算打洞失败,也能通过我们国内自己的云服务器进行低延迟中继转发!


⚖️ 什么是自建 Planet?它与自建 Moon 有什么区别?

有些折腾过 ZeroTier 的人可能听说过自建 Moon(卫星)节点,但为什么老周今天推荐一步到位自建 Planet(行星)根服务器

比较维度

自建 Moon (卫星节点)

自建 Planet (私有行星服务器)

层级关系

辅助节点,依附于官方全球 Planet

核心根服务器,彻底摆脱官方 Planet 依赖

网络隔离

依然使用官方的全球控制器,数据路由受官方影响

100% 私有,完全与官方的公共路由服务器脱钩

设备限值

受限于官方对免费网络成员数(如 25 台)的额度限制

完全免费且无设备上限,由私有控制器掌控

配置维护

每个客户端需要手动加入 Moon ID,配置繁琐

一次性生成全局根配置文件,全平台无缝接入

简单来说,自建 Planet 相当于在您自己手里部署了一套完全独立的私有 ZeroTier 网络世界。


🛠️ 第一步:准备工作

为了保证私有 Planet 正常建立握手,我们需要准备:

  1. 一台国内云服务器:系统推荐 Ubuntu 22.04 或 Debian 12。对于握手与数据转发来说,1核 1G 内存,带固定公网 IP 的云服务器(如腾讯云广州或阿里云北京)就非常合适。
  2. 放行防火墙端口: 在云服务器后台放行以下网络端口:
    • UDP: 9993(这是 ZeroTier 行星服务数据握手和打洞的心脏端口,必须放行 UDP 协议)。
    • TCP: 4000(用于我们的图形化网络管理后台 WebUI 访问)。
    • TCP: 9993(用于控制器管理接口)。

🐋 第二步:使用 Docker 一键部署私有 Planet

我们使用目前社区最成熟的集成化镜像(基于开源的 ZeroTier-One 及 ztncui 后台管理器构建),可以实现一键部署与配置文件自动导出。

1. 登录云服务器,执行一键部署命令

请将下方命令中的 <您的国内云服务器IP> 替换为您主机的实际公网 IP,4000 为 Web 后台的管理端口:

代码语言:javascript
复制
dockerrun-d\--namezerotier-planet\--restart=always\-p9993:9993/udp\-p4000:4000\-v/opt/zerotier-planet:/var/lib/zerotier-one\-eMYADDR=<您的国内云服务器IP>\-eHTTP_PORT=4000\-eHTTP_ALL_INTERFACES=yes\keynetworks/ztncui:latest 

运行后,容器会自动配置 ZeroTier 控制器,并以此公网 IP 生成一份专属于您这台服务器的根定义文件 planet


🖥️ 第三步:通过 Web 后台创建私有网格

  1. 在浏览器中打开 http://您的云服务器IP:4000
  2. 默认的管理员账号为 admin,密码为 password。首次登录后,系统会强制要求您修改密码
  3. 登录后进入面板,点击 "Add Network" 创建一个属于您的私有网格。
  4. 在创建的网格列表中,您会看到一个 16 位的 Network ID(例如 8a54b38d38f2991a),这类似于我们在官方控制台里创建的网格 ID。
  5. 在设置(Easy Setup)中,为该网格分配一个内网 IP 段(如 10.147.17.0/24),以实现互联设备的虚拟 IP 自动分配。

🔑 第四步:客户端配置并替换 planet 根文件

这是自建行星最关键的一步:我们需要用我们自建服务器生成的 planet 文件,替换掉客户端原本自带的官方全球行星定义文件。

1. 从服务器下载私有 planet 文件

刚才 Docker 运行后,我们的私有 planet 配置文件已经保存在了服务器的映射目录 /opt/zerotier-planet 下。您可以通过 SFTP 下载,或者在云主机控制终端直接查看文件位置。 * 本地文件路径:/opt/zerotier-planet/planet

2. 替换客户端文件(全平台指南)

在替换前,必须先关闭或停止 ZeroTier 客户端的运行

  • Windows 端
    1. 任务栏右键退出 ZeroTier 客户端。
    2. 打开控制面板 -> 服务 -> 停止 ZeroTier One 服务。
    3. 打开文件夹 C:\ProgramData\ZeroTier\One(注:这是隐藏文件夹,需要在文件资源管理器中开启“显示隐藏的项目”)。
    4. 将从服务器下载的私有 planet 文件拷贝进去,覆盖同名的官方文件
    5. 在服务中重新启动 ZeroTier One 服务,并重新打开客户端。
  • macOS 端
    1. 停止客户端服务,在终端中运行:sudo launchctl unload /Library/LaunchDaemons/com.zerotier.one.plist
    2. 打开 Finder,使用“前往文件夹”功能进入目录 /Library/Application Support/ZeroTier/One
    3. 将下载的 planet 文件拷贝并覆盖原文件。
    4. 重新启动服务:sudo launchctl load /Library/LaunchDaemons/com.zerotier.one.plist
  • Linux / OpenWrt 端
    1. 停止运行:systemctl stop zerotier-one
    2. planet 文件上传并覆盖至 /var/lib/zerotier-one/planet
    3. 重新启动服务:systemctl start zerotier-one

⚡ 连网测试与授权激活

替换好 planet 文件并重启服务后,在各客户端上加入我们第三步中创建的 16 位网络 ID。

以 Windows 端为例: 1. 右键 ZeroTier 图标,点击 "Join New Network",输入您的 16 位 Network ID,点击 Join。 2. 回到云服务器的 Web 页面中(http://您的云服务器IP:4000)。 3. 导航到对应 Network 的成员管理页面(Members),在列表中会看到刚才申请加入的设备。 4. 勾选 "Authorized" 授权,设备便会瞬间获得我们自建网络的内网 IP(如 10.147.17.5)。 5. 打洞成功率与延迟确认: 在客户端命令行中执行以下命令查看连接路径: powershell zerotier-cli listpeers 如果列表中我们服务器对应的节点类型显示为 PLANET 且物理路径为您的国内云主机公网 IP,此时延迟为低延迟(如 20-30ms),即表示配置大功告成!


💡 老周总结

通过自建 ZeroTier Planet,我们把以往遥不可及的境外路由根服务器直接搬到了离我们最近的国内大厂机房里。它极大地提升了国内对称型 NAT 的点对点“打洞”成功率,在彻底断绝官方免费网络设备数上限的同时,提供了绝佳的传输带宽与超低延迟组网体验,是多地设备互联和个人局域网融合的终极提效利器!

如果在部署客户端替换 planet 文件的过程中遇到问题,欢迎在留言区给老周留言,我们一起探讨解决!


[!TIP] 觉得本期教程实用?别忘了点击“关注”老周的AI进化实验室,并把文章分享给身边同样饱受远控限速折扰的极客朋友们!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-06-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 老周的AI进化实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ⚖️ 什么是自建 Planet?它与自建 Moon 有什么区别?
  • 🛠️ 第一步:准备工作
  • 🐋 第二步:使用 Docker 一键部署私有 Planet
    • 1. 登录云服务器,执行一键部署命令
  • 🖥️ 第三步:通过 Web 后台创建私有网格
  • 🔑 第四步:客户端配置并替换 planet 根文件
    • 1. 从服务器下载私有 planet 文件
    • 2. 替换客户端文件(全平台指南)
  • ⚡ 连网测试与授权激活
  • 💡 老周总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档