ZeroTierOne 部署指南:三步搭好跨地域P2P虚拟网络,无需端口转发
2026/9/10 16:47:58 网站建设 项目流程

ZeroTierOne 部署指南:三步搭好跨地域P2P虚拟网络,无需端口转发

【免费下载链接】ZeroTierOneA Smart Ethernet Switch for Earth项目地址: https://gitcode.com/GitHub_Trending/ze/ZeroTierOne

ZeroTierOne 是一款 P2P 虚拟组网工具:它给不同网络里的每台设备分配一个虚拟 IP,让设备之间像在同一个局域网里一样直接通信,全程加密、通常不需要你配置端口转发。这篇文章按"装好 → 配通 → 用好"三步带你上手。

先搞懂:ZeroTierOne 组网和传统方案有什么区别

先解释两个术语:端口转发是指手动在路由器上把外部端口映射到内网机器,配错一次流量就断;P2P指两台设备点对点直连,中间不经过第三方服务器。

ZeroTierOne 的思路是:设备加入一个虚拟网络后,先尝试 UDP 直连;直连不通时走中继。它不依赖你家里路由器的任何设置。和常见方案对比:

维度路由器端口转发商业加速器/中继公共中继服务器ZeroTierOne
是否需要公网 IP 或后台配置需要部分需要不需要
配置工作量高,每台设备都要映射低,但按流量收费低,一次加入长期有效
流量路径可直连经运营商服务器全部经第三方中转尽量 P2P 直连,不通才中继
延迟表现直连时好受中转节点位置影响通常偏高直连时路径最短
成本免费订阅制免费但慢开源免费

它的核心能力在 README.md 里有一段很准确的描述:设备之间通过加密的 P2P 网络 + 以太网仿真层通信,流量端到端加密。

第一步:把 ZeroTierOne 装好

以 Linux 为例,从源码编译安装:

git clone https://gitcode.com/GitHub_Trending/ze/ZeroTierOne cd ZeroTierOne && make
sudo make install sudo systemctl status zerotier-one

服务起来后,用下面命令确认节点身份,你会看到一个 10 位的节点 ID,后面授权设备时要用到:

sudo zerotier-cli info

macOS、Windows 也可以从官方渠道安装对应客户端,命令行部分操作相同。构建细节可以看 doc/ 里的 manpage 文档。

第二步:加入网络并拿到虚拟 IP

每个虚拟网络有一个 16 位的网络 ID(比如官方公开网络 Earth 是8056c2e21c000001)。加入一条命令:

sudo zerotier-cli join 8056c2e21c000001

然后轮询状态,直到看到分配的虚拟 IP:

sudo zerotier-cli listnetworks

如果状态停在 "Waiting for authentication",说明还没被控制器授权。控制器负责批准成员、发 IP,自建控制器的原理和 API 见 nonfree/controller/README.md:拿到第一步info输出的 10 位节点 ID,在管理后台把它勾选为授权即可,几秒后listnetworks就会出现 IP。

第三步:验证连通性,看路径质量

拿到两台设备各自的虚拟 IP 后互 ping:

ping <对方虚拟IP>

想确认是"直连"还是"走了中继",看这条命令里对应 peer 的 PATHS 列——有DIRECT字样说明点对点直连成功:

sudo zerotier-cli listpeers
场景部署前部署 ZeroTierOne 后
两台设备分属不同内网需要端口转发或第三方加速器加入同一网络即可互访
双方 NAT 类型较严直连经常失败优先 P2P 直连,失败才降级到中继
链路跳数经中转服务器绕路直连时通常少一跳,延迟更稳

实际延迟受双方带宽和 NAT 类型影响,直连不一定比本地运营商链路还快,但路径可控、不依赖路由器设置,这是它最大的价值。命令细节可查 doc/zerotier-cli.1.md。

ZeroTierOne 连不上怎么排查

坑 1:join 成功但一直拿不到 IP。大概率是没授权。先sudo zerotier-cli info记下节点 ID,再去网络控制端授权,这一步新手最容易漏。

坑 2:能 ping 通但延迟偏高,怀疑走了中继。sudo zerotier-cli listpeers看 PATHS 列是否 DIRECT。若双方都有公网出口但直连失败,检查路由器是否拦了出站 UDP(默认端口 9993),放行后再观察。

坑 3:zerotier-cli报权限错误或服务连不上。CLI 需要 root 权限,全部加sudo;再确认服务状态:

sudo systemctl status zerotier-one

快速自查清单:

  • 服务运行中(status 显示 active)
  • 节点已在控制器中被授权
  • 两台设备虚拟 IP 能互 ping
  • listpeers 中目标 peer 显示 DIRECT 路径

小结与下一步

ZeroTierOne 用三步就能把散落在不同网络里的设备"拼"成一个加密虚拟局域网:编译安装、加入网络、验证直连。它省掉了端口转发和中转订阅,适合家庭设备互联、远程办公、多人游戏组队这类场景。

下一步建议:先拉一个只有一两台设备的测试网络跑通 ping,再逐步扩容;如果成员设备多起来,可以研究自建控制器(参考nonfree/controller/目录)掌握数据主权。下期我们聊聊多台设备组网时如何规划虚拟 IP 段,避免冲突。

【免费下载链接】ZeroTierOneA Smart Ethernet Switch for Earth项目地址: https://gitcode.com/GitHub_Trending/ze/ZeroTierOne

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询