网络安全

从 BGP 看 DDoS 清洗:高防线路为什么会突然改道

解释 DDoS scrubbing 在 BGP 层面的常见表现,以及 VPS 用户如何区分清洗、绕路和普通拥塞。

高防不是一条固定线路

很多高防 VPS 或高防 IP 的卖点是“被打不死”,但实际工作方式通常不是简单加大带宽,而是在攻击发生时把流量牵引到清洗中心,再把干净流量回注到源站或业务节点。

这个过程会改变 BGP 宣告、AS Path、下一跳和地理路径。所以攻击期间延迟升高、路径变长,不一定是线路坏了,也可能是清洗策略生效。

BGP 层面的常见信号

高防清洗可能出现这些现象:

  • 前缀由原始 AS 改为清洗服务商 AS 宣告。
  • 出现更细的 /24 宣告,用于流量牵引。
  • AS Path 中突然插入清洗网络。
  • 多个地区的 traceroute 同时改变入口。
  • 攻击结束后路径回到原来的 transit 或 peering。

如果商家使用 GRE/IPIP 回源,你可能只看到边缘清洗节点,源站真实路径会被隐藏。

国外高防讨论里的共同经验

在国外主机论坛和网络安全社区里,高防服务经常被分成两类:一种是一直通过清洗网络 Anycast 接入,另一种是攻击时才牵引。前者路径更稳定,但延迟可能长期高一些;后者平时体验更接近普通线路,但攻击触发时路径变化明显。

APNIC 关于从 BGP 识别 DDoS scrubbing 的研究说明,清洗不是一个黑盒。只要观察前缀、origin AS 和 AS Path 变化,就能推断部分清洗行为。对 VPS 用户来说,这不是为了绕过防护,而是为了理解业务为什么在被攻击时变慢。

Cloudflare Radar、bgp.tools、RIPEstat 等工具能帮助确认某个前缀是否突然由清洗服务商宣告。如果商家声称“无感清洗”,但每次被打都出现 10 分钟以上路由收敛和大范围不可达,说明它的牵引流程并不平滑。

清洗质量看什么

不要只看“防御多少 Gbps”。更实际的指标是:

  • 牵引触发时间。
  • 误封比例。
  • 清洗后 TCP 握手成功率。
  • 回源链路带宽。
  • 是否支持常用业务端口。
  • 是否有攻击报告。
  • 攻击结束后恢复原路径的速度。

对 Web 业务来说,HTTP 5xx、TLS 握手失败和首包时间比 ICMP 更重要。对游戏或语音业务来说,UDP 抖动和包序更重要。

购买高防 VPS 前的工单问题

可以直接问商家:

  1. 是否为 Always-on scrubbing。
  2. 清洗中心在哪些地区。
  3. 回源是否独享或共享。
  4. UDP 是否完整支持。
  5. 攻击时是否会更换 IP 或黑洞。
  6. 是否提供攻击日志或 NetFlow 摘要。

回答越模糊,越不适合生产业务。

如何区分清洗和普通绕路

普通绕路往往只影响部分方向,且没有明显的前缀宣告变化。清洗触发则更像一个策略切换:多个观察点同时看到路径变化,目标 IP 仍可达,但 RTT 和 TCP 建连时间上升。

建议记录:

  1. 攻击前后的 BGP origin。
  2. 前缀长度是否变化。
  3. 是否出现清洗服务商 ASN。
  4. ICMP、TCP 443、业务端口表现是否一致。
  5. 回源链路是否成为瓶颈。

VPS 购买前该问什么

  • 防护是本地清洗还是远端清洗。
  • 清洗后回源带宽多少。
  • 是否按攻击流量、干净流量或端口数计费。
  • 是否支持自定义 ACL。
  • 被牵引时是否会影响同机房其他方向。

对建站用户来说,高防 IP 的核心不是峰值 Tbps,而是误封率、回源质量和攻击结束后的恢复速度。

测试建议

不要主动制造 DDoS 测试。合法的方式是做小流量健康检查和路径观测:

mtr -rwzc 100 <高防IP>
curl -w "@curl-format.txt" -o NUL -s https://example.com/
nexttrace <高防IP>

同时用 bgp.tools、RIPEstat 或 RouteViews 观察前缀宣告变化。

参考来源