如何在网络中部署 RPKI

Table of Contents
如何在网络中部署 RPKI
你必须安装并配置 RPKI 验证器,生成 ROA,在路由器上启用 ROV,小心部署过滤规则,并做好监控。要使用冗余,审核测试阶段,避免使用有风险的参数(如过于宽松的 maxLength),并缓解验证器和 RP 实现中的漏洞。
什么是 RPKI 以及你为什么需要它
资源公钥基础设施(RPKI)是一种加密系统,通过数字证书将 IP 地址前缀绑定到自治系统编号(ASN)。使用路由起源验证(ROV)的路由器会将 BGP 路由公告与 RPKI 数据进行比对,以确认前缀的起源 ASN 是否被授权。如果未被授权,该公告可能会被标记为“无效”,并被丢弃或降级。
如果没有 RPKI,互联网将容易受到前缀劫持(无论是恶意还是意外)的影响,导致流量被重定向。
最新测量结果显示,全球 RPKI 部署已跨越重要里程碑:现在大多数 IPv4 和 IPv6 前缀都由 ROA 覆盖,但仍只有较小部分网络应用严格的完整过滤。
规划 RPKI 部署
在开始之前,你必须谨慎规划,需要考虑技术、运维和风险因素。
- 评估你网络的当前能力:检查路由器是否支持 ROV,确保 BGP 策略能处理有效 / 无效 / 未知路由,并具备监控工具。
- 决定使用托管模式还是委托模式发布 ROA:小型网络可使用托管模式,大型网络则可采用委托 / 自托管模式。
- 制定过滤与回滚策略:先进入监控模式,逐步启用过滤,并预设回滚路径。
- 建立冗余与弹性:部署多个验证器 / 缓存服务器,避免单点故障。
设置 RPKI 验证器
验证器(也称缓存服务器 / 依赖方)负责获取 RPKI 信任锚、ROA 对象、证书吊销列表等,处理后通过 RPKI-RTR 协议向路由器提供结果。
常见软件包括:
- RIPE NCC Validator
- NLnet Labs 的 Routinator
选择时需考虑安全记录、性能、多信任锚支持、监控便利性等。
合理创建 ROA
ROA 表示某 ASN 被授权发布某 IP 前缀(可含最大前缀长度 maxLength)。最佳实践包括:
- 覆盖所有发布的前缀。
- 避免使用过宽的 maxLength。
- 为更具体的前缀和汇总前缀分别创建 ROA。
配置路由器以启用 ROV
路由器通过 RPKI-RTR 协议从验证器获取验证数据。配置步骤包括:
- 连接验证器(开放 TCP 8323 端口)。
- 在策略中标记有效 / 无效 / 未知。
- 逐步从监控模式过渡到丢弃无效路由。
测试、部署与监控
部署应分阶段进行:
- 试点部署在非关键路径。
- 监控有效 / 无效 / 未知路由的比例。
- 与客户和对等方沟通,确保兼容性。
运维挑战与风险缓解
潜在风险包括配置错误、验证器漏洞、宕机处理不当、以及经济和互联政策阻力。可通过多验证器冗余、配置审计、客户沟通来缓解。
部署检查清单(如何在网络中部署 RPKI)
- 已安装验证器并配置信任锚。
- 所有前缀均已创建 ROA。
- 路由器支持 ROV 并已配置策略。
- 与对等方沟通,试点测试完成。
- 建立监控和日志系统。
如何部署 RPKI – 具体配置
以 Juniper 为例:
- 安装 RPKI 验证器 + RTR 服务器。
- 配置路由器连接验证器。
- 定义策略按验证状态标记路由。
- 拒绝无效路由,仅接受有效 / 未知。
常见问题解答(FAQs)
1: 验证器失败会怎样?
路由器应将其默认为“未知”。使用多个验证器降低风险。
2: 会不会阻断合法流量?
会,如果 ROA 或策略错误。建议先监控,再逐步启用。
3: RPKI 是否验证完整 BGP 路径?
只验证起源 ASN,不验证完整路径。
4: 有效 / 无效 / 未知是什么意思?
有效 = 匹配 ROA,无效 = 不匹配 / 超长,未知 = 无 ROA。
5: RPKI 是否强制?
目前无强制,但 MANRS 等标准强烈建议部署。

