了解单播 RPF(交换机)
为了防止 IP 欺骗以及某些类型的拒绝服务 (DoS) 和分布式拒绝服务 (DDoS) 攻击,单播反向路径转发 (RPF) 会验证数据包是否来自合法路径。为此,它会检查到达不受信任入口接口的每个数据包的源地址,并将其与其源地址的转发表条目进行比较。如果数据包来自有效路径,即发送方用来到达目标的路径,则设备会将数据包转发到目标地址。如果数据包不是来自有效路径,设备将丢弃数据包。除非受到保护,否则 IP 欺骗可能是入侵者将 IP 数据包作为真实流量传递到目标的有效方式,而实际上数据包实际上并不是针对目的地的。
IPv4 和 IPv6 协议家族以及虚拟专用网络 (VPN) 地址族支持单播 RPF。配置为隧道源的接口不支持单播 RPF。这仅影响退出隧道的传输数据包。
单播 RPF 有两种模式: 严格模式和 松散模式。默认为严格模式,这意味着仅当接收接口是数据包单播源地址的最佳返回路径时,交换机才会转发数据包。严格模式在不受信任的接口(不受信任的用户或进程可以在网段上放置数据包)和对称路由接口(请参阅 何时启用单播 RPF)特别有用。有关严格单播 RPF 的详细信息,请参阅 RFC 3704, http://www.ietf.org/rfc/rfc3704.txt 时多 宿主网络的入口过滤 。
要在选定的客户边缘接口上启用严格模式单播 RPF,请执行以下操作:
[编辑界面]user@switch# set interface-name unit 0 family inet rpf-check
另一种模式是松散模式,这意味着系统会检查数据包在路由表中是否有具有相应前缀的源地址,但不检查接收接口是否是数据包单播源地址的最佳返回路径。
要启用单播 RPF 松散模式,请输入:
[编辑界面]user@switch# set interface-name unit 0 family inet rpf-check mode loose
适用于交换机的单播 RPF 概述
单播 RPF 用作入口过滤器,可减少转发可能欺骗地址的 IP 数据包。默认情况下,交换机接口上的单播 RPF 处于禁用状态。交换机仅支持确定返回到单播源地址的最佳返回路径的活动路径方法。活动路径方法在转发表中查找最佳反向路径条目。在确定最佳返回路径时,它不考虑使用特定于路由协议的方法指定的备用路由。
如果转发表将接收接口列为用于将数据包转发回其单播源的接口,则它是最佳返回路径接口。
单播 RPF 实现
单播 RPF 数据包过滤
在交换机上启用单播 RPF 时,交换机将按以下方式处理流量:
如果交换机在接口上收到的数据包是该数据包单播源地址的最佳返回路径,交换机将转发该数据包。
如果从交换机到数据包单播源地址的最佳返回路径不是接收接换机将丢弃数据包。
如果交换机收到的数据包的源 IP 地址在转表中没有路由条目,交换机将丢弃该数据包。
引导协议 (BOOTP) 和 DHCP 请求
引导协议 (BOOTP) 和 DHCP 请求数据包随广播 MAC 地址一起发送,因此交换机不会对其执行单播 RPF 检查。交换机转发所有 BOOTP 数据包和 DHCP 请求数据包,而不执行单播 RPF 检查。
默认路由处理
如果源的最佳返回路径是默认路由 (0.0.0.0
),并且默认路由指向 reject
,则交换机将丢弃数据包。如果默认路由指向有效的网络接换机将对数据包执行正常的单播 RPF 检查。
在 EX4300 上,当交换机配置为单播 RPF 严格模式时,不使用默认路由。
何时启用单播 RPF
如果要确保到达网络接口的流量来自驻留在该接口可以到达的网络上的源,请启用单播 RPF。您可以在不受信任的接口上启用单播 RPF 来过滤欺骗数据包。例如,单播 RPF 的常见应用是帮助保护企业网络免受来自互联网的 DoS/DDoS 攻击。
仅在对称路由的接口上启用单播 RPF,并尽可能靠近流量源阻止欺骗流量,以免其扩散或到达未启用单播 RPF 的接口。由于在 EX3200、EX4200 和 EX4300 交换机上全局启用单播 RPF,因此在这些交换机上启用单播 RPF 之前,请确保 所有 接口均对称路由,如图 1 所示。在非对称路由接口上启用单播 RPF 会导致来自合法来源的数据包被过滤。对称路由接口在源和目标之间的两个方向上使用相同的路由。
单播 RPF 在 EX3200、EX4200 和 EX4300 交换机上全局启用,对于这些设备,请确保 在这些 交换机上启用单播 RPF 之前,所有接口均已对称路由。在非对称路由接口上启用单播 RPF 会导致来自合法来源的数据包被过滤。

以下交换机接口最有可能进行对称路由,因此是启用单播 RPF 的候选项:
服务提供商对客户的边缘
服务提供商的客户优势
网络外的单个接入点(通常在网络外围)
只有一个链路的终端网络
在 EX3200、EX4200 和 EX4300 交换机上,我们建议您在所有接口或仅在一个接口上显式启用单播 RPF。为避免可能的混淆,请勿仅在某些接口上启用它:
仅在一个接口上显式启用单播 RPF,如果将来选择禁用单播 RPF,则更容易,因为您必须在显式启用单播 RPF 的每个接口上显式禁用单播 RPF。如果在两个接口上显式启用单播 RPF,而仅在一个接口上禁用它,则单播 RPF 仍会在交换机上全局隐式启用。此方法的缺点是交换机会显示一个标志,指示仅在显式启用单播 RPF 的接口上启用单播 RPF,因此即使在所有接口上都启用了单播 RPF,也不会显示此状态。
在所有接口上显式启用单播 RPF,可以更轻松地了解交换机上是否启用了单播 RPF,因为每个接口都显示正确的状态。(只有显式启用单播 RPF 的接口才会显示指示已启用单播 RPF 的标志。此方法的缺点是,如果要禁用单播 RPF,则必须在每个接口上显式禁用它。如果在任何接口上启用了单播 RPF,则会在所有接口上隐式启用单播 RPF。
何时不启用单播 RPF
通常,在以下情况下,您将不会启用单播 RPF:
交换机接口是多宿主的。
交换机接口是可信接口。
BGP 带有前缀,其中一些前缀不会播发,或者 ISP 根据其策略不接受这些前缀。(在这种情况下,效果与使用不完整的访问列表筛选接口相同。
交换机接口面向网络核心。面向核心的接口通常是非对称路由的。
非对称路由接口使用不同的路径在源和目标之间发送和接收数据包,如图 2 所示。这意味着,如果接口收到数据包,则该接口与转发表条目不匹配,作为返回源的最佳返回路径。如果接收接口不是数据包源的最佳返回路径,单播 RPF 会导致交换机丢弃数据包,即使数据包来自有效源也是如此。

如果任何交换机接口以非对称方式路由,请勿在 EX3200、EX4200 和 EX4300 交换机上启用单播 RPF,因为这些交换机的所有接口上都全局启用单播 RPF。所有交换机接口都必须对称路由,您才能启用单播 RPF,而不会有交换机丢弃要转发的流量的风险。
EX3200、EX4200 和 EX4300 交换机上的单播 RPF 实施限制
在 EX3200、EX4200 和 EX4300 交换机上,交换机在全球范围内实施单播 RPF。不能基于每个接口启用单播 RPF。默认情况下,单播 RPF 处于全局禁用状态。
在任何接口上启用单播 RPF 时,系统会自动在所有交换机接口上启用单播 RPF,包括链路聚合组 (LAG)、集成路由和桥接 (IRB) 接口以及路由 VLAN 接口 (RVI)。
在启用了单播 RPF 的一个或多个接口上禁用单播 RPF 时,将自动在所有交换机接口上禁用单播 RPF。
您必须在显式启用单播 RPF 的每个接口上显式禁用单播 RPF,否则在所有交换机接口上仍处于启用状态。
QFX 交换机、OCX 交换机以及 EX3200 和 EX4200 交换机不对等价多路径 (ECMP) 流量执行单播 RPF 过滤。单播 RPF 检查仅检查数据包源的一个最佳返回路径,但 ECMP 流量使用由多个路径组成的地址块。使用单播 RPF 过滤这些交换机上的 ECMP 流量可能会导致交换机丢弃要转发的数据包,因为单播 RPF 过滤器不会检查整个 ECMP 地址块。