跳转至

Zerotier 几种模式的介绍

🛠 ZeroTier 常见网络模式(按拓扑和用途划分)

模式 原理 优点 缺点 典型场景
点对点直连(P2P) 两个节点通过 ZeroTier 控制器交换握手信息后,直接建立加密隧道(UDP NAT 穿透) 延迟低、带宽高 仅适合少量节点 两台服务器互联、远程桌面
全互联(Mesh) 所有节点互相直连 任意节点间通信最快 节点多时连接数爆炸,维护成本高 小型团队、实验室
星型(Hub/Spoke) 所有节点只连到中心节点(Hub),Hub 转发流量 易管理、可控出口 Hub 成为瓶颈 统一出口上网、集中安全审计
路由模式(Gateway) 某节点作为网关,ZeroTier 虚拟网卡与物理网卡做路由/NAT 可访问整个内网 需配置路由表、防火墙 异地访问公司内网
桥接模式(Bridge) ZeroTier 虚拟网卡桥接到物理交换网络 远程设备像在同一二层网络 广播风暴风险、性能受限 打印机、NAS、摄像头等二层设备接入

⚙ ZeroTier 网络配置关键选项(客户端侧)

ZeroTier 在每个网络的本地配置文件 <network-id>.local.conf 中,有几个布尔开关:

allowManaged=1
allowGlobal=0
allowDefault=0
allowDNS=0

1. Allow Managed IP(allowManaged)

  • 作用:允许 ZeroTier 控制器下发并自动配置虚拟网卡的 IP 地址和路由(仅限私有网段,如 10.x.x.x、192.168.x.x)

  • 原理:控制器通过“Managed Routes”功能,把 IP 和路由表推送到客户端,客户端自动写入系统路由表

  • 用途:

  • 自动分配 ZeroTier 内网 IP

  • 自动添加访问其他网段的路由

  • 注意:

  • 关闭后需手动配置 IP 和路由

  • 常与“Managed Routes”配合使用

2. Allow Default Route(allowDefault)

  • 作用:允许 ZeroTier 将 0.0.0.0/0(默认路由)推送到客户端

  • 原理:客户端会将所有非本地流量发往 ZeroTier 网关(Full Tunnel 模式)

  • 用途:

  • 全局代理上网(如统一出口、跨境访问)

  • 安全控制(所有流量经过公司防火墙)

  • 注意:

  • 会覆盖本地默认路由,可能导致本地网络不可达

  • 需确保网关节点有公网出口且带宽足够
  • 常与“Allow Global”配合(允许全局 IP 路由)

3. Allow DNS(allowDNS)

  • 作用:允许 ZeroTier 下发 DNS 服务器配置到客户端

  • 原理:控制器在网络设置中配置 DNS 服务器地址,客户端接收后写入系统 DNS 配置

  • 用途:

  • 内网域名解析(如 server.company.local

  • 统一使用内网 DNS(如 AD 域控)

  • 注意:

  • 不同系统支持程度不同(Windows/macOS/iOS/Android 支持较好,Linux 需额外配置)

  • macOS 下 dig/nslookup 可能不走系统 DNS,需要用 scutil --dns 检查
  • 如果同时有本地 DNS,可能会出现优先级冲突

4. Allow Global(allowGlobal)

  • 作用:允许 ZeroTier 下发公共 IP 段的路由(非私有网段)

  • 用途:

  • 访问公网但通过特定网关(如出口审计)

  • 注意:

  • 默认关闭,避免错误路由导致流量劫持


🔍 Managed Routes 与这些选项的关系

  • Managed Routes 是 ZeroTier 控制器端的路由表配置
  • 客户端是否接受这些路由,取决于:
  • 私有网段 → 需 allowManaged=1
  • 公网网段 → 需 allowGlobal=1
  • 默认路由(0.0.0.0/0) → 需 allowDefault=1
  • DNS 配置下发则独立于路由,由 allowDNS=1 控制

🧩 常见组合场景

场景 allowManaged allowGlobal allowDefault allowDNS
异地访问内网
全局代理上网
仅内网互通
内网 + 公网特定路由

⚠ 常见坑

  1. IP 段冲突:不同站点的内网网段不能重复,否则路由表会混乱
  2. 防火墙未放行:路由器做网关时需放行 ZeroTier 虚拟网卡(如 zt0)的转发和 NAT
  3. DNS 优先级问题:系统可能优先用本地 DNS,导致内网域名解析失败
  4. 默认路由覆盖:开启 Allow Default 后,本地网络可能断开,需要静态路由保留本地网关