Table des matières

Introduction

Informations générales

Problème

Comportement observé

Comportement CLI attendu

Pourquoi cela se produit

Solution

Méthode Recommandée Pour La Mise En Oeuvre

Exemple 1. Utilisation incorrecte de la CLI conduisant à l'autorisation par défaut

Exemple 2. Ordre de séquence maintenu indépendamment de l'ordre d'entrée

Conclusion

Introduction

Ce document décrit la méthode correcte pour configurer et afficher une route-map dans le mode de configuration, en soulignant en particulier l'importance de spécifier l'action (permit ou deny) et le numéro de séquence.

Informations générales

Il répond à un comportement observé où une entrée de route-map initialement configurée avec une action de refus semble avoir changé pour autoriser de manière inattendue.

Problème

Dans Cisco IOS® XE, si une route-map est entrée sans spécifier explicitement une action (permit/deny) et un numéro d'ordre, l'interface de ligne de commande (CLI) utilise par défaut l'action permit. Cela peut modifier par inadvertance le comportement de la route-map si les administrateurs ne font pas attention à la syntaxe.

Comportement observé

Lorsque cette configuration est appliquée :

router(config)#route-map TEST1 deny 1

router(config-route-map)#match ip address prefix-list PREFIXES

router(config-route-map)#exit

router(config)#route-map TEST1 permit 10

router(config-route-map)#match ip address prefix-list FIX

router(config-route-map)#exit

Le résultat attendu est le suivant :

router(config)#do sh run | sec TEST1

route-map TEST1 deny 1

match ip address prefix-list PREFIXES

route-map TEST1 permit 10

match ip address prefix-list FIX

Cependant, lors de la nouvelle saisie de la route-map TEST1 sans spécifier de séquence ni d’action, comme indiqué :

router(config)#route-map TEST1

router(config-route-map)#do sh run | sec TEST1

Le résultat de la CLI indique de manière inattendue :

route-map TEST1 permit 1

match ip address prefix-list PREFIXES

route-map TEST1 permit 10

match ip address prefix-list FIX

Cela indique que l'entrée deny 1 configurée à l'origine a été modifiée pour autoriser 1.

Comportement CLI attendu

· Lorsque vous entrez la commande router(config)# route-map TEST1 sans spécifier d’action (permit ou deny) ni de numéro d’ordre, l’analyseur suppose que vous entendez « permit » par défaut.

· Dès que vous quittez ce sous-mode, Cisco IOS XE réécrit la première séquence et change l'action de deny en permit car aucune action explicite n'a été fournie. La simple saisie de route-map <name> sans numéro de séquence permet d'entrer la séquence 10 par défaut. Ce comportement peut parfois remplacer les entrées précédentes si elles ne sont pas spécifiées avec soin.

En d’autres termes, la modification n’est pas déclenchée par un processus invisible, mais simplement par la gestion par défaut d’une commande route-map incomplète par l’interface de ligne de commande.

Afin de conserver le refus dans la première instruction, incluez toujours l'action et le numéro d'ordre, par exemple :

router(config)# route-map TEST1 deny 1.

Pourquoi cela se produit

Il ne s'agit pas d'un bogue, mais d'un comportement prévu de l'analyseur CLI de Cisco IOS XE. Il respecte les règles suivantes :

- Si une route-map est appelée sans numéro de séquence, la séquence 10 est supposée.

- Si aucune action n'est spécifiée, permit est la valeur par défaut.

- Si vous entrez à nouveau une route-map existante sans détails, IOS peut réaffecter les actions par défaut, en modifiant involontairement les entrées précédentes.

Solution

Afin de préserver le comportement prévu de votre configuration de route-map, incluez toujours les deux éléments suivants :

- l'action (permit ou deny)

- et le numéro de séquence

router(config)#route-map TEST1 deny 1 >>>>>>>>>>>>>>> This ensures IOS-XE does not override the entry with default values.

router(config-route-map)#do sh run | sec route-map TES

route-map TEST1 deny 1

match ip address prefix-list ALL-PREFIXES

route-map TEST1 permit 10

match ip address prefix-list ALL-VPN-FIX

Méthode Recommandée Pour La Mise En Oeuvre

Les sorties de configuration pour référence sont mentionnées ici. Le comportement de la commande reflète l'importance de numéros d'ordre correctement définis et la manière dont l'ordre d'insertion de permit/deny n'affecte pas l'ordre croissant des numéros d'ordre dans la configuration en cours.

Exemple 1. Utilisation incorrecte de la CLI conduisant à l'autorisation par défaut

ASR1002-1#conf t

Enter configuration commands, one per line.  End with CNTL/Z.

ASR1002-1(config)#route-map TEST deny 1

ASR1002-1(config-route-map)#$dress prefix-list ALL-PREFIXES

ASR1002-1(config-route-map)#exit

ASR1002-1(config)#route-map TEST permit 10

ASR1002-1(config-route-map)#$dress prefix-list ALL-VPN-FIX

ASR1002-1(config-route-map)#exit

ASR1002-1(config)#do sh run | sec TEST

route-map TEST deny 1

match ip address prefix-list ALL-PREFIXES

route-map TEST permit 10

match ip address prefix-list ALL-VPN-FIX

ASR1002-1(config)#exit

ASR1002-1#conf t

Enter configuration commands, one per line.  End with CNTL/Z.

ASR1002-1(config)#route-map TEST

ASR1002-1(config-route-map)#do sh run | sec route-map TES

route-map TEST permit 1

match ip address prefix-list ALL-PREFIXES

route-map TEST permit 10

match ip address prefix-list ALL-VPN-FIX

ASR1002-1(config-route-map)#exit

Notez comment deny 1 devient permit 1. À la place, incluez l’action avec le numéro de séquence afin de maintenir la configuration correcte de route-map :

ASR1002-1(config)#route-map TEST deny 1

ASR1002-1(config-route-map)#do sh run | sec route-map TES

route-map TEST deny 1

match ip address prefix-list ALL-PREFIXES

route-map TEST permit 10

match ip address prefix-list ALL-VPN-FIX

Exemple 2. Ordre de séquence maintenu indépendamment de l'ordre d'entrée

ASR1001-1(config)#route-map test deny 50

ASR1001-1(config-route-map)#^Z

ASR1001-1#show running-config | sec route-map

route-map test deny 50

ASR1001-1#conf t

Enter configuration commands, one per line.  End with CNTL/Z.

ASR1001-1(config)#route-map test permit 40

ASR1001-1(config-route-map)#^Z

ASR1001-1#show running-config | sec route-map

route-map test permit 40

route-map test deny 50

ASR1001-1#conf t

Enter configuration commands, one per line.  End with CNTL/Z.

ASR1001-1#show running-config | sec route-map

route-map test permit 40

route-map test deny 50

Bien que l'instruction deny ait été entrée en premier, l'interface de ligne de commande trie par numéro d'ordre croissant et non par ordre de configuration.

Conclusion

Lorsque vous configurez des cartes de routage dans Cisco IOS-XE, définissez toujours :

- le numéro d'ordre

- et l'action

Si vous ne le faites pas, vous risquez d'obtenir un comportement inattendu en raison des valeurs par défaut de la CLI. La compréhension de ces nuances est essentielle pour maintenir des configurations de politiques de routage précises.