凌晨两点,某台 VPS 的延迟从 80 毫秒升到 180 毫秒,Ping 变差、TCP 重传增加,CPU、带宽和磁盘却正常。有人立刻说“线路被污染”,也有人认为只是机房抖动。真正要证明的是:异常前缀何时被重新宣告、沿哪条 AS 路径传播,以及变化是否抵达这台 VPS。
如果你正在选机器,或者想先把线路和配置跑通再谈长期方案,可以先看看这几家的线路说明和技术参数:野草云(全球云服务器),先看清带宽线路、流量策略和退款条款,再决定要不要迁。
一次 BGP 劫持未必造成大面积断网,攻击者或误配置可能只抢一个更具体的前缀,运营商也可能拒绝该路由。只看 traceroute 容易误判邻居和中间跳,只看延迟又会混淆拥塞、ICMP 限速与 Anycast 调度。可靠结论要让RPKI校验、路由通告和实际流量落在同一时间线上。
异常前缀是怎样被劫持的
前缀劫持发生在控制面:某个 AS 擅自宣告不属于自己的地址空间,或把从其他运营商学到的路由违规传播。越具体的前缀越容易抢走流量。典型信号是原起源 AS 改变、同一声明出现多个起源 AS(MOAS),以及旧路由撤销后换成新的宣告。
要分清前缀劫持、路由泄漏和BGP收敛:前两者分别涉及地址授权与传播策略错误;收敛则是会话中断、撤销和重播造成的短暂切换。多次 flap 后恢复原 AS,通常不能直接定性为攻击。
VPS 主机通常只拿运营商默认网关,并不运行完整 BGP,真正要查的是上游收到的路由。抓取网关邻居和本地转发表,再与 RouteViews、RIPE NCC RIS 等公共采集记录按时间戳对齐,才能确认数据面是否受影响。

用RPKI与通告记录交叉验证
RPKI 通过 ROA 把前缀绑定到授权起源 AS。Valid 表示当前起源符合授权;Invalid 表示 ROA 已覆盖该前缀但起源 AS 不符,是强烈异常信号;Not Found只代表没有可用 ROA,绝不等于安全。
RPKI 校验起源,不校验每个数据包。伪造路由可能只覆盖一个未被 ROA 保护的小前缀,合法调整也可能短暂 Invalid。应同时保存校验状态、起源 AS、AS_PATH、宣告与撤销时间,不能只截一张“Invalid”截图。
排查时先由故障确定受影响前缀,再查采集器在故障前后由谁宣告,最后核对 AS_PATH 与 RPKI。若旧 AS 撤销、新 AS 随即出现,且更具体路由被大量接收,劫持嫌疑明显;若只是会话抖动后恢复原 AS,更像收敛。还要检查子前缀覆盖:合法方新增子前缀也可能改变选路,需结合维护记录判断。

Anycast为何会制造相反判断
Anycast定位不能只靠 traceroute。同一地址可由多个 AS 同时宣告,DNS、CDN 和网络服务会按 BGP 策略、IGP 距离与 AS_PATH 选择入口。某地区改由另一节点承载,属于正常调度;目的 IP 不变,端点能力与服务连续性仍成立。
应从多个地区访问同一 Anycast 地址,比较返回节点、TCP 握手、TLS 证书和业务响应。不同地区选择不同节点、相关 AS 均有授权且 RPKI 正常,通常不是污染;若多地同时被导向陌生 AS,节点骤换且 RPKI 为 Invalid,劫持风险才明显。MTR 可区分路径摆动,证书错误、响应被替换或连接重置则说明端点可能已被控制。

落地为可复核的检查清单
固定现场:记录起止时间、目的与源 IP、协议及地区;用 MTR、分向 Ping 和 TCP 握手确认丢包范围。保存 traceroute,但只把它视为传播线索。
核对路由:列出每个前缀在故障前后的起源 AS、AS_PATH、宣告次数和 RPKI 状态,标记更具体前缀、MOAS、撤销后快速重播及多个采集器的一致变化。
验证数据面:跨地区、多协议访问故障地址,核对 Anycast 端点、返回源地址、证书和业务响应。可用 ServLlama 做 VPS 侧巡检,留存接口计数和采样时间,避免只靠事后截图。
分级结论:仅路径变化不足以认定污染;RPKI Invalid 加陌生 AS 接管可确认控制面异常;本地转发表和跨区业务同时指向该 AS,才可判定 VPS 线路实际受影响。保留原始记录,才能把收敛、路由泄漏与真正劫持分开。


喜欢
顶
难过
囧
围观
无聊




