Introdução
Este documento descreve as diferentes maneiras de configurar as possíveis maneiras de bloquear ou filtrar determinado tráfego multicast em switches Nexus 7000/9000. Ele também pode ser usado para conservar recursos multicast. Um dos exemplos comuns é a implementação da Microsoft da operação universal plug and play que usa SSDP para se comunicar entre os servidores.
Pré-requisitos
Requisitos
A Cisco recomenda que você saiba como o Any-Source Multicast (ASM) com o uso do modo PIM Esparso funciona na plataforma Nexus.
Componentes Utilizados
As informações neste documento são baseadas nestas versões de software e hardware:
- Nexus 7K com LC F3/M3 executando NXOS 7.3(4)D1(1)
- Nexus N9K-C93180YC-EX/FX com 7.0(3)I7(9) ou 9.3(5)
Note: Os resultados podem variar se o software/hardware for diferente.
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.
Informações de Apoio
Aqui está a lista dos acrônimos usados:
RP - Ponto de reunião
FHR - Roteador First Hop
LHR - Roteador de último salto
SRC - Origem Multicast
REC - Receptor Multicast
PACL - Port Access-List (Lista de acesso à porta)
RACL - Routed Access-List (Lista de acesso roteada)
SVI - Interface virtual comutada
ACL - Access Control List (Lista de controle de acesso)
Configurar
Topologia Genérica

Exemplos de configuração
Vamos supor que isso:
O endereço IP do RP é 192.168.10.1
O endereço IP do SRC é 172.16.10.100/32
Grupo SSDP: 239.255.255.250/239.255.255.253
Agora, vamos discutir a configuração com base na função do dispositivo. Por exemplo, FHR, LHR, RP e outros.
FHR - Normalmente, o SRC multicast é conectado diretamente aqui
1. Filtre o registro em direção ao 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 o registro em direção ao PR, definindo um RP falso (que não existe (por exemplo, 1.1.1.1) para grupos SSDP; A FHR, neste caso, assume o papel 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
|
Verifique:
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
|
Essa saída confirma que o FHR não está registrando o fluxo para RP.
LHR - Normalmente, o REC multicast é conectado diretamente aqui
3. Aplicando a política IGMP no SVI de ingresso (onde o REC reside). A ideia aqui é filtrar os relatórios de associação IGMP para grupos SSDP do 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
|
Verifique:
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)
|
Esta saída confirma que o relatório de associação IGMP é filtrado e a junção (*,G) não é enviada ao RP.
PIM - Roteador Habilitado Atuando como FHR/LHR
Você pode usar uma combinação das opções 1, 2 e 3, dependendo de seus requisitos.
Por exemplo:
4. Filtrar o registro para o PR (função FHR) 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
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 relatórios de associação IGMP do REC (função 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
|
Verifique:
Praticamente o mesmo que a verificação feita nos pontos C e D anteriormente referidos.
Show ip mroute
Show ip pim rp
Show ip pim internal event-history join-prune
Show ip igmp internal event-history debugs
|
RP - Este é o ponto de encontro
6. Política de registro para bloquear o registro do grupo SSDP da 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
|
Verifique:
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)
|
Essa saída confirma que o RP está bloqueando o registro do grupo 239.255.255.250.
7. Aplicando a política join-prune no RP - a junção pim (*,G) e a junção (S,G) somente para o grupo SSDP.
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
|
Verifique:
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
|
Esta saída confirma que (*,G) a junção PIM está bloqueada pelo RP.
Configurar Conservar Entradas de HW para Multicast
Embora todas as opções discutidas nas seções A, B ou C; Impedir que FHR, LHR ou FHR/LHR registrem o fluxo no RP ou impedir o envio de PIM Join (*,G) para o RP, respectivamente; uma entrada mroute ou snooping ainda pode ser criada e consome entradas de HW multicast.
Note: Você pode usar RACL ou PACL em interfaces de entrada SVI ou Camada 2/canais de porta/canais de porta VPC caso o VPC esteja configurado. Se o SRC/REC for pulverizado em diferentes interfaces VLAN ou L2, isso também significa que o RACL ou o PACL precisa ser aplicado em todos eles. Mas, dependendo do HW/SW (principalmente devido à limitação de HW), os resultados podem variar.
PACL
Configure o PACL na porta de entrada da Camada 2 ou no canal de porta ou no canal de porta do VPC para bloquear o tráfego SSDP ou a criação de entrada (S, G) no FHR.
Note: Dependendo do HW usado (por exemplo, Nexus N9000), o TCAM pode precisar ser gravado antes (o que requer recarregamento) para aplicar o PACL.
Por exemplo:
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
|
Verifique:
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]
|
Como o tráfego multicast/as portas de associação IGMP são bloqueados via PACL, você não vê nenhuma entrada de snooping e mroute. Basicamente, o PACL está descartando os dois.
RACL
Você pode configurar o RACL no SVI de entrada onde o SRC existir, mas dependendo do SW/HW usado; (S, G) ainda pode ser criada ou o tráfego pode ser encaminhado para outras VLANs locais.
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
|
Verifique:
É praticamente o mesmo que o PACL, mas a opção RACL não pode fornecer os mesmos resultados que o PACL; sua limitação de HW também é mencionada anteriormente.
COPP
Você também pode bloquear o SSDP no COPP. Este é um exemplo de configuração:
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
|
Limite global de multicast
Começando com o Cisco NX-OS versão 10.2(1), a configuração Global Boundary Multicast é suportada.
Você precisa configurar o {ip comando | ipv6} multicast group-range prefix-list <prefix-list-name> no modo de configuração VRF para definir um intervalo global de grupos e canais de multicast IP a serem permitidos ou negados para o limite de multicast global. Esse comando é usado para desativar ações de protocolo multicast e encaminhamento de tráfego para grupos ou canais não autorizados para todas as interfaces em um roteador. A lista de prefixos configura o limite. Uma configuração de exemplo é fornecida a seguir:
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