Introduction
Ce document décrit les différentes façons de configurer les moyens possibles pour bloquer ou filtrer certains trafics de multidiffusion sur les commutateurs Nexus 7000/9000. Il peut également être utilisé pour conserver les ressources de multidiffusion. L'un des exemples courants est la mise en oeuvre par Microsoft d'une opération Plug-and-Play universelle qui utilise le protocole SSDP pour communiquer entre les serveurs.
Conditions préalables
Exigences
Cisco recommande que vous connaissiez la façon dont Any-Source Multicast (ASM) fonctionne avec l'utilisation du mode PIM Sparse sur la plate-forme Nexus.
Composants utilisés
Les informations contenues dans ce document sont basées sur les versions de matériel et de logiciel suivantes :
- Nexus 7K avec LC F3/M3 exécutant NXOS 7.3(4)D1(1)
- Nexus N9K-C93180YC-EX/FX avec 7.0(3)I7(9) ou 9.3(5)
Remarque : Les résultats peuvent varier si le logiciel et le matériel sont différents.
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Si votre réseau est en ligne, assurez-vous de bien comprendre l’incidence possible des commandes.
Informations générales
Voici la liste des acronymes utilisés :
RP - Rendezvous Point
FHR - Routeur de premier saut
LHR - Routeur de dernier saut
SRC - Source de multidiffusion
REC - Récepteur multidiffusion
PACL - Liste d'accès aux ports
RACL - Routed Access-List
SVI - Interface virtuelle commutée
ACL - Liste de contrôle d'accès
Configurer
Topologie générique

Exemples de configuration
Supposons que nous soyons en présence de :
L'adresse IP du RP est 192.168.10.1
L'adresse IP de SRC est 172.16.10.100/32
Groupe SSDP : 239.255.255.250/239.255.255.253
Maintenant, nous allons discuter de la configuration basée sur le rôle du périphérique. Par exemple, FHR, LHR, RP, etc.
FHR - SRC multidiffusion est généralement connecté directement ici
1. Filtrez l'enregistrement vers le RP existant.
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. filtrer l’enregistrement vers le RP en définissant un RP fictif (qui n’existe pas (par exemple, 1.1.1.1) pour les groupes SSDP ; Dans ce cas, FHR assume le rôle 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
|
Vérifier :
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
|
Ce résultat confirme que FHR n'enregistre pas le flux sur RP.
LHR : généralement, le REC multidiffusion est directement connecté ici
3. Application de la politique IGMP sur l'interface SVI d'entrée (où réside REC). L'idée ici est de filtrer les rapports d'adhésion IGMP pour les groupes SSDP à partir 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
|
Vérifier :
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)
|
Ce résultat confirme que le rapport d'adhésion IGMP est filtré et que la jointure (*, G) n'est pas envoyée au RP.
PIM - Routeur activé agissant en tant que FHR/LHR
Vous pouvez utiliser une combinaison des options 1, 2 et 3, selon vos besoins.
Exemple :
4. Filtrer l'enregistrement vers le RP existant (rôle 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. Politique IGMP pour filtrer les rapports d'adhésion IGMP de REC (rôle 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
|
Vérifier :
Presque la même chose que la vérification effectuée aux points C et D mentionnés précédemment.
Show ip mroute
Show ip pim rp
Show ip pim internal event-history join-prune
Show ip igmp internal event-history debugs
|
RP - C'est Rendezvous Point
6. Politique d’enregistrement pour bloquer l’enregistrement du groupe SSDP à partir 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
|
Vérifier :
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)
|
Ce résultat confirme que RP bloque l'enregistrement pour le groupe 239.255.255.250.
7. Application de la stratégie de jointure-élagage sur le RP : jointure pim (*, G) et jointure (S, G) pour le groupe SSDP uniquement.
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
|
Vérifier :
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
|
Ce résultat confirme (*, G) que la jonction PIM est bloquée par RP.
Configuration de la conservation des entrées matérielles pour la multidiffusion
Bien que toutes les options discutées dans les sections A, B ou C ; empêcher FHR, LHR ou FHR/LHR d'enregistrer le flux au RP ou empêcher l'envoi de PIM Join (*, G) vers le RP, respectivement ; une entrée mroute ou snooping peut toujours être créée et consomme des entrées matérielles de multidiffusion.
Remarque : Vous pouvez utiliser RACL ou PACL sur les interfaces SVI ou Layer2 d'entrée/port-channels/port-channels VPC au cas où VPC est configuré. Si SRC/REC sont dispersés dans différentes interfaces VLAN ou L2, cela signifie également que RACL ou PACL doit être appliqué sur toutes ces interfaces. Cependant, les résultats peuvent varier en fonction du matériel et du logiciel (principalement en raison des limites matérielles).
PACL
Configurez PACL sur le port de couche 2 d'entrée ou le port-channel ou le port-channel VPC pour bloquer le trafic SSDP ou la création d'une entrée (S, G) sur FHR.
Remarque : Selon le matériel utilisé (par exemple, Nexus N9000), le TCAM doit être gravé avant (ce qui nécessite un rechargement) pour appliquer la liste de contrôle d'accès.
Exemple :
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
|
Vérifier :
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]
|
Puisque les deux ports d'adhésion de trafic multicast/IGMP sont bloqués via PACL, vous ne voyez aucune entrée mroute de surveillance. Essentiellement, PACL les supprime toutes les deux.
RACL
Vous pouvez configurer RACL sur l'interface SVI d'entrée là où SRC existe mais en fonction du logiciel/matériel utilisé ; (S, G) peut toujours être créée ou le trafic peut être transféré vers d'autres VLAN locaux.
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
|
Vérifier :
Il est à peu près identique à PACL, mais l'option RACL ne peut pas fournir les mêmes résultats que PACL ; La plupart de ses limites matérielles sont également mentionnées plus haut.
COPP
Vous pouvez également bloquer le protocole SSDP sur COPP. Voici un exemple de configuration:
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 de multidiffusion globale
À partir de la version 10.2(1) de Cisco NX-OS, la configuration de multidiffusion de limite globale est prise en charge.
Vous devez configurer le {ip | ipv6} multicast group-range prefix-list <prefix-list-name> en mode de configuration VRF pour définir une plage globale de groupes et de canaux de multidiffusion IP à autoriser ou refuser pour la limite de multidiffusion globale. Cette commande est utilisée pour désactiver les actions de protocole de multidiffusion et le transfert de trafic pour les groupes ou les canaux non autorisés pour toutes les interfaces d'un routeur. La liste de préfixes configure la limite. Un exemple de configuration est fourni ci-dessous :
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