配置 PIM 筛选
了解组播消息过滤器
组播源和路由器会生成大量控制消息,尤其是在使用 PIM 稀疏模式时。这些消息形成分布树,定位集合点 (RP) 和指定路由器 (DR),并从一种类型的树转换到另一种类型的树。在大多数情况下,此多播消息传递系统以透明和高效的方式运行。但是,在某些配置中,需要对组播控制消息的发送和接收进行更多控制。
您可以配置组播过滤来控制组播控制消息的发送和接收。
为了防止未经授权的组和源向 RP 路由器注册,可以定义路由策略以拒绝来自特定组和源的 PIM 注册消息,并在指定的路由器或 RP 路由器上配置策略。
如果在 RP 路由器上配置拒绝策略,它将拒绝来自指定组和源的传入 PIM 寄存器消息。RP 路由器还通过单播向指定路由器发送寄存器停止消息。收到寄存器停止消息后,指定路由器会定期向 RP 路由器发送指定组和源的空寄存器消息。
如果在指定路由器上配置拒绝策略,它将停止向 RP 路由器发送指定组和源的 PIM 寄存器消息。
如果您在 RP 路由器上配置了拒绝策略,我们建议您在组播网络中的所有 RP 路由器上配置相同的策略。
如果从 RP 路由器上配置的拒绝策略中删除组和源地址并提交配置,则仅当指定路由器发送空寄存器消息时,RP 路由器才会注册组和源。
参见
过滤 MAC 地址
当路由器在接口上专门配置组播协议时,组播会将接口媒体访问控制 (MAC) 过滤器设置为组播混合模式,组播组的数量不受限制。但是,当路由器不是专门用于组播,并且在接口上配置了 OSPF、路由信息协议版本 2 (RIPv2) 或网络时间协议 (NTP) 等其他协议时,每个协议都会单独请求接口对 MAC 过滤器进行编程,以便仅拾取其各自的组播组。在这种情况下,如果未在接口上配置组播,组播 MAC 过滤器的最大数量限制为 20。例如,OSPF(组播组 224.0.0.5)等协议的最大接口 MAC 过滤器数为 20,除非接口上还配置了组播协议。
MAC 过滤器无需配置。
过滤 RP 和 DR 寄存器消息
您可以过滤从指定路由器 (DR) 或集合点 (RP) 发送的协议无关组播 (PIM) 寄存器消息。PIM RP 跟踪单个 PIM 稀疏模式域中的所有活动源。在某些情况下,需要更好地控制 RP 发现哪些源,或者 DR 通知其他 RP 哪些源。RP 和 DR 寄存器消息筛选提供了对 PIM 寄存器消息的高度控制。消息过滤还可以防止未经授权的组和源注册到 RP 路由器。
在 DR 处筛选的注册消息不会发送到 RP,但源可供本地用户使用。注册在 RP 处过滤的消息从源 DR 到达,但被路由器忽略。可以通过单独或一起使用 RP 或 DR 寄存器消息过滤来限制或定向组播组流量上的源。
如果寄存器过滤器策略的操作是丢弃寄存器消息,则路由器需要向 DR 发送寄存器停止消息。寄存器停止消息受到限制,以防止恶意用户故意触发它们以中断路由过程。
组播组和源信息封装在单播 IP 数据包中。此功能允许路由器在发送或接受 PIM 寄存器消息之前检查组播组和源信息。
在进一步处理之前,传入到 RP 的寄存器消息将通过配置的寄存器消息过滤策略传递。如果寄存器消息被拒绝,RP 路由器会向 DR 发送寄存器停止消息。当 DR 收到寄存器停止消息时,DR 将停止向 RP 发送已过滤组和源的寄存器消息。有两个字段用于注册消息过滤:
组组播地址
源地址
现有策略语句的语法用于配置对这两个字段的筛选。该 route-filter
语句对于组播组地址筛选很有用,该 source-address-filter
语句对于源地址筛选很有用。在大多数情况下,操作是 拒绝 注册消息,但可以使用更复杂的筛选策略。
无法对其他标头字段(如 DR 地址、协议或端口)执行筛选。在某些配置中,当策略操作是丢弃寄存器消息时,RP 可能不会发送寄存器停止消息。这对功能的操作没有影响,但路由器将继续接收注册消息。
配置任播 RP 后,RP 可以发送或接收寄存器消息。任播 RP 集中的所有 RP 都需要使用相同的 RP 寄存器消息过滤策略进行配置。否则,可能会绕过筛选策略。
参见
过滤 MSDP SA 消息
除了在所有外部 MSDP 会话(传入和传出)上应用 MSDP 源活动 (SA) 过滤器以防止组和源的 SA 泄漏到网络内外之外,还需要应用引导路由器 (BSR) 过滤器。将 BSR 过滤器应用于网络边界可防止外部 BSR 消息(通告 RP 地址)泄漏到网络中。由于 PIM 稀疏模式域中的路由器只需要知道一个 RP 路由器的地址,因此网络中有多个路由器可能会产生问题。
如果未使用多播范围为所有面向客户的接口创建边界筛选器,则可能需要使用 PIM 联接筛选器。组播作用域可防止实际组播数据包流入或流出接口。PIM 联接筛选器首先会阻止创建 PIM 稀疏模式状态。由于 PIM 联接筛选器仅适用于 PIM 稀疏模式状态,因此使用多播范围筛选实际数据可能更有益。
应用防火墙过滤器时,防火墙操作修饰符(如 日志、 采样和 计数)仅在对入站接口应用过滤器时才起作用。修饰符在出站接口上不起作用。
参见
配置接口级 PIM 邻居策略
可以配置策略来筛选不需要的 PIM 邻居。在以下示例中,PIM 接口在进行任何你好处理之前,将邻居 IP 地址与策略语句中的 IP 地址进行比较。如果任何邻居 IP 地址(主地址或辅助地址)与前缀列表中指定的 IP 地址匹配,PIM 将丢弃你好数据包并拒绝邻居。
如果在 PIM 已与不需要的 PIM 邻居建立邻接关系后配置 PIM 邻居策略,则邻接关系将保持不变,直到邻居保持时间到期。当不需要的邻居发送另一条你好消息来更新其邻接关系时,路由器会识别不需要的地址并拒绝邻居。
若要配置策略以筛选不需要的 PIM 邻居,请执行以下操作:
参见
筛选传出 PIM 联接消息
当网络的核心使用 MPLS 时,PIM 加入和修剪消息会在客户边缘 (CE) 路由器处停止,并且不会转发到核心,因为这些路由器在面向核心的接口上没有 PIM 邻居。当网络的核心使用 IP 时,PIM 加入和修剪消息将转发到网络核心中的上游 PIM 邻居。
当网络核心混合使用 IP 和 MPLS 时,您可能需要过滤某些 PIM 联接,并在客户边缘路由器的上游出口接口上删除消息。
可以筛选 PIM 稀疏模式 (PIM-SM) 联接,并在上游方向的 IPv4 和 IPv6 出口接口上删除消息。可以根据组地址、源地址、传出接口、PIM 邻居或这些值的组合筛选消息。如果删除筛选器,则会在 PIM 定期加入计时器过期后发送联接。
若要筛选出口接口上的 PIM 稀疏模式加入并删除消息,请创建拒绝组地址、源地址、传出接口或 PIM 邻居的策略,然后应用该策略。
以下示例筛选组地址 224.0.1.2 和 225.1.1.1 的 PIM 联接和删除消息。
参见
示例:停止指定路由器上的传出 PIM 注册消息
此示例说明如何在指定的路由器上停止传出 PIM 寄存器消息。
要求
准备工作:
确定路由器是否直接连接到任何组播源。接收器必须能够找到这些源。
确定路由器是否直接连接到任何组播组接收器。如果存在接收器,则需要 IGMP。
确定是将组播配置为使用稀疏、密集还是稀疏-密集模式。每种模式都有不同的配置注意事项。
如果使用稀疏或稀疏密集模式,确定 RP 的地址。
确定是使用静态配置、BSR 还是自动 RP 方法定位 RP。
确定在稀疏、密集或稀疏密集模式下配置 PIM 时,是否将组播配置为使用自己的 RPF 路由表。
配置 SAP 和 SDP 协议以侦听组播会话公告。
配置 IGMP。
配置 PIM 静态 RP。
筛选来自未经授权的组和源的 PIM 注册邮件。请参阅 示例:拒绝 RP 路由器上的传入 PIM 注册消息。
概述
在此示例中,您将组地址配置为 224.2.2.2/32 ,将组中的源地址配置为 20.20.20.1/32。将匹配操作设置为不发送组和源地址的 PIM 寄存器消息。然后在指定路由器上将策略配置为 stop-pim-register-msg-dr。
配置
程序
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改与您的网络配置匹配所需的任何详细信息,然后将命令复制并粘贴到层次结构级别的 CLI [edit]
中。
set policy-options policy-statement stop-pim-register-msg-dr from route-filter 224.2.2.2/32 exact set policy-options policy-statement stop-pim-register-msg-dr from source-address-filter 20.20.20.1/32 exact set policy-options policy-statement stop-pim-register-msg-dr then reject set protocols pim rp dr-register-policy stop-pim-register-msg-dr
分步过程
以下示例要求您在配置层次结构中导航各个级别。有关如何执行此操作的说明,请参阅 Junos OS CLI 用户指南中的在配置模式下使用 CLI 编辑器。
要停止指定路由器上的传出 PIM 注册消息,请执行以下操作:
配置策略选项。
[edit] user@host# edit policy-options
设置群组地址。
[edit policy-options] user@host# set policy statement stop-pim-register-msg-dr from route-filter 224.2.2.2/32 exact
设置源地址。
[edit policy-options] user@host# set policy statement stop-pim-register-msg-dr from source-address-filter 20.20.20.1/32 exact
设置匹配操作。
[edit policy-options] user@host# set policy statement stop-pim-register-msg-dr then reject
分配策略。
[edit] user@host# set dr-register-policy stop-pim-register-msg-dr
结果
在配置模式下,输入 show policy-options
和 show protocols
命令确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明以进行更正。
[edit] user@host#show policy-options
policy-statement stop-pim-register-msg-dr { from { route-filter 224.2.2.2/32 exact; source-address-filter 20.20.20.1/32 exact; } then reject; } [edit] user@host#show protocols
pim { rp { dr-register-policy stop-pim-register-msg-dr; } }
如果完成设备配置,请从配置模式输入 提交 。
验证
要确认配置工作正常,请执行以下任务:
筛选传入的 PIM 联接消息
组播范围控制组播消息的传播。组播范围可防止实际组播数据包流入或流出接口,而 PIM 加入筛选器可防止在路由器中创建状态。状态((*,G) 或 (S,G) 条目)是用于转发单播或组播数据包的信息。使用 PIM 联接筛选器可防止通过网络传输组播流量以及在网络边缘的作用域丢弃数据包。此外,PIM 联接筛选器还降低了拒绝服务 (DoS) 攻击和 PIM 状态爆炸的可能性,即大量 PIM 联接消息转发到集合点树 (RPT) 上的每个路由器,从而导致内存消耗。
要使用 PIM 联接过滤器有效限制来自某些源地址的组播流量,请创建路由策略并将其应用于网络中的所有路由器。
有关匹配条件的列表,请参阅 表 1 。
匹配条件 |
火柴开启 |
---|---|
接口 |
路由器接口或按名称或 IP 地址指定的接口 |
邻居 |
邻居地址(加入和修剪消息的 IP 标头中的源地址) |
路由过滤器 |
联接和删除消息中嵌入的组播组地址 |
源-地址-过滤器 |
联接和修剪消息中嵌入的组播源地址 |
下面的示例演示如何创建 PIM 联接筛选器。过滤器由路由过滤器和源地址过滤器组成 — 分别为坏组 和 坏源。 坏组 筛选器可阻止接收列出的所有组的 (*,G) 或 (S,G) 联接邮件。 坏源 筛选器阻止接收列出的所有源的 (S,G) 联接消息。 坏组 筛选器和 坏源 筛选器采用两个不同的术语。如果路由过滤器和源地址过滤器在同一术语中,则它们在逻辑上是 AND 的。
若要筛选传入的 PIM 联接消息,请执行以下操作:
参见
示例:拒绝 RP 路由器上的传入 PIM 注册消息
此示例说明如何拒绝 RP 路由器上的传入 PIM 寄存器消息。
要求
准备工作:
确定路由器是否直接连接到任何组播源。接收器必须能够找到这些源。
确定路由器是否直接连接到任何组播组接收器。如果存在接收器,则需要 IGMP。
确定是将组播配置为使用稀疏、密集还是稀疏-密集模式。每种模式都有不同的配置注意事项。
如果使用稀疏或稀疏密集模式,确定 RP 的地址。
确定是使用静态配置、BSR 还是自动 RP 方法定位 RP。
确定在稀疏、密集或稀疏密集模式下配置 PIM 时,是否将组播配置为使用自己的 RPF 路由表。
配置 SAP 和 SDP 协议以侦听组播会话公告。请参阅 配置会话公告协议。
配置 IGMP。请参阅 配置 IGMP。
配置 PIM 静态 RP。请参阅配置静态 RP。
概述
在此示例中,您将组地址配置为 224.1.1.1/32 ,将组中的源地址配置为 10.10.10.1/32。将匹配操作设置为拒绝 PIM 寄存器消息,并将拒绝 pim-register-msg-rp 分配为 RP 上的策略。
配置
程序
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改与您的网络配置匹配所需的任何详细信息,将命令复制并粘贴到层次结构级别的 CLI [edit]
中,然后从配置模式进入 commit
。
set policy-options policy-statement reject-pim-register-msg-rp from route-filter 224.1.1.1/32 exact set policy-options policy-statement reject-pim-register-msg-rp from source-address-filter 10.10.10.1/32 exact set policy-options policy-statement reject-pim-register-msg-rp then reject set protocols pim rp rp-register-policy reject-pim-register-msg-rp
分步过程
以下示例要求您在配置层次结构中导航各个级别。有关如何执行此操作的说明,请参阅 Junos OS CLI 用户指南中的在配置模式下使用 CLI 编辑器。
要拒绝 RP 路由器上的传入 PIM 寄存器消息,请执行以下操作:
配置策略选项。
[edit] user@host# edit policy-options
设置群组地址。
[edit policy-options] user@host# set policy statement reject-pim-register-msg-rp from route-filter 224.1.1.1/32 exact
设置源地址。
[edit policy-options] user@host# set policy statement reject-pim-register-msg-rp from source-address-filter 10.10.10.1/32 exact
设置匹配操作。
[edit policy-options] user@host# set policy statement reject-pim-register-msg-rp then reject
配置协议。
[edit] user@host# edit protocols pim rp
分配策略。
[edit] user@host# set rp-register-policy reject-pim-register-msg-rp
结果
在配置模式下,输入 show policy-options
和 show protocols pim
命令确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明以进行更正。
[edit] user@host#show policy-options
policy-statement reject-pim-register-msg-rp { from { route-filter 224.1.1.1/32 exact; source-address-filter 10.10.10.1/32 exact; } then reject; } [edit] user@host#show protocols pim
rp { rp-register-policy reject-pim-register-msg-rp; }
如果完成设备配置,请从配置模式输入 提交 。
验证
要确认配置工作正常,请执行以下任务:
在 PIM RP 和 DR 上配置注册邮件筛选器
PIM 寄存器消息由指定的路由器 (DR) 发送到集合点 (RP)。当组的源开始传输时,DR 会向 RP 发送单播 PIM 寄存器数据包。
注册消息具有以下用途:
通知 RP 源正在发送到组。
将源发送的初始组播数据包传送到 RP,以便沿最短路径树 (SPT) 进行传送。
PIM RP 跟踪单个 PIM 稀疏模式域中的所有活动源。在某些情况下,您希望更好地控制 RP 发现哪些源,或者 DR 通知其他 RP 哪些源。RP 或 DR 寄存器消息筛选提供了对 PIM 寄存器消息的高度控制。消息过滤可防止未经授权的组和源向 RP 路由器注册。
配置 RP 或 DR 寄存器消息过滤,以控制 RP 发现的组播源的数量和位置。您可以在 DR 上应用寄存器消息过滤器以控制传出寄存器消息,或在 RP 上应用它们以控制传入的寄存器消息。
配置任播 RP 时,需要使用相同的寄存器消息过滤策略配置任播 RP 集中的所有 RP。
您可以全局配置消息筛选,也可以为路由实例配置消息筛选。这些示例显示了全局配置。
要将 RP 过滤器配置为丢弃来自源地址 10.10.94.2 的组播组范围 224.1.1.0/24 的注册数据包,请执行以下操作:
要配置 DR 过滤器以防止发送组范围 224.1.1.0/24 和源地址 10.10.10.1/32 的注册数据包,请执行以下操作:
在 DR 上,配置策略。
[edit policy-options policy-statement outgoing-policy-for-rp] user@host# set from route-filter 224.1.1.0/24 orlonger user@host# set from source-address-filter 10.10.10.1/32 exact user@host# set then reject user@host# exit
将策略应用于 DR。
静态地址是您不希望 DR 向其发送过滤后的寄存器消息的 RP 地址。
[edit protocols pim rp] user@host# set dr-register-policy outgoing-policy-for-dr user@host# set static 10.10.10.3 user@host# exit
要将策略表达式配置为接受组播组 224.1.1.5 的注册消息,但拒绝 224.1.1.1 的注册消息,请执行以下操作:
在 RP 上,配置策略。
[edit policy-options policy-statement reject_224_1_1_1] user@host# set from route-filter 224.1.1.0/24 orlonger user@host# set from source-address-filter 10.10.94.2/32 exact user@host# set then reject user@host# exit
[edit policy-options policy-statement accept_224_1_1_5] user@host# set term one from route-filter 224.1.1.5/32 exact user@host# set term one from source-address-filter 10.10.94.2/32 exact user@host# set term one then accept user@host# set term two then reject user@host# exit
将策略应用于 RP。
[edit protocols pim rp] user@host# set rp-register-policy [ reject_224_1_1_1 | accept_224_1_1_5 ] user@host# set local address 10.10.10.5
若要监视筛选器的操作,请运行 show pim statistics
命令。命令输出包含以下与筛选相关的字段:
RP 过滤源
Rx 联接/修剪已过滤
过滤后的 Tx 联接/修剪
Rx 寄存器消息过滤丢弃
Tx 寄存器消息过滤丢弃