路由安全

RPKI 与 ROA 入门:VPS 玩家也该看懂的路由安全信号

把 RPKI、ROA、BGP 劫持和 route leak 拆成可执行检查项,用于判断商家线路是否具备基本路由安全能力。

为什么 VPS 用户也要关心 RPKI

很多 VPS 测评只看延迟、带宽和回程 ASN,但真正影响稳定性的还有一个更底层的问题:这个前缀是不是被正确授权、是否容易被错误 AS 宣告、上游是否会过滤明显无效的路由。

RPKI 的价值在于给 IP 前缀和允许宣告它的 AS 建立可验证关系。ROA 则是资源持有人发布的授权记录,说明某个前缀可以由哪个 AS 宣告,以及最大前缀长度是多少。

对于普通用户,这不意味着你要自己运营 RPKI,但它能帮助你识别两类风险:

  1. 商家使用的 IP 段没有 ROA,遇到路由泄漏时更依赖上游人工处理。
  2. 商家有 ROA,但实际 BGP 宣告与 ROA 不一致,可能出现 RPKI Invalid,被严格过滤的网络直接丢弃。

看懂三种状态

  • Valid:BGP 宣告与 ROA 匹配,属于理想状态。
  • Invalid:宣告的 AS 或前缀长度不符合 ROA,风险最高。
  • NotFound:没有找到相关 ROA,不能证明错误,也不能证明安全。

选购 VPS 时,InvalidNotFound 更值得警惕。前者通常意味着配置已经冲突,后者只是还没部署 RPKI。

实用检查流程

拿到测试 IP 后,可以先查前缀和起源 AS:

whois <测试IP>
bgpq4 -h whois.radb.net -S RIPE,APNIC,ARIN AS<ASN>

然后用公开工具交叉验证:

  • RIPEstat:看 prefix、origin AS、RPKI 状态。
  • bgp.tools:快速看上游、路由表和 RPKI。
  • Cloudflare Radar BGP:观察路由事件和可见性。
  • MANRS Observatory:参考自治系统路由安全实践。

对 VPS 测评的影响

RPKI 状态不直接决定网络速度,但会影响故障半径。一个带 RPKI Invalid 的前缀,在部分运营商或 IX 上可能被丢弃,表现为“某些地区完全打不开”,而不是普通丢包。

测评时建议记录:

  1. 测试 IP 所属前缀。
  2. Origin AS。
  3. RPKI 状态。
  4. 是否存在多个 Origin AS。
  5. 上游是否为常见 Tier 1、区域运营商或小型中转。

国外资料里的实践观点

Cloudflare 关于 route leak 的文章里,一个很重要的观点是:BGP 的问题往往不是“完全断网”,而是路由被错误传播后,流量被吸到不该经过的网络。用户侧看到的现象可能只是延迟突然升高、部分地区不可达、TLS 握手变慢或 CDN 命中异常。

APNIC 关于 RPKI 工具和 RPKIViews 的文章则更偏运营侧:RPKI 数据本身也在持续变化,做长期研究时不能只保存一个快照。对 VPS 测评来说,这意味着你今天查到的 Valid/Invalid 状态要和测试时间绑定,不能拿几个月后的查询结果反推当时的网络状态。

国外运营社区还有一个常见经验:小商家并不一定不安全,大商家也不一定永远配置正确。真正值得看的是商家是否知道自己的前缀、origin AS、ROA、IRR 和上游过滤策略。如果工单里问 RPKI 状态,对方完全答不上来,那至少说明它不是这家商家的运营重点。

BYOIP 和自持 ASN 场景

如果你不是普通 VPS 用户,而是自带 IP 段或自持 ASN,RPKI 就不是可选项。最容易出错的是 maxLength。

例如你持有 203.0.113.0/23,希望平时宣告 /23,故障时拆成两个 /24。如果 ROA 只允许 /23,那么应急时的 /24 会变成 Invalid。反过来,如果 maxLength 放得过宽,又会降低保护效果。

建议策略:

  • 只授权实际会宣告的前缀长度。
  • 变更 BGP 宣告前先更新 ROA。
  • 多上游环境下确认每个上游都接受你的 RPKI 策略。
  • 保留一次完整的故障演练记录。

排障时怎么使用 RPKI

当某个地区突然访问不了 VPS,可以按这个顺序查:

  1. 本机到目标是否完全不可达。
  2. 其他运营商是否也不可达。
  3. RIPEstat 或 bgp.tools 是否显示 Invalid。
  4. RouteViews/RIPE RIS 是否看到 origin AS 变化。
  5. 商家是否刚迁移 IP、切上游或调整 BGP。

如果只有启用 ROV 的网络不可达,而宽松网络仍可访问,RPKI Invalid 就是高优先级怀疑对象。

判断建议

  • 建站、企业业务:优先选择 RPKI Valid 或至少 NotFound 且上游清晰的商家。
  • 临时代理、短期测试:RPKI 不是唯一指标,但 Invalid 要谨慎。
  • BGP Session 或 BYOIP 场景:必须检查自己的 ROA 最大前缀长度,避免更细分的宣告被过滤。

参考来源