ZeroTier — 你的全球化网络交换机
想象一下,你所有的设备——云服务器、家里的笔记本电脑、咖啡馆里的手机——都在同一个局域网中。无需复杂的 VPN 配置,也不用为端口转发烦恼。这正是 ZeroTier 提供的——一个在 GitHub 上拥有 15.7k 星的项目。
为什么开发者钟爱 ZeroTier?
从事分布式系统工作时,我经常面临这个问题:如何安全地连接分散在不同位置的服务?传统 VPN 通常过于繁琐。ZeroTier 优雅而简单地解决了这个问题。
它是如何工作的?
ZeroTier 创建了一个行星级规模的虚拟以太网交换机。所有连接的设备都会获得:
- 自动点对点连接(尽可能时)
- 端到端流量加密
- 统一地址空间中的本地 IP 地址
- 细粒度的访问控制规则配置
从技术上讲,这是通过以下方式实现的:
- VL1 — 具有加密节点识别的 P2P 网络
- VL2 — 具有 SDN 功能的虚拟以太网层
现在尝试 ZeroTier 的 5 个理由
- 简单设置 — 安装客户端并输入网络 ID 即可
- 跨平台 — Windows、macOS、Linux、iOS、Android,甚至嵌入式系统
- 安全性 — E2E 加密和网络级访问控制
- 灵活性 — 使用云控制器或自行部署
- 性能 — 流量尽可能在节点间直接传输
# Пример подключения к сети после установки клиента
sudo zerotier-cli join 8056c2e21c000001
实际应用场景
以下是一些来自我实践中的场景:
- 微服务开发 — 所有组件就像在同一个局域网中一样互相可见
- 远程办公 — 无需公司 VPN 即可安全访问办公资源
- 游戏服务器 — 易于设置并连接到朋友的服务器
- 物联网项目 — 将不同位置的设备作为同一个网络进行管理
技术细节
- 使用 C++ 编写,辅以 Rust(用于 OIDC)
- 支持 Prometheus 指标用于监控
- 内置 HTTP 服务器用于托管 SPA 应用
- 即使在对称 NAT 后面也能工作(有一定限制)
# Пример конфигурации Prometheus для мониторинга ZeroTier
- job_name: zerotier-one
metrics_path: /metrics
static_configs:
- targets: ['localhost:9993']
值得一试吗?
如果你:
- 开发分布式系统
- 管理跨多个位置的基础设施
- 想要简化家庭或办公室网络的访问
- 正在寻找传统 VPN 的替代方案
……那么 ZeroTier 绝对值得你关注。一个开源项目(BSL 1.1),拥有活跃的社区和长达 10 年的历史。
入门链接:
P.S. 第一次设置 ZeroTier 时,我惊讶于它比我想象的简单得多。你试过了吗?
相关项目