RPKI验证现在是现代BGP路由安全的重要组成部分。它有助于网络运营商确定自治系统编号是否被授权发起特定的IPv4或IPv6前缀。当路由器接收到路由公告时,它可以将公告与该地址范围的已发布RPKI授权进行比较。
结果通常显示为有效、无效或未找到。这三个标签很简单,但经常被误解。有效结果并不意味着路线的每个部分都完美。无效结果并不总是意味着有人在攻击网络。未找到结果并不自动意味着通告不安全。
标签仅描述了BGP公告与可用的路由起源授权数据之间的关系。要正确理解结果,您需要比较三个细节:宣布的IP前缀、起源ASN以及授权允许的最大前缀长度。
本文以实际术语解释每种RPKI状态,说明合法路由为何可能变为无效,并为管理自己ASN、IPv4资源、IPv6分配或上游路由的网络运营商提供故障排除流程。如果您是该主题的新手,请从我们的指南开始 RPKIとは何ですか? 然后阅读 RPKI中的ROA是什么? 有关授权记录本身的详细说明。
RPKI 검증이란 무엇인가요?
RPKI代表资源公钥基础设施。它将互联网号码资源与经过密码学签名的授权记录相连接。IP前缀的持有者或授权管理人员可以发布一个ROA,说明某个特定的ASN被允许在BGP中起始该前缀。
验证器收集这些签名记录,检查其真实性,并为网络运营商创建一个经过验证的数据集。当接收到BGP路由时,运营商的路由系统会将该路由与该数据集进行比较。这种比较会提出三个基本问题:宣布的前缀是否被授权覆盖?起源AS编号是否与该授权中列出的相同?宣布的前缀长度是否在允许的最大长度以内?
这些问题的答案生成了RPKI状态。该状态适用于路由起源授权,而不是BGP路径的每个属性。RPKI并不能证明所有中间网络都是正确的,也不能证明流量将遵循最佳路径,或地址资源合法可供出售。它是一个专注于安全的信号,提高了对路由来源的信心。
RPKI 有效是什么意思?
一个路线是 RPKI 有效 当BGP公告被至少一个适用的ROA覆盖时,起源ASN与授权的ASN匹配,并且宣布的前缀长度符合ROA的最大长度。在实际中,该路由与资源持有者发布的路由授权一致。
例如,假设一家公司控制 203.0.113.0/24 并发布授权的ROA AS64500 起源那 /24。如果公司宣布 203.0.113.0/24 从 AS64500,公告应返回有效。对于IPv6示例也是如此,例如 2001:db8:1200::/48 当使用正确的ASN和允许的前缀长度时。
有效的结果是一个积极的信号,但不应被解释为完全的保证。该路径可能仍然存在错误的路径、较差的商业声誉、过时的注册描述,或超出起源授权的操作问题。网络运营商通常将RPKI与BGP监控、前缀过滤、注册检查和事件响应程序结合使用。
有效的状态在网络发生变化时也可能改变。如果一家公司将前缀移动到另一个ASN,开始宣布更具体的路由,或更改其地址计划,则现有的ROA可能不再与新的公告匹配。RPKI反映了当前的授权数据,因此必须作为正常网络操作的一部分进行维护。
RPKI 无效是什么意思?
一个路线是 RPKI 无效 当存在适用的授权时,但BGP公告与该授权冲突。这种冲突通常涉及两件事之一:起源ASN未被授权,或者宣布的前缀比ROA允许的最大长度更具体。
例如,ROA可以授权 AS64500 起源 198.51.100.0/24。 如果 AS64510 宣布相同前缀,源ASN不匹配,路由变为无效。结果也可能当 AS64500 被授权用于 /24 但宣布 198.51.100.0/25 虽然ROA不允许特定的前缀。
无效并不一定意味着发生了恶意劫持。许多无效的路由是由于普通的操作失误造成的。工程师可能在AS迁移后忘记更新ROA,供应商可能以错误的来源宣告客户前缀,或者网络可能开始使用更具体的前缀而没有更改最大长度。
同时,无效的结果不应被忽略。它可能表明未经授权的公告、涉及意外来源的路由泄漏,或可能导致通过使用严格RPKI过滤的网络无法到达该前缀的配置错误。正确的做法是迅速调查该结果,并与预期的路由设计进行比较。
RPKI未找到是什么意思?
一个路线是 找不到RPKI 当验证器无法为宣布的前缀找到适用的ROA时。没有已发布的授权可以确认或否认该路由的起源ASN。
未找到有时被称为“未知”,因为验证系统没有足够的授权信息来得出结论。这并不意味着该路由无效,也不能证明来源未经授权。互联网上许多合法的前缀仍然没有ROA,原因可能是资源持有者尚未创建,或者授权信息尚未对验证器可见。
缺少ROA会减少想要验证路由的网络可用的信息量。如果未经授权的ASN宣布相同的前缀,看到两个公告的网络可能难以仅使用RPKI区分合法路由和虚假路由。
资源持有者通常应为其公开宣布的前缀发布准确的ROA,尤其是在这些前缀支持重要服务时。然而,运营商应避免为了将“未找到”更改为“有效”而匆忙或过于宽泛地授权。配置不当的ROA可能将合法路由变为“无效”,这可能会产生更直接的操作影响。
无效与未找到的区别
最重要的区别是, 无效是冲突,而 未找到是授权数据的缺失。无效表示验证器找到了相关的ROA,但该路线不符合它。未找到表示未找到适用的ROA。
考虑两个例子。在第一个例子中,一家公司发布了一个授权ROA AS64500 对于 192.0.2.0/24,但是 AS64510 宣布前缀。该路由无效,因为源与授权冲突。第二,该公司尚未发布任何ROA,和 AS64500 声明前缀。由于没有授权进行评估,因此找不到该路由。
此差异在创建路由策略时很重要。许多网络会对无效路由给予特殊处理,因为现有的授权表明资源持有者已表达了特定的期望。未找到的路由可能被监控、给予较低的优先级或根据本地策略被接受。每个网络决定如何应用结果。
网络运营商还应记住,在仓库和验证器刷新期间,验证结果可能会暂时变化。如果ROA是在几分钟前创建或更改的,不同的工具可能在更新通过验证系统传播之前显示不同的状态。
为什么合法路线会变得无效?
最常见的原因是ASN变更。一家公司可能最初从上游或资助组织提供的ASN中宣布一个前缀,之后将该前缀转移到自己的ASN。如果ROA仍然授权旧的来源,则新的公告将无效。
第二个原因是不正确的最大前缀长度。一个组织可能持有 /20,发布一个最大长度为 /20,并随后宣布两个 /21 流量工程的路由。那些更具体的公告可能不受原始授权的覆盖。BGP配置可能是有意的,但RPKI策略对新设计来说过于严格。
IPv4转移可能会产生类似的问题。在转移过程中,管理持有者和路由来源可能在不同时间发生变化。如果前一个持有者的授权在新持有者从不同的ASN宣布前缀时仍然有效,则过渡可能导致无效状态。
过时的记录、错误的网络边界以及对传输提供商角色的误解是其他常见原因。提供商可能携带客户的路由,而自身并不是起源ASN。ROA通常需要授权作为路由起源出现的ASN,而不仅仅是传输流量的运营商。
如何排查RPKI无效结果
首先记录BGP公告中显示的精确前缀和来源ASN。不要依赖缩短的显示或之前的配置文档。确认至少一个可靠的路由监控器所观察到的地址族、前缀长度和来源。
接下来,检查该前缀的活动ROA。检查授权的ASN和最大前缀长度。如果起源ASN不匹配,确定是路由错误还是授权错误。如果ASN正确,请检查宣布的前缀是否比允许的最大长度更具体。
然后审查最近的更改。查找ASN迁移、上游提供商更改、IPv4传输、IPv6部署、数据中心迁移、路由聚合更改或BGP策略更新。大多数合法的无效结果都可以与未在RPKI管理中反映的最近更改相关联。
如果ROA有误,请通过相关的区域互联网注册机构、资助LIR或RPKI管理系统进行更新。如果BGP公告有误,请更正路由策略。不要通过发布不必要的广泛ROA来解决路由错误,因为这可能会授权从未打算发布的公告。
更正之后,留出时间让仓库和验证器刷新。使用外部验证服务和BGP监控源再次检查结果。当起源和前缀长度与已发布的授权匹配时,该路由应返回为有效。
RPKI结果如何影响BGP路由
RPKI验证不会自动从互联网中撤回路由。接收网络决定如何在其路由策略中使用结果。一些运营商会拒绝无效路由,而其他运营商则会将其标记为较低的优先级,生成警报,或在特定条件下继续接受它们。
有效路由可能会受到正常处理,但它仍会根据本地首选项、路径长度、流量工程规则和供应商策略与其他路由竞争。未找到的路由可能被一个网络接受,而被另一个网络更谨慎地处理。无效路由可能在某些供应商处可见,而在实施严格过滤的网络中变得不可达。
这种差异解释了为什么无效的公告可能导致部分连接性问题。一个服务可能在某个区域工作,但在另一个区域失败,因为不同的网络应用了不同的策略。因此,在诊断中断时,将验证状态与来自多个位置的BGP可见性进行比较是有用的。
RPKI应被视为路由策略的一个输入,而不是前缀过滤器或路由监控的通用替代方案。通常,最强的操作结果来自于将准确的RPKI数据与精心维护的注册表和路由记录相结合。
RPKI Validation for IPv4 and IPv6
相同的三个状态适用于IPv4和IPv6。在每个地址族中,验证器会将宣布的前缀、起源AS编号和允许的前缀长度与可用的ROA进行比较。
IPv4操作通常涉及相对较小的前缀、转移、租赁安排和多个提供商。起源ASN的更改或使用更具体的公告可能会迅速影响验证结果。IPv4资源持有者应在块被转移、租赁、在不同提供商之间移动或从新位置公告时,重新审查RPKI。
IPv6网络通常会获得较大的分配,并可能宣布一个聚合块,同时使用较小的内部子网。公共ROA应与实际宣布到互联网的前缀相匹配。如果一个IPv6运营商仅授权了一个聚合块,但后来发布了更具体的路由,这些路由可能会变为无效,除非最大长度允许它们。
A larger IPv6 address space does not remove the need for origin validation. IPv6 route hijacks and configuration mistakes can still interrupt services. Publishing precise ROAs during the initial IPv6 deployment makes future troubleshooting easier and gives upstream networks a clear authorization signal.
如何在网络变更前检查RPKI状态
在更改ASN、上游提供商、路由聚合计划或地址资源持有者之前,记录当前的RPKI状态。确认当前哪个ASN起始该前缀,并且通告是有效、无效还是未找到。
在准备新的路由设计后,将预期的来源和前缀长度与计划的ROAs进行比较。如果来源将发生变化,请在操作日程允许的情况下,在宣布新路由之前发布或更新授权。在受控迁移期间,可能需要为两个来源提供临时授权,但该安排应予以记录,并在转换完成后删除旧的授权。
一个技术预检查也可以揭示相关的不一致之处。 IP资源就绪检查器 可以协助审核公共注册信息、来源ASN数据、路由对象、RPKI状态和BGP可见性,针对公共IPv4或IPv6前缀。这是一项技术检查,而非所有权或转让资格的证明,因此合同和注册验证仍然是必要的。
RPKI状态常见问题
RPKI未找到与无效是否相同?
没有找到。意味着未找到适用的ROA。无效意味着存在相关ROA,但BGP公告与其冲突。无效通常需要更紧急的调查,因为它表示与已发布的授权直接不一致。
有效路线仍可能有问题吗?
是的。有效仅确认源ASN和前缀长度与适用的ROA匹配。它不会验证BGP路径的每个部分、应用安全性、IP声誉、法律所有权或服务可用性。
为什么在更改提供商后我的路线无效?
仅更改运营商可能不需要新的ROA,如果起始ASN保持不变的话。然而,如果供应商的变更也改变了起始ASN,或者新供应商宣布了不同的前缀长度,则可能需要更新ROA。
ROA变更需要多长时间才能显示?
该更改必须由相关RPKI系统发布,并由验证器检索。通常会出现短暂的延迟。在进行生产环境更改时,请检查多个验证源并留出刷新时间。
我应该拒绝每个未找到的路由吗?
这取决于您的网络策略和风险模型。未找到(Not Found)并不能证明某条路由是错误的。许多合法的路由可能没有ROA。一些网络会接受未找到的路由,同时进行监控或降低优先级;而其他网络则会对特定环境采用更严格的策略。
RPKI可以保护IPv4和IPv6吗?
是的。RPKI支持两种地址族的起源授权。实际配置必须与每个网络实际宣告的前缀和前缀长度相匹配。
RPKI状态标签在记住授权和观察之间的基本区别时会变得更容易理解。有效的结果意味着该路由与已发布的授权相匹配。无效的结果意味着该路由与适用的授权冲突。未找到的结果意味着验证器没有可用的授权进行检查。
这些结果在ASN迁移、供应商变更、IPv4传输、IPv6部署和网络重新设计期间尤为重要。当BGP起源发生变化但ROA未更新时,或者当网络开始宣布比允许的最大长度更具体的前缀时,合法路由可能会变为无效。
为了实现可靠的操作,请一起审查已宣布的前缀、来源ASN和最大前缀长度。保持RPKI记录与实际路由设计一致,监控发布后的更改,并及时调查无效结果。将RPKI与注册记录、BGP监控、IRR数据和文档化的变更管理一起使用,而不是将其视为这些系统的完全替代品。
如果您想继续这个系列,下一篇有用的文章是《如何修复RPKI无效路由》,其中将更详细地解释迁移计划、重叠授权、供应商变更和实际验证检查。