Introducción
Este documento describe las diferentes maneras de configurar las posibles maneras de bloquear o filtrar cierto tráfico multicast en switches Nexus 7000/9000. También se puede utilizar para conservar recursos de multidifusión. Uno de los ejemplos más comunes es la implementación de Microsoft de la operación Plug and Play universal que utiliza SSDP para comunicarse entre los servidores.
Prerequisites
Requirements
Cisco recomienda conocer cómo funciona la multidifusión de cualquier origen (ASM) con el uso del modo disperso de PIM en la plataforma Nexus.
Componentes Utilizados
La información que contiene este documento se basa en las siguientes versiones de software y hardware.
- Nexus 7K con F3/M3 LC que ejecuta Nexus 7.3(4)D1(1)
- Nexus N9K-C93180YC-EX/FX con 7.0(3)I7(9) o 9.3(5)
Nota: Los resultados pueden variar si el SW/HW es diferente.
La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.
Antecedentes
Esta es la lista de acrónimos utilizados:
RP - Punto de encuentro
FHR - Router de primer salto
LHR - Router de último salto
SRC - Fuente de multidifusión
REC: receptor de multidifusión
PACL - Lista de acceso a puertos
RACL - Routed Access-List
SVI - Interfaz virtual conmutada
ACL - Lista de control de acceso
Configurar
Topología genérica

Ejemplos de Configuración
Supongamos lo siguiente:
La dirección IP de RP es 192.168.10.1
La dirección IP de SRC es 172.16.10.100/32
Grupo SSDP: 239.255.255.250/239.255.255.253
Ahora, vamos a hablar de la configuración en función de la función del dispositivo. Por ejemplo, FHR, LHR, RP y más.
FHR: Normalmente, SRC de multidifusión se conecta directamente aquí
1. Filtrar registro hacia el RP existente.
ip pim rp-address 192.168.10.1 route-map filter-registration
!
Route-map filter-registration deny 5
match ip multicast source 172.16.10.100/32 group 239.255.255.250/32
// Above line is specific to SRC/GROUP pair
Route-map filter-registration deny 7
match ip multicast group 239.255.255.250/32
// Above line is for any SRC and specific group
!
Route-map filter-registration permit 100
Match ip multicast group 224.0.0.0/4
|
2. Filtrar el registro hacia el RP definiendo un RP falso (que no existe (por ejemplo, 1.1.1.1) para los grupos SSDP; FHR, en este caso, asume la función de RP.
ip route 1.1.1.1/32 Null0
!
ip pim rp-address 1.1.1.1 route-map SSDP_groups
!
Route-map SSDP_groups permit 5
match ip multicast group 239.255.255.250/32
Route-map SSDP_groups permit 10
match ip multicast group 239.255.255.253/32
Route-map SSDP_groups deny 20
match ip multicast group 224.0.0.0/4
!
ip pim rp-address 192.168.10.1 route-map all_other_groups
!
Route-map all_other_groups deny 5
match ip multicast group 239.255.255.250/32
Route-map all_other_groups deny 10
match ip multicast group 239.255.255.253/32
Route-map all_other_groups permit 20
match ip multicast group 224.0.0.0/4
|
Controle lo siguiente:
Nexus9K_OR_N7K# show ip pim rp
PIM RP Status Information for VRF "default"
BSR disabled
Auto-RP disabled
BSR RP Candidate policy: None
BSR RP policy: None
Auto-RP Announce policy: None
Auto-RP Discovery policy: None
RP: 192.168.10.1, (0),
uptime: 00:00:27 priority: 0,
RP-source: (local), group-map: Filter-registration,
group rangs:
224.0.0.0/4
239.255.255.253/32 (deny)
239.255.255.250/32 (deny)
Nexus9K_OR_N7K# show ip mroute
IP Multicast Routing Table for VRF "default"
(172.16.10.100/32, 239.255.255.250/32), uptime: 00:04:12, ip pim
Incoming interface: Vlan10, RPF nbr: 172.16.10.100
Outgoing interface list: (count: 0)
Nexus9K_OR_N7K# show system internal mfwd event-history pkt
pkt events for MCASTFWD process
2021 Jan 1 11:11:41.792316 mcastfwd [21914]: [21933]: Create state for (172.16.10.100, 239.255.255.250)
Nexus9K_OR_N7K # show ip pim internal event-history null-register
2021 Jan 01 11:15:19.095711: E_DEBUG pim [21935]: Null Register not sent for (172.16.10.100/32, 239.255.255.250/32) yes
|
Este resultado confirma que FHR no está registrando el flujo en RP.
LHR: Normalmente, la REC de multidifusión se conecta directamente aquí
3. Aplicación de la política IGMP en SVI de entrada (donde reside REC). La idea aquí es filtrar los informes de afiliación IGMP para los grupos SSDP de REC.
ip pim rp-address 192.168.10.1 group-list 224.0.0.0/4
!
route-map filter-SSDP-joins deny 5
match ip multicast group 239.255.255.250/32
route-map filter-SSDP-joins deny 6
match ip multicast group 239.255.255.253/32
route-map filter-SSDP-joins permit 100
match ip multicast group 224.0.0.0/4
!
Interface VlanXX
ip igmp report-policy filter-SSDP-joins
|
Controle lo siguiente:
Nexus9K_OR_N7K (config)# show ip mroute 239.255.255.250
IP Multicast Routing Table for VRF "default"
Group not found
!
Nexus9K_OR_N7K (config)# show ip igmp snooping groups vlan 44
Type: S - Static, D - Dynamic, R - Router port, F - Fabricpath core port
Vlan Group Address Ver Type Port list
44 */* - R Vlan44
44 239.255.255.250 v2 D Eth1/5
!
Nexus9K_OR_N7K (config)# show ip igmp internal event-history debugs
debugs events for IGMP process
2021 Jan 1 11:52:21.277915 igmp [1125]: : Filtered group 239.255.255.250
2021 Jan 1 11:52:21.277903 igmp [1125]: : Received v2 Report for 239.255.255.250 from 172.16.44.100 (Vlan44)
|
Este resultado confirma que el informe de afiliación IGMP se ha filtrado y que la unión (*,G) no se ha enviado al RP.
PIM: router habilitado que actúa como FHR/LHR
Puede utilizar una combinación de las opciones 1, 2 y 3, en función de sus requisitos.
Por ejemplo:
4. Filtrar el registro hacia el RP existente (rol FHR):
ip pim rp-address 192.168.10.1 route-map filter-registration
!
Route-map filter-registration deny 5
match ip multicast source 172.16.10.100/32 group 239.255.255.250/32
Route-map filter-registration deny 7
match ip multicast group 239.255.255.250/32
!
Route-map filter-registration permit 100
Match ip multicast group 224.0.0.0/4
|
5. Política IGMP para filtrar los informes de pertenencia a IGMP desde REC (función LHR).
ip pim rp-address 192.168.10.1 group-list 224.0.0.0/4
!
route-map filter-SSDP-joins deny 5
match ip multicast group 239.255.255.250/32
route-map filter-SSDP-joins deny 6
match ip multicast group 239.255.255.253/32
route-map filter-SSDP-joins permit 100
match ip multicast group 224.0.0.0/4
!
Interface VlanXX
ip igmp report-policy filter-igmp-joins
|
Controle lo siguiente:
Prácticamente igual que la verificación realizada en los puntos C y D mencionados anteriormente.
Show ip mroute
Show ip pim rp
Show ip pim internal event-history join-prune
Show ip igmp internal event-history debugs
|
RP - Este es el punto de encuentro
6. Política de registro para bloquear el registro del grupo SSDP de FHR.
ip pim rp-address 192.168.10.1 group-list 224.0.0.0/4
ip pim register-policy all_groups
!
Route-map all_groups deny 5
match ip multicast group 239.255.255.250/32
Route-map all_groups deny 10
match ip multicast group 239.255.255.253/32
Route-map all_groups permit 20
match ip multicast group 224.0.0.0/4
|
Controle lo siguiente:
Nexus9K_OR_N7K (config)# show ip mroute 239.255.255.250
IP Multicast Routing Table for VRF "default"
Group not found
!
Nexus9K_OR_N7K (config)# show ip pim internal event-history data-register-receive
2021 Jan 08 03:33:06.353951: E_DEBUG pim [1359]: Register disallowed by policy
2021 Jan 08 03:33:06.353935: E_DEBUG pim [1359]: Received DATA Register from 172.16.10.1 for (172.16.10.100/32, 239.255.255.250/32) (pktlen 1028)
2021 Jan 08 03:29:42.602744: E_DEBUG pim [1359]: Add new route (172.16.10.100/32, 239.1.1.1/32) to MRIB, multi-route TRUE
F241.01.13-C93180YC-EX-1(config)# show ip pim internal event-history null-register
2021 Jan 08 03:35:40.966617: E_DEBUG pim [1359]: Send Register-Stop to 172.16.10.1 for (172.16.10.100/32, 239.255.255.250/32)
2021 Jan 08 03:35:40.966613: E_DEBUG pim [1359]: Register disallowed by policy
2021 Jan 08 03:35:40.966597: E_DEBUG pim [1359]: Received NULL Register from 172.16.10.1 for (172.16.10.100/32, 239.255.255.250/32) (pktlen 20)
|
Este resultado confirma que el RP está bloqueando el registro para el grupo 239.255.255.250.
7. Aplicación de la política de unión-separación en el RP - tanto la unión pim (*,G) como la unión (S,G) para el grupo SSDP solamente.
ip pim rp-address 192.168.10.1 group-list 224.0.0.0/4
ip pim register-policy all_groups
!
Route-map all_groups deny 5
match ip multicast group 239.255.255.250/32
Route-map all_groups deny 10
match ip multicast group 239.255.255.253/32
Route-map all_groups permit 20
match ip multicast group 224.0.0.0/4
!
Interface Ethernet/Y
ip pim sparse-mode
ip pim jp-policy all_groups
|
Controle lo siguiente:
Nexus9K_OR_N7K # show ip mroute 239.255.255.253
IP Multicast Routing Table for VRF "default"
Group not found
!
F241.01.13-C93180YC-EX-1# show ip pim internal event-history join-prune
2021 Jan 08 03:53:41.643419: E_DEBUG pim [1359]: Join disallowed by inbound JP policy
|
Este resultado confirma que (*,G) la unión PIM está bloqueada por el RP.
Configuración de Conservación de Entradas de HW para Multicast
Aunque todas las opciones descritas en las secciones A, B o C; evitar que FHR, LHR o FHR/LHR registren el flujo en RP o evitar el envío de la unión PIM (*,G) hacia el RP respectivamente; todavía se puede crear una entrada mroute o snooping y consume entradas de HW multicast.
Nota: Puede utilizar RACL o PACL en interfaces SVI de entrada o de capa 2/canales de puerto/canales de puerto VPC en caso de que VPC esté configurado. Si SRC/REC se pulverizan en diferentes interfaces VLAN o L2, también significa que RACL o PACL deben aplicarse en todas ellas. Sin embargo, dependiendo del hardware/software (principalmente debido a la limitación del hardware), los resultados pueden variar.
PACL
Configure PACL en el puerto de capa 2 de entrada o en el canal de puerto o en el canal de puerto VPC para bloquear el tráfico SSDP o la creación de la entrada (S, G) en FHR.
Nota: En función del hardware utilizado (por ejemplo, Nexus N9000), es posible que sea necesario tallar TCAM antes (lo que requiere una recarga) para aplicar el PACL.
Por ejemplo:
ip access-list BlockAllSSDP
Statistics per-entry
10 deny ip any 239.255.255.250/32
20 deny ip any 239.255.255.253/32
30 permit ip any any
!
Interface Ethernet X/Y
Or
Interface port-channel XX
ip port-access group BlockAllSSDP in
|
Controle lo siguiente:
F241.01.13-C93180YC-EX-1# sh ip mroute 239.255.255.250
IP Multicast Routing Table for VRF "default"
Group not found
!
show ip access-lists BlockAllSSDP
IP access list BlockAllSSDP
statistics per-entry
10 deny ip any 239.255.255.250/32 [match=3] -> Drop counters
20 deny ip any 239.255.255.253/32 [match=0]
30 permit ip any any [match=0]
|
Dado que ambos puertos de pertenencia a IGMP/tráfico multicast están bloqueados a través de PACL, no ve ninguna entrada mroute de snooping. Básicamente, PACL los está descartando a ambos.
RACL
Puede configurar RACL en el SVI de ingreso donde existe SRC pero dependiendo del SW/HW utilizado; (S, G) todavía se puede crear la entrada o el tráfico se puede reenviar a otras VLAN locales.
ip access-list BlockAllSSDP
Statistics per-entry
10 deny ip any 239.255.255.250/32
20 deny ip any 239.255.255.253/32
30 permit ip any any
!
Interface VlanXX
ip port-access group BlockAllSSDP in
|
Controle lo siguiente:
Es prácticamente igual que PACL, pero la opción RACL no puede proporcionar los mismos resultados que PACL; principalmente su limitación de HW se menciona anteriormente también.
COPP
También puede bloquear SSDP en COPP. Este es un ejemplo de configuración:
class-map type control-plane match-any nossdp
match access-group name nossdp
policy-map type control-plane nossdp
class nossdp
police cir 0 bps bc 0 bytes conform transmit violate drop control-plane dynamic
service-policy-dyn input nossdp
!
ip access-list nossdp
statistics per-entry
10 permit ip any 239.255.255.250/32
20 permit igmp any 239.255.255.250/32
30 permit pim any 239.255.255.250/32
|
Límite de multidifusión global
A partir de Cisco NX-OS versión 10.2(1), se admite la configuración de multidifusión de límites globales.
Debe configurar el {ip | ipv6} multicast group-range prefix-list <prefix-list-name> command en el modo de configuración VRF para definir un rango global de canales y grupos de multidifusión IP que se permitirán o denegarán para el límite de multidifusión global. Este comando se utiliza para inhabilitar las acciones del protocolo multicast y el reenvío de tráfico para grupos o canales no autorizados para todas las interfaces en un router. La lista de prefijos configura el límite. Abajo se brinda un ejemplo de configuración:
vrf context enterprise
ip multicast group-range prefix-list test
|
https://www.cisco.com/c/en/us/td/docs/dcn/nx-os/nexus9000/102x/configuration/multicast-routing/cisco-nexus-9000-series-nx-os-multicast-routing-configuration-guide-release-102x/m-overview.html#concept_29A33F30E7F84F7AA20C8D7D1A22ED98