Introdução
Este documento descreve o método correto para configurar e exibir um mapa de rota dentro do modo de configuração, enfatizando particularmente a importância de especificar a ação (permitir ou negar) e o número de sequência.
Informações de Apoio
Ele aborda um comportamento observado em que uma entrada de mapa de rota configurada originalmente com uma ação de negação parece ter sido alterada para permitir inesperadamente.
Problema
No Cisco IOS® XE, se um mapa de rota for inserido sem especificar explicitamente uma ação (permitir/negar) e um número de sequência, o padrão da CLI é permitir a ação. Isso pode alterar inadvertidamente o comportamento do mapa de rota se os administradores não tiverem cuidado com a sintaxe.
Comportamento observado
Quando esta configuração for aplicada:
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
A saída esperada é:
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
No entanto, ao reinserir o mapa de rota TEST1 sem especificar a sequência ou a ação como mostrado:
router(config)#route-map TEST1
router(config-route-map)#do sh run | sec TEST1
A saída CLI mostra inesperadamente:
route-map TEST1 permit 1
match ip address prefix-list PREFIXES
route-map TEST1 permit 10
match ip address prefix-list FIX
Isso indica que a entrada deny 1 configurada originalmente foi modificada para permitir 1.
Comportamento esperado de CLI
· Quando você insere o comando router(config)# route-map TEST1 sem especificar uma ação (permitir ou negar) e um número de sequência, o analisador supõe que você quis dizer 'permit' por padrão.
· Assim que você sai desse submodo, o Cisco IOS XE regrava a primeira sequência e altera a ação de deny para permit, pois nenhuma ação explícita foi fornecida. Simplesmente inserir route-map <name> sem um número de sequência insere a sequência 10 como permitir por padrão. Esse comportamento às vezes pode substituir entradas anteriores se não for especificado com cuidado.
Em outras palavras, a alteração não é acionada por um processo não visto — é simplesmente o tratamento padrão de CLIs de um comando de mapa de rota incompleto.
Para preservar o deny na primeira instrução, sempre inclua a ação e o número de sequência, por exemplo:
router(config)# route-map TEST1 deny 1.
Por que isso acontece
Este não é um bug, mas um comportamento pretendido do analisador CLI do Cisco IOS XE. Ele adere a estas regras:
- Se um mapa de rota é chamado sem um número de sequência, a sequência 10 é assumida.
- Se nenhuma ação for especificada, permit será o padrão.
- Se inserir novamente um mapa de rotas existente sem detalhes, o IOS pode reatribuir ações padrão, modificando involuntariamente as entradas anteriores.
Solução
Para preservar o comportamento pretendido de sua configuração de mapa de rota, sempre inclua ambos:
- a ação (permitir ou negar)
- e o número de sequência
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étodo Recomendado Para Implementar
As saídas de configuração para referência são mencionadas aqui. O comportamento do comando reflete a importância dos números sequenciais definidos corretamente e como a ordem de inserção de permit/deny não afeta a disposição crescente do número sequencial na configuração em execução.
Exemplo 1. Uso de CLI incorreto levando à permissão padrão
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
Observe como deny 1 se torna permit 1. Em vez disso, inclua a ação junto com o número de sequência para manter a configuração correta do mapa de rota:
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
Exemplo 2. Ordem de Sequência Mantida Independentemente da Ordem de Entrada
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
Embora a instrução deny tenha sido inserida primeiro, a CLI é classificada pelo número de sequência crescente, não pela ordem de configuração.
Conclusão
Ao configurar mapas de rota no Cisco IOS-XE, sempre defina:
- o número de sequência
- e a ação
Se isso não for feito, poderá ocorrer um comportamento inesperado devido aos padrões da CLI. Compreender essas nuances é essencial para manter configurações precisas de política de roteamento.