Dans le cadre de la documentation associée à ce produit, nous nous efforçons d’utiliser un langage exempt de préjugés. Dans cet ensemble de documents, le langage exempt de discrimination renvoie à une langue qui exclut la discrimination en fonction de l’âge, des handicaps, du genre, de l’appartenance raciale de l’identité ethnique, de l’orientation sexuelle, de la situation socio-économique et de l’intersectionnalité. Des exceptions peuvent s’appliquer dans les documents si le langage est codé en dur dans les interfaces utilisateurs du produit logiciel, si le langage utilisé est basé sur la documentation RFP ou si le langage utilisé provient d’un produit tiers référencé. Découvrez comment Cisco utilise le langage inclusif.
Cisco a traduit ce document en traduction automatisée vérifiée par une personne dans le cadre d’un service mondial permettant à nos utilisateurs d’obtenir le contenu d’assistance dans leur propre langue. Il convient cependant de noter que même la meilleure traduction automatisée ne sera pas aussi précise que celle fournie par un traducteur professionnel.
Le filtrage de route est la base par laquelle les stratégies de Border Gateway Protocol (BGP) sont définies. Il y a nombre de manières de filtrer un ou plusieurs réseaux d'un pair BGP, y compris les informations d'accessibilité des couches réseau (NLRI) et AS_Path et attributs de Community. Ce document discute du filtrage basé sur NLRI seulement. Pour les informations sur la façon de filtrer basé sur AS_Path, référez-vous à l'utilisation des expressions régulières dans BGP. Pour des informations complémentaires, référez-vous à la section de filtrage BGP sur les études de cas de BGP.
Cisco vous recommande de connaître la configuration BGP de base. Pour plus d'informations, référez-vous à Études de cas BGP et Configuration de BGP.
Les informations de ce document sont basées sur le logiciel Cisco IOS® Version 12.2(28).
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. If your network is live, make sure that you understand the potential impact of any command.
Pour limiter les informations de routage que le routeur apprend ou annonce, vous pouvez utiliser des filtres basés sur les mises à jour de routage. Les filtres se composent d'une liste d'accès ou d'une liste de préfixes, qui est appliquée aux mises à jour des voisins et des voisins. Ce document explore ces options avec ce schéma de réseau :
Router 200 annonce ces réseaux à son homologue Router 100 :
Cet exemple de configuration permet au routeur 100 de refuser une mise à jour pour le réseau 10.10.10.0/24 et d'autoriser les mises à jour des réseaux 192.168.10.0/24 et 10.10.0.0/19 dans sa table BGP :
Routeur 100 |
---|
hostname Router 100 ! router bgp 100 neighbor 172.16.1.2 remote-as 200 neighbor 172.16.1.2 distribute-list 1 in ! access-list 1 deny 10.10.10.0 0.0.0.255 access-list 1 permit any |
Routeur 200 |
---|
hostname Router 200 ! router bgp 200 no synchronization network 192.168.10.0 network 10.10.10.0 mask 255.255.255.0 network 10.10.0.0 mask 255.255.224.0 no auto-summary neighbor 172.16.1.1 remote-as 100 |
Cette sortie de commande show ip bgp confirme les actions du routeur 100 :
Router 100# show ip bgp BGP table version is 3, local router ID is 172.16.1.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 10.10.0.0/19 172.16.1.2 0 0 200 i *> 192.168.10.0/24 172.16.1.2 0 0 200 i
Il peut être difficile d’utiliser une liste d’accès standard pour filtrer les super-réseaux. Supposons que le routeur 200 annonce les réseaux suivants :
Le routeur 100 souhaite recevoir uniquement le réseau agrégé 10.10.0.0/19 et filtrer tous les réseaux spécifiques.
Une liste d’accès standard, telle que access-list 1 permit 10.10.0.0 0.0.31.255, ne fonctionnera pas car elle autorise plus de réseaux que prévu. La liste de contrôle d’accès standard examine uniquement l’adresse réseau et ne peut pas vérifier la longueur du masque réseau. Cette liste d’accès standard permettra l’agrégation /19 ainsi que les réseaux /24 plus spécifiques.
Pour autoriser uniquement le super-réseau 10.10.0.0/19, utilisez une liste d’accès étendue, telle que access-list 101 permit ip 10.10.0.0 0.0.0.0 255.255.224.0 0.0.0.0. Référez-vous à access-list (IP extended) pour le format de la commande extended access-list.
Dans notre exemple, la source est 10.10.0.0 et le masque générique source 0.0.0.0 est configuré pour une correspondance exacte de la source. Un masque de 255.255.224.0 et un masque générique de 0.0.0.0 sont configurés pour une correspondance exacte du masque source. Si l’une d’elles (source ou masque) ne possède pas de correspondance exacte, la liste d’accès la refuse.
Cela permet à la commande extended access-list d'autoriser une correspondance exacte du numéro de réseau source 10.10.0.0 avec le masque 255.255.224.0 (et donc, 10.10.0.0/19). Les autres réseaux /24 plus spécifiques seront filtrés.
Note: Lors de la configuration des caractères génériques, 0 signifie qu'il s'agit d'un bit de correspondance exact et 1 est un bit de ne pas se soucier.
Voici la configuration du routeur 100 :
Routeur 100 |
---|
hostname Router 100 ! router bgp 100 !--- Output suppressed. neighbor 172.16.1.2 remote-as 200 neighbor 172.17.1.2 distribute-list 101 in ! ! access-list 101 permit ip 10.10.0.0 0.0.0.0 255.255.224.0 0.0.0.0 |
Le résultat de la commande show ip bgp du routeur 100 confirme que la liste d’accès fonctionne comme prévu.
Router 100# show ip bgp BGP table version is 2, local router ID is 172.16.1.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 10.10.0.0/19 172.16.1.2 0 0 200 i
Comme le montre cette section, les listes d’accès étendues sont plus pratiques à utiliser lorsque certains réseaux doivent être autorisés et d’autres non autorisés, au sein du même réseau principal. Ces exemples fournissent plus d'informations sur la manière dont une liste de contrôle d'accès étendue peut aider dans certaines situations :
Router 200 annonce ces réseaux à son homologue Router 100 :
Les exemples de configuration de cette section utilisent la commande ip prefix-list, qui permet au routeur 100 d'effectuer deux opérations :
Routeur 100 |
---|
hostname Router 100 ! router bgp 100 neighbor 172.16.1.2 remote-as 200 neighbor 172.16.1.2 prefix-list cisco in ! ip prefix-list cisco seq 10 permit 0.0.0.0/0 le 19 |
Routeur 200 |
---|
hostname Router 200 ! router bgp 200 no synchronization network 192.168.10.0 network 10.10.10.0 mask 255.255.255.0 network 10.10.0.0 mask 255.255.224.0 no auto-summary neighbor 172.16.1.1 remote-as 100 |
La sortie de la commande show ip bgp confirme que la liste de préfixes fonctionne comme prévu sur le routeur 100.
Router 100# show ip bgp BGP table version is 2, local router ID is 172.16.1.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 10.10.0.0/19 172.16.1.2 0 0 200 i
En conclusion, l'utilisation de listes de préfixes est la méthode la plus pratique pour filtrer les réseaux dans BGP. Dans certains cas, cependant— par exemple, lorsque vous voulez filtrer des réseaux impairs et pairs tout en contrôlant la longueur du masque—les listes d'accès étendues vous offrent une plus grande flexibilité et un meilleur contrôle que les listes de préfixes.
Vous pouvez filtrer ou bloquer une route par défaut, telle que 0.0.0.0/32 annoncée par l'homologue BGP, à l'aide de la commande prefix-list. Vous pouvez voir l'entrée 0.0.0.0 disponible à l'aide de la commande show ip bgp.
Router 100#show ip bgp BGP table version is 5, local router ID is 172.16.1.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 0.0.0.0 172.16.1.2 0 0 200 i
L'exemple de configuration de cette section est exécuté sur le routeur 100 à l'aide de la commande ip prefix-list.
Routeur 100 |
---|
hostname Router 100 ! router bgp 100 neighbor 172.16.1.2 remote-as 200 neighbor 172.16.1.2 prefix-list deny-route in ! ip prefix-list deny-route seq 5 deny 0.0.0.0/0 ip prefix-list deny-route seq 10 permit 0.0.0.0/0 le 32 |
Si vous exécutez show ip bgp après cette configuration, vous ne verrez pas l'entrée 0.0.0.0, qui était disponible dans la précédente sortie show ip bgp.