RPKI 的组成与部署顺序
RPKI 是一套公钥基础设施,为「前缀归属与起源 AS」提供可验证的声明。资源持有者通过 ROA 对象签发授权,校验器(validator)汇集全球的 ROA 数据并根据路由器的请求返回前缀的验证状态,路由器据此在 BGP 策略中做出放行或拒绝的决定。部署的关键在于顺序:先给自己建好 ROA,再逐步对入向路由启用校验。
基本信息
| 对象类型 | ROA 声明前缀、最大长度与授权起源 AS |
|---|---|
| 角色划分 | 发布方(资源持有者)、校验器(缓存)、路由器(执行策略) |
| 同步协议 | RTR 协议,校验器与路由器之间的状态同步通道 |
| 执行策略 | 常见为丢弃 invalid、放行 valid 与 notfound |
| 数据来源 | 由 RIR 与 NIR 体系下的 RPKI 仓储统一汇集 |
典型使用场景
- 自有前缀治理:为所有对外宣告的网段创建 ROA,避免被判异常
- 客户路由约束:对客户接入方向启用起源验证,阻断明显错误的宣告
- 互联规范:把是否部署 ROA 纳入对接要求,提升整体安全基线
- 运营观测:长期统计三种状态比例,评估加严策略的可行范围
- 应急处置:发生劫持事件时,用验证状态快速定位异常来源
落地步骤参考
落地步骤参考
# 第 1 步:梳理本网对外宣告的全部前缀与起源 AS
show ip bgp neighbors 10.0.0.2 advertised-routes
#
# 第 2 步:为这些前缀创建 ROA,注意 maxLength 要覆盖实际宣告的最细长度
#
# 第 3 步:部署校验器并与路由器建立 RTR 会话
show rpki cache-connection
#
# 第 4 步:先仅观测状态分布,不改变选路
# 第 5 步:分级启用丢弃策略,逐段扩大范围并保留回退开关常见对象与作用
| 对象 | 作用 | 注意事项 |
|---|---|---|
| ROA | 授权某前缀由某 AS 始发,可限定最大长度 | maxLength 过小会把自己更明细的宣告判为无效 |
| 校验器 | 汇集 ROA 数据并向路由器提供状态 | 可用性直接影响策略执行 |
| 路由器策略 | 按状态放行或拒绝 | 需提供快速回退手段 |
| 监控统计 | 三种状态的分布与变化 | 异常波动往往对应真实事件 |
观测与统计
观测与统计
# 统计入向路由的验证状态分布(示意)
show bgp ipv4 unicast
# 关注每个前缀的 validation state 字段
# 持续记录 valid / invalid / notfound 的数量变化
# 异常增长通常意味着对端误配或出现劫持事件ROA 只覆盖起源授权,不验证 AS_PATH 是否真实经过对应网络。针对路径伪造的手段仍在演进(如基于签名的路径验证方向),部署时不要把起源验证与路径验证混为一谈。