了解 IPv6 路由器广告保护
在 IPv6 部署中,路由器会定期组播路由器通告 (RA) 消息,以通告其可用性,并将信息传达给相邻节点,使其能够在网络上自动配置。邻居发现协议 (NDP) 使用 RA 消息来检测邻居、通告 IPv6 前缀、协助地址调配以及共享链路参数,例如最大传输单元 (MTU)、跳跃限制、播发间隔和生存期。主机监听 RA 消息,以便 IPv6 地址自动配置和发现相邻路由器的链路本地地址,还可以发送路由器请求 (RS) 消息以请求即时播发。
RA 消息不安全,这使得它们容易受到涉及链路层地址欺骗(或伪造)的网络攻击。此外,用户或管理员无意中的配置错误可能会导致出现不需要的或恶意的 RA 消息,从而给相邻主机带来作问题。您可以配置 IPv6 路由器通告 (RA) 保护,以保护您的网络免受连接到网段的未经授权或配置不正确的路由器生成的恶意 RA 消息的侵害。
RA 保护的工作原理是,根据 RA 消息是否满足使用策略在交换机上配置的某些条件来验证这些消息。RA 防护检查 RA 消息,并将消息属性中包含的信息与配置的策略进行比较。根据策略,RA 防护会丢弃或转发与条件匹配的 RA 消息。
RA 保护可以使用 RA 消息属性中包含的以下信息来验证 RA 消息的来源:
-
源 MAC 地址
-
源 IPv6 地址
-
源 IPv6 地址前缀
-
跳跃计数限制
-
路由器优先级
-
托管配置标志
-
其他配置标志
可以将 RA 保护配置为在无状态或有状态模式下运行。在无状态模式下,在默认状态下,系统会根据接口上收到的 RA 消息是否与附加到该接口的策略中配置的条件匹配来对其进行检查和过滤。如果 RA 消息的内容经过验证,它会将 RA 消息转发到其目标位置;否则,将丢弃 RA 消息。在无状态模式下运行的接口的状态可以通过配置来更改。如果接口配置为 受信任,则将转发所有 RA 消息,而无需根据策略进行验证。如果接口配置为 已阻止,则所有 RA 消息都将被丢弃,而无需根据策略进行验证。
在有状态模式下,接口可以根据学习期间收集的信息动态地从一种状态转换为另一种状态。在此期间(称为 学习 状态),入口 RA 消息将根据策略进行验证,以确定哪些接口连接到了具有有效 IPv6 路由器的链路。在学习期结束时,连接到合法 RA 消息发送方的接口将动态转换为 转发 状态,在该状态下,如果可以根据策略验证 RA 消息,则将转发这些消息。在学习期间未收到有效 RA 消息的接口会动态转换为 阻塞 状态,在此状态下,所有入口 RA 消息都将被丢弃。
表 1 总结了无状态和有状态模式下 IPv6 RA 保护的状态。
州 |
描述 |
模式 |
---|---|---|
关闭 |
接口的运行方式就像 RA 保护不可用一样。 |
无状态/有状态 |
可信 |
如果根据配置的策略规则验证收到的 RA 消息,则接口将转发入口 RA 消息;否则,它将丢弃 RA 消息。不受信任状态是为 RA 防护启用的接口的默认状态。 |
无状态/有状态 |
封锁 |
接口阻止入口 RA 消息。 |
无状态/有状态 |
转发 |
如果根据配置的策略规则验证收到的 RA 消息,则接口将转发入口 RA 消息;否则,它将丢弃 RA 消息。 |
状态 |
学习 |
交换机会主动获取有关连接到接口的 IPv6 路由设备的信息。学习过程在预定的时间段内进行。 |
状态 |
信任 |
该接口直接转发所有 RA 消息,而不根据策略对其进行验证。 |
无状态/有状态 |
图 1 显示了启用有状态 RA 防护时的状态转换。插图中显示的数字在下面的文字中进行了描述;这些不是连续的步骤。

-
在接口上启用 RA 保护后,它会从关闭状态移动到不受信任状态。不受信任状态是为 RA 防护启用的接口的默认状态。
-
发出请求学习状态的命令时,接口将从 关闭 状态移至 学习 状态。
-
系统会将学习状态期间收到的 RA 消息与配置的策略进行比较。
-
如果根据配置的策略验证 RA 消息,接口将转为 转发 状态。
-
如果未根据配置的策略验证 RA 消息,接口将变 为阻止 状态。
-
如果
mark-interface trust
在已验证的接口上配置,则该接口会从 转发 状态变 为受信任 状态。 -
如果
mark-interface trust
在阻止的接口上配置,则该接口会从 阻止 状态变 为受信任 状态。 -
如果在被阻止的接口上请求学习,则该接口将从 被阻止 的状态变为 学习 状态。
-
如果处于默认 不受信任 状态的接口配置为
mark-interface trust
,则会直接移至受信任状态。在这种情况下,不能在该接口上应用策略。 -
mark-interface trust
如果配置已删除,且接口上未收到任何有效 RA,则接口将变为阻止状态。 -
如果发出请求转发状态的命令,则接口会直接从 “阻止 ”状态变为 “转发 ”状态。
-
如果发出请求阻止状态的命令,则接口会直接从 转发 变 为已阻止。
-
如果处于默认 不受信任 状态的接口配置为
mark-interface block
,则会直接变为 阻止 状态。在这种情况下,不能在该接口上应用策略。