Introduction
Ce document décrit comment configurer les routages qui sont appliqués avec la commande redistribute des protocoles de routage dynamique.
Conditions préalables
Exigences
Aucune exigence spécifique n'est associée à ce document.
Composants utilisés
Les informations contenues dans ce document sont basées sur la version 12.3 du logiciel Cisco IOS®.
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
Cette section fournit une vue d’ensemble des cartes de routage utilisées dans la plate-forme logicielle Cisco IOS.
Bases des route-maps
Les route-maps ont beaucoup de caractéristiques en commun avec les listes de contrôle d'accès (ACL) très connues. Voici certaines des caractéristiques communes aux deux mécanismes :
- Il s'agit d'une séquence ordonnée d'instructions individuelles ; chacun a un résultat permit ou deny. L'évaluation de l'ACL ou des route-maps consiste en un balayage de liste, dans un ordre prédéterminé, et en une évaluation des critères de chaque instruction qui correspond. Une analyse de liste est abandonnée une fois que la première correspondance d'instruction est trouvée, et une action associée à la correspondance d'instruction est exécutée.
- Il s'agit de mécanismes génériques : les critères correspondent et l'interprétation des correspondances est dictée par la manière dont ils sont appliqués. La même route-map appliquée à différentes tâches peut avoir une interprétation différente.
Voici les différences possibles entre les cartes de routage et les listes de contrôle d’accès :
- Les cartes de routage utilisent fréquemment des listes de contrôle d’accès comme critères correspondants.
- Le principal résultat de l’évaluation d’une liste d’accès est une réponse « oui » ou « non ». Une liste de contrôle d’accès autorise ou refuse les données d’entrée. Appliquée à la redistribution, une liste de contrôle d’accès détermine si une route particulière peut (route correspond à l’instruction d’autorisation des listes de contrôle d’accès) ou ne peut pas (instruction de refus) être redistribuée. Les route-maps classiques permettent non seulement (certaines) routes redistribuées, mais modifient également les informations associées à la route lorsqu'elle est redistribuée dans un autre protocole.
- Les cartes de routage sont plus flexibles que les listes de contrôle d’accès et peuvent vérifier les routes en fonction de critères que les listes de contrôle d’accès ne peuvent pas vérifier. Par exemple, une route-map peut vérifier si le type de route est interne ou s'il comporte une balise spécifique.
- Chaque ACL finit avec une instruction de refus implicite, par convention de conception ; il n'y a aucune convention semblable pour les route-maps. Si la fin d'une route-map est atteinte lorsque des tentatives de correspondance ont été faites, le résultat dépend de l'application spécifique de la route-map. Heureusement, les route-maps qui sont appliquées à la redistribution se comportent de la même manière que les ACL : si la route ne correspond à aucune clause d'une route-map, alors la redistribution de route est refusée, comme si la route-map contenait une instruction de refus à la fin.
Le commande de protocole dynamique redistribute configuration vous permet d'appliquer soit une ACL soit route-map. Les différences décrites dans cette section identifient quand utiliser une route-map dans le processus de redistribution. Les route-maps sont préférées si vous avez l'intention de modifier les informations de route pendant la redistribution ou si vous avez besoin de capacités plus puissantes pour correspondre à la capacité qu'une ACL peut fournir. Réciproquement, si vous devez simplement permettre sélectivement certaines routes en fonction de leur préfixe ou de leur masque, Cisco recommande que vous utilisiez une ACL (ou une liste de préfixe équivalente) directement dans la commande redistribute. Si vous utilisez une route-map pour permettre sélectivement certaines routes en fonction de leur préfixe ou de leur masque, vous utilisez typiquement davantage de commandes de configuration pour atteindre le même but. Les route-maps sont toujours appliquées pour le trafic entrant et la route-map n'exerce aucun effet sur le trafic sortant.
Open Shortest Path First
Il s’agit d’une route-map OSPF-to-EIGRP (Open Shortest Path First to Enhanced Interior Gateway Routing Protocol) type, appliquée à l’aide d’une commande redistribute :
!
router eigrp 1
redistribute ospf 1 route-map ospf-to-eigrp
default-metric 20000 2000 255 1 1500
!--- Output suppressed.
!
route-map ospf-to-eigrp deny 10
match tag 6
match route-type external type-2
!
route-map ospf-to-eigrp permit 20
match ip address prefix-list pfx
set metric 40000 1000 255 1 1500
!
route-map ospf-to-eigrp permit 30
set tag 8
!
Voici les observations importantes concernant cet exemple :
- Les clauses de feuille de route sont numérotées. Dans cet exemple, les clauses portent les numéros d'ordre 10, 20 et 30. Les numéros d'ordre vous permettent d'effectuer les actions suivantes :
- Supprimer facilement une clause spécifique sans affecter d'autres parties de la route-map.
- Insérer une nouvelle clause entre deux clauses actuelles.
Cisco recommande de numéroter les clauses par intervalles de 10 pour réserver des espaces de numérotation afin d'insérer des clauses à l'avenir, si nécessaire.
- Les route-maps peuvent avoir des clauses permit et deny. Dans route-map ospf-to-eigrp, il y a une clause de refus (avec le numéro de séquence 10) et deux clauses d'autorisation. La clause de refus rejette toutes les correspondances de route de la redistribution. Par conséquent, ces règles s'appliquent :
- Si vous utilisez une ACL dans une clause d'autorisation de route-map, les routes autorisées par l'ACL sont redistribuées.
- Si vous utilisez une ACL dans une clause de refus de route-map, les routes autorisées par l'ACL ne sont pas redistribuées.
- Si vous utilisez une liste de contrôle d'accès dans une clause d'autorisation ou de refus de route-map et que la liste de contrôle d'accès refuse une route, la correspondance de la clause route-map est introuvable et la clause route-map suivante est évaluée.
- Chaque clause de route-map a deux types de commandes :
- match : sélectionne les routes auxquelles cette clause doit être appliquée.
- set — Modifie les informations à redistribuer dans le protocole cible.
Pour chaque route redistribuée, le routeur évalue d'abord la commande match d'une clause dans la route-map. Si les critères correspondants aboutissent, la route est redistribuée ou rejetée comme l'exige la clause permit ou deny, et certains de ses attributs sont modifiés par des commandes set. Si les critères correspondants échouent, alors cette clause n'est pas applicable à la route, et le logiciel Cisco IOS procède à l'évaluation de la route par rapport à la clause suivante dans la route-map. L’analyse de la route-map se poursuit jusqu’à ce qu’une clause soit trouvée dont la ou les commandes correspondent à la route ou jusqu’à ce que la fin de la route-map soit atteinte.
- Une commande match ou set dans chaque clause peut être manquée ou répétée plusieurs fois, si une de ces conditions existe :
- Si plusieurs commande match sont présentes dans une clause, toutes doivent réussir pour une route indiquée afin que cette route corresponde à la clause (en d'autres termes, l'algorithme logique AND est appliqué à plusieurs commandes match).
- Si une commande match fait référence à plusieurs objets dans une commande, l'une ou l'autre correspond (l'algorithme logique OR est appliqué). Par exemple, dans les commandes match ip address 101 121, une route est autorisée si elle est autorisée par la liste d’accès 101 ou la liste d’accès 121.
- Si la commande match n'est pas présente, toutes les routes correspondent à la clause. Dans l'exemple précédent, toutes les routes qui atteignent la clause 30 correspondent ; donc, l'extrémité de la route-map n'est jamais atteinte.
- Si une commande set n'est pas présente dans une clause d'autorisation de route-map, la route est redistribuée sans modification de ses attributs actuels.
Ne configurez pas de commande set dans une clause deny route-map car la clause deny interdit la redistribution de route. Il n'y a aucune information à modifier.
Une clause route-map sans commande matchset exécute une action. Une clause permit vide permet une redistribution du reste des routes sans modification. Une clause deny vide ne permet pas une redistribution d'autres routes (il s'agit de l'action par défaut si une route-map est complètement analysée mais qu'aucune correspondance explicite n'est trouvée).
Selon les informations de cette section, l'exemple de route-map OSPF à EIGRP précédent effectue ceci :
- Interdit la redistribution de toutes les routes OSPF externes de Type 2 avec balise 6 définie.
- Redistribue dans EIGRP toutes les routes qui correspondent à la liste de préfixes pfx, avec cinq valeurs métriques : 40000, 1000, 255, 1 et 1500.
- Redistribue toutes autres routes et définit leurs balises sur 8 (valeur par défaut).
Commandes utilisées dans les route-maps appliquées à la redistribution
Cette section contient ces sujets :
Configurez les commandes match et set dans les route-maps
Les route-maps sont des mécanismes génériques que vous pouvez utiliser dans de nombreuses configurations, y compris la commande redistribute décrite précédemment. Par exemple, vous pouvez configurer la commande match length dans la route-map pour que le PBR indique qu'une action spéciale est exécutée quand les paquets d'une longueur spécifique sont transférés. Cependant, vous n'utiliseriez pas la commande match length dans les route-maps appliquées à la redistribution.
Vous pouvez configurer les commandes match et set dans une route-map qui n'est pas prise en charge (ou n'a pas effet) dans un contexte où une route-map est appliquée (ou destinée à être appliquée ultérieurement). Un exemple de cette situation peut être la commande match length utilisée dans une route-map appliquée à la redistribution. Dans la redistribution, une route-map est appliquée à chaque route installée sur la table de routage, par protocole spécifié dans la commande redistribute. Par conséquent, quand un routeur exécute une route-map, il interprète seulement les commandes qui semblent raisonnables dans le cadre de l'application de la route-map. Dans cet exemple, la commande match length mentionnée dans la route-map de redistribution n'a aucun effet sur la redistribution. Elle reste dans la configuration de la route-map et peut être vue dans la configuration en cours du routeur. La redistribution de route n'est pas affectée, cependant, que la commande soit présente dans la route-map ou pas.
Par conséquent, le routeur permet la configuration de toutes sortes de commandes match et set, mais elles doivent être appliquées logiquement à la situation. Sinon, la configuration peut être très déroutante ou peut effectuer des tâches incorrectes.
N'utilisez pas de commandes sans effet dans un contexte de route-map, même si elles semblent inoffensives, à cause de ces problèmes :
-
Les commandes sans l'effet peuvent obscurcir ce que vous voulez accomplir. Le peut causer de la confusion.
-
Les commandes qui ne sont pas actuellement prises en charge peuvent le devenir dans les versions futures du logiciel Cisco IOS. Il peut y avoir des modifications indésirables dans le comportement de la route-map après de futures mises à niveau logicielles.
-
Toutes les commandes ne sont pas complètement inoffensives ; par exemple, la commande set metric +/-, qui spécifie la modification relative de métrique et qui est utilisée avec l'annonce de route BGP. Elle peut prendre la métrique actuelle d'une route et l'augmenter ou la diminuer d'une valeur spécifiée avant de la propager.
La forme +/- de cette commande n'est pas prise en charge par certains protocoles, voir Prise en charge de la carte de routage EIGRP et dans d'autres scénarios, elle est réellement interprétée comme la commande set metric avec le signe omis. Par exemple, considérez cette route-map :
!--- This redistribution route-map is very dangerous!
route-map ospf-to-ospf permit 10
set metric +2
!
Cette configuration semble redistribuer toutes les routes d'un processus OSPF à un autre, alors qu'elle augmente la métrique de toutes les routes de deux. Cependant, il définit la métrique de toutes les routes comme étant la même, égale à 2. Ceci est inattendu dans la configuration du routeur.
Cette route-map fournit un effet encore plus contre-intuitif :
!--- This redistribution route-map is very dangerous!
route-map ospf-to-ospf permit 10
set metric +2
!
Plutôt que diminuer la métrique des routes redistribuées, cette configuration définit en fait la métrique sur 367 (une valeur positive, car une métrique négative n'est pas possible quand la commande set metric est interprétée sans signe).
Nature à deux protocoles de la redistribution de feuille de route
Les route-maps appliquées à la redistribution fonctionnent avec deux protocoles de routage :
Chaque protocole de routage peut prendre en charge son propre ensemble d'attributs de route.
Dans la configuration de route-map :
-
Les commandes match de route-map vérifient que les attributs d'une route sont pris en charge par le protocole qui a fourni la route initiale pour la redistribution.
-
Les commandes set de feuille de route modifient les attributs des routes qui sont prises en charge par le protocole auquel les routes sont redistribuées.
La section Tableaux de prise en charge de commande de ce document liste les commandes. Elles sont classées par commandes match et set, pour mettre en valeur la nature à deux protocoles des route-maps de redistribution.
Tableaux de prise en charge de commande
Cette section décrit les commandes qui sont prises en charge dans les route-maps jointes à la commande redistribute. Il y a sept protocoles de routage à partir desquels des routes peuvent être redistribuées ; cependant, il y en a seulement cinq vers lesquels la redistribution peut avoir lieu. Les routes connectées et statiques ne sont pas des protocoles de routage dynamiques et peuvent seulement fournir des informations à redistribuer dans d'autres protocoles.
Cette section n'inclut pas les commandes match et set qui sont prises en charge dans le logiciel Cisco IOS Version 12.3 route-maps mais qui ne sont pas applicables dans le contexte de redistribution.
L'Intermediate System-to-Intermediate System (IS-IS) et le BGP peuvent propager des informations sur des routes de service de réseau sans connexion (CLNS) avec des routes IP. Pour être complet, les tableaux de cette section évoquent également les commandes liées aux CLNS, qui peuvent être utilisées dans les route-maps de redistribution de ces protocoles.
Vous pouvez utiliser le Protocole d'informations de routage (RIP), OSPF, IS-IS et BGP pour propager les routes IPv6 ; Les route-maps de redistribution pour ces protocoles peuvent contenir des commandes spécifiques à IPv6. Les commandes match ip et set ip sont spécifiques à la redistribution des préfixes IPv4. Les commandes match ipv6 et set ipv6 sont spécifiques à la redistribution des préfixes IPv6. Vous pouvez utiliser les commandes match clns et set clns seulement si vous utilisez une route-map pour redistribuer les routes CLNS à partir du protocole de routage ou à destination de celui-ci.
Les tableaux 1 et 2 utilisent les conventions suivantes :
-
Les commandes prises en charge sont marquées avec aYes.
-
Les commandes non prises en charge sont signalées par un tiret (—).
-
Les commandes non prises en charge connues pour exécuter une action (probablement une action non désirée) sont identifiées par la mention Non.
Tableau 1 - Commandes Route-map pour faire correspondre les routes installées dans les tables de routage par protocoles
Commande
|
Prise en charge de la redistribution
|
connected
|
static
|
RIP
|
EIGRP
|
OSPF
|
IS-IS
|
BGP
|
match clns address
|
—
|
Oui
|
—
|
—
|
—
|
Oui
|
Oui
|
match clns next-hop
|
—
|
Oui
|
—
|
—
|
—
|
Oui
|
—
|
match interface
|
Oui
|
Oui
|
Oui
|
Oui
|
Oui
|
Oui
|
—
|
match ip address
|
Oui
|
Oui
|
Oui
|
Oui
|
Oui
|
Oui
|
Oui
|
match ip address prefix-list
|
Oui
|
Oui
|
Oui
|
Oui
|
Oui
|
Oui
|
Oui
|
match ip next-hop
|
—
|
Oui
|
Oui
|
Oui
|
Oui
|
Oui
|
Oui
|
match ip next-hop prefix-list
|
—
|
Non
|
Non
|
Non
|
Non
|
Non
|
Non
|
match ip route-source
|
—
|
—
|
Oui
|
Oui
|
Oui
|
—
|
Oui
|
match ip route-source prefix-list
|
—
|
—
|
Non
|
Non
|
Non
|
—
|
Non
|
match ipv6 address [prefix-list]
|
Oui
|
Oui
|
Oui
|
—
|
Oui
|
Oui
|
Oui
|
match ipv6 next-hop [prefix-list]
|
—
|
Oui
|
Oui
|
—
|
—
|
—
|
Oui
|
match ipv6 route-source [prefix-list]
|
—
|
—
|
Oui
|
—
|
—
|
—
|
Oui
|
match metric
|
—
|
—
|
Oui
|
Oui
|
Oui
|
Oui
|
Oui
|
match policy-list
|
Oui
|
Oui
|
Oui
|
Oui
|
Oui
|
Oui
|
Oui
|
match route-type external
|
—
|
—
|
—
|
Oui
|
Oui
|
Oui
|
Oui
|
match route-type internal
|
—
|
—
|
—
|
Oui
|
Oui
|
—
|
Oui
|
match route-type local
|
—
|
—
|
—
|
—
|
—
|
—
|
Oui
|
match route-type nssa-external
|
—
|
—
|
—
|
—
|
Oui
|
—
|
—
|
match route-type {level-1|level-2}
|
—
|
—
|
—
|
—
|
—
|
Oui
|
—
|
match tag
|
—
|
Oui
|
Oui
|
Oui
|
Oui
|
Oui
|
Oui
|
Tableau 2 - Commandes qui modifient les attributs de routage pendant la redistribution dans le protocole cible
Commande
|
Prise en charge de la redistribution
|
RIP
|
EIGRP
|
OSPF
|
IS-IS
|
BGP
|
set as-path tag
|
—
|
—
|
—
|
—
|
Oui
|
set community
|
—
|
—
|
—
|
—
|
Oui
|
set ip next-hop
|
—
|
—
|
—
|
—
|
Oui
|
set ip next-hop peer-address
|
—
|
—
|
—
|
—
|
Non
|
set ipv6 next-hop
|
—
|
—
|
—
|
—
|
Oui
|
définir le niveau {backbone|stub-area}
|
—
|
—
|
Non
|
—
|
—
|
set level {level-1|level-2|level-1-2}
|
—
|
—
|
—
|
Oui
|
—
|
set local-preference
|
—
|
—
|
—
|
—
|
Oui
|
set metric
|
Oui
|
—
|
Oui
|
Oui
|
Oui
|
set metric +/-
|
Non
|
—
|
Non
|
Non
|
Non
|
set metric eigrp-metric
|
—
|
Oui
|
—
|
—
|
—
|
set metric +/- eigrp-metric
|
—
|
Non
|
—
|
—
|
—
|
set metric-type internal
|
—
|
—
|
—
|
Oui
|
—
|
set metric-type external
|
—
|
—
|
—
|
Oui
|
—
|
set metric-type {type-1|type-2}
|
—
|
—
|
Oui
|
—
|
—
|
set nlri
|
—
|
—
|
—
|
—
|
Oui
|
set origin
|
—
|
—
|
—
|
—
|
Oui
|
set tag
|
Oui
|
Oui
|
Oui
|
—
|
—
|
set weight
|
—
|
—
|
—
|
—
|
Oui
|
Conclusion
Les route-maps sont des outils très puissants mais compliqués pour la redistribution des routes. Elles permettent une manipulation très fine des informations de routage quand elles sont redistribuées entre les protocoles. Cependant, elles peuvent être dangereuses et créer des trous noirs ou des flux de trafic sub-optimaux dans votre réseau. Vous devez concevoir les réseaux très soigneusement, si vous prévoyez d'utiliser des fonctions de redistribution complexes entre plusieurs protocoles de routage.
Informations connexes