Tailscale DERP (derper) 与自定义中继服务器:深度技术解析

DERP 架构与机制 DERP(Designated Encrypted Relay for Packets,指定加密数据包中继)是 Tailscale 的核心中继基础设施,用于处理 tailnet(Tailscale 网络)内设备间的连接协商与加密数据转发。DERP 服务器主要承担两类职责: 连接协商与 NAT 穿越辅助:通过 DISCO(Discovery)协议转发低带宽的发现消息,帮助设备交换直接连接细节。设备首先会连接到其“Home DERP”(基于延迟测算选定的最近服务器),随后尝试基于 UDP 的直接点对点(P2P)连接。在此过程中的 DISCO 数据包被用于 NAT 打洞(包含 STUN 探测)。 数据中继回退(Fallback):当端到端直连失败(如遇到硬 NAT、对称 NAT、或防火墙严格阻挡 UDP 流量)时,DERP 将作为回退路径,负责转发已加密的 WireGuard 数据包。所有的流量路径为:源设备 → DERP → 目标设备。数据保持端到端的 WireGuard 加密,DERP 节点本身无任何解密能力,仅执行盲转(Blind Forwarding)。 架构上,DERP 支持 IPv4/IPv6 双栈,并通过协调服务器(Control Plane)向客户端分发 DERP 地图(包含 RegionID、节点 IP/主机名、端口等信息的 JSON)。客户端在本地缓存该地图,即使协调服务器短暂宕机,也支持本地回退选路。 部署自定义 DERP 的原因与时机 Tailscale 全球部署的公共 DERP 节点已覆盖 28 个以上的区域,多数场景下无需自建。部署自定义 DERP(运行 二进制文件)通常是应对极端场景的最后手段,优先建议优化本地网络配置或使用内网的 Peer Relay(子网中继)。其典型适用时机包括: 极端的 NAT 穿越失败:遭遇 Endpoint-Dependent Mapping(对称 NAT)、CGNAT(运营商级 NAT)多层嵌套、或 UDP 协议被完全阻挡。虽然公共 DERP 依然可用,但会受到共享带宽的 QoS 限速影响。 特定链路的延迟优化:当跨大洲或跨区域流量被迫绕行远程公共 DERP 导致过高延迟时,在用户级专线或低延迟 IDC 内部署自定义 DERP 可以改善体验。 绕过限制性防火墙:部分企业或云网络默认丢弃未知 UDP 流量,但普遍放行 TCP 443(HTTPS)。自定义 DERP 可提供基于 TCP 443 端口的 TLS 隧道以及 UDP 3478 的 STUN 服务作为稳定入口。 合规与隔离需求:因合规政策明确禁止流量流经任何公共中继节点(即便流量已端到端加密),企业必须实现全链路的私有化路由控制。 部署前提与架构 前提条件说明: ...

April 3, 2026