Introdução
Este documento descreve como configurar mapas de rotas que são aplicados com o comando redistribute de protocolos de roteamento dinâmico.
Pré-requisitos
Requisitos
Não existem requisitos específicos para este documento.
Componentes Utilizados
As informações neste documento são baseadas no Cisco IOS® Software Release 12.3.
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.
Informações de Apoio
Esta seção fornece uma visão geral dos mapas de rotas usados no software Cisco IOS.
Conceitos Básicos do Mapa de Rotas
Os mapas de rotas têm muitos recursos em comum com as listas de controle de acesso (ACLs) amplamente conhecidas. Estas são algumas das características comuns a ambos os mecanismos:
- São uma sequência ordenada de declarações individuais; cada um tem um resultado de permissão ou negação. A avaliação de ACL ou mapas de rota consiste em uma verificação de lista, em uma ordem predeterminada, e uma avaliação dos critérios de cada instrução que corresponde. Uma verificação de lista é cancelada quando a primeira correspondência de instrução é encontrada e uma ação associada à correspondência de instrução é executada.
- São mecanismos genéricos — os critérios de correspondência e a interpretação de correspondência são ditados pela maneira como são aplicados. O mesmo mapa de rota aplicado a diferentes tarefas pode ter uma interpretação diferente.
Estas são as possíveis diferenças entre os mapas de rota e as ACLs:
- Os mapas de rota frequentemente usam ACLs como critérios correspondentes.
- O principal resultado da avaliação de uma lista de acesso é uma resposta sim ou não. Uma ACL permite ou nega dados de entrada. Aplicada à redistribuição, uma ACL determina se uma rota específica pode (a rota corresponde à instrução de permissão das ACLs) ou não pode (corresponde à instrução de negação) ser redistribuída. Os mapas de rotas típicos não só permitem (algumas) rotas redistribuídas, como também modificam informações associadas à rota quando ela é redistribuída em outro protocolo.
- Os mapas de rotas são mais flexíveis que as ACLs e podem verificar rotas com base em critérios que as ACLs não podem verificar. Por exemplo, um mapa de rota pode verificar se o tipo de rota é interno ou se tem uma marca específica.
- Cada ACL termina com uma instrução deny implícita, por convenção de design; não há convenção semelhante para mapas de rotas. Se o fim de um mapa de rota é alcançado quando foram feitas tentativas de correspondência, o resultado depende da aplicação específica do mapa de rota. Felizmente, os mapas de rota aplicados à redistribuição se comportam da mesma maneira que as ACLs: se a rota não corresponder a nenhuma cláusula em um mapa de rota, a redistribuição da rota será negada, como se o mapa de rota contivesse a instrução deny no final.
O comando de configuração dynamic protocol redistribute permite que você aplique uma ACL ou um mapa de rota. As diferenças descritas nesta seção identificam quando usar um mapa de rota no processo de redistribuição. Os mapas de rota são preferidos se você pretende modificar as informações de rota durante a redistribuição ou se precisar de recursos mais poderosos para corresponder à capacidade que uma ACL pode fornecer. Por outro lado, se você simplesmente precisa permitir seletivamente algumas rotas com base em seu prefixo ou máscara, a Cisco recomenda que você use uma ACL (ou lista de prefixos equivalente) diretamente no comando redistribute. Se você usar um mapa de rotas para permitir seletivamente algumas rotas com base em seu prefixo ou máscara, você normalmente usará mais comandos de configuração para atingir o mesmo objetivo. Os mapas de rotas são sempre aplicados ao tráfego de entrada, e o mapa de rotas não tem nenhum efeito sobre o tráfego de saída.
Abrir caminho mais curto primeiro
Este é um mapa de rota típico do Open Shortest Path First para o Enhanced Interior Gateway Routing Protocol (OSPF para EIGRP), aplicado com um comando 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
!
Estas são as observações importantes com este exemplo:
- As cláusulas do mapa de rotas são numeradas. Neste exemplo, as cláusulas têm números de sequência 10, 20 e 30. Os números de sequência permitem que você execute estas ações:
- Exclua facilmente uma cláusula específica, mas não afete outras partes do mapa de rotas.
- Inserir uma nova cláusula entre duas cláusulas atuais.
A Cisco recomenda que as cláusulas sejam numeradas em intervalos de 10 para reservar espaços numéricos para inserir cláusulas no futuro, se necessário.
- Os mapas de rotas podem ter cláusulas permit e deny. Em route-map ospf-to-eigrp, há uma cláusula deny (com número de sequência 10) e duas cláusulas permit. A cláusula deny rejeita as correspondências de rota da redistribuição. Por conseguinte, aplicam-se as seguintes regras:
- Se você usar uma ACL em uma cláusula de permissão de mapa de rota, as rotas permitidas pela ACL serão redistribuídas.
- Se você usar uma ACL em uma cláusula de negação de mapa de rota, as rotas permitidas pela ACL não serão redistribuídas.
- Se você usar uma ACL em uma cláusula permit ou deny do mapa de rota e a ACL negar uma rota, a correspondência da cláusula do mapa de rota não será encontrada e a próxima cláusula do mapa de rota será avaliada.
- Cada cláusula de mapa de rota tem dois tipos de comandos:
- match — Seleciona rotas às quais esta cláusula deve ser aplicada.
- set — Modifica as informações a serem redistribuídas no protocolo de destino.
Para cada rota redistribuída, o roteador avalia primeiro o comando match de uma cláusula no mapa de rotas. Se os critérios correspondentes forem bem-sucedidos, a rota será redistribuída ou rejeitada conforme ditado pela cláusula permit ou deny, e alguns de seus atributos serão modificados por comandos set. Se os critérios correspondentes falharem, essa cláusula não será aplicável à rota, e o software Cisco IOS continuará a avaliar a rota em relação à próxima cláusula no mapa de rota. A varredura do mapa de rota continua até que seja encontrada uma cláusula cujos comandos de correspondência correspondam à rota ou até que o final do mapa de rota seja alcançado.
- Um comando match ou set em cada cláusula pode ser perdido ou repetido várias vezes, se uma destas condições existir:
- Se vários comandos match estiverem presentes em uma cláusula, todos deverão ser bem-sucedidos para uma determinada rota para que essa rota corresponda à cláusula (em outras palavras, o algoritmo AND lógico é aplicado para vários comandos match).
- Se um comando match se referir a vários objetos em um comando, faça a correspondência (o algoritmo OR lógico é aplicado). Por exemplo, nos comandos match ip address 101 121, uma rota é permitida se for permitida pela lista de acesso 101 ou pela lista de acesso 121.
- Se um comando match não estiver presente, todas as rotas correspondem à cláusula. No exemplo anterior, todas as rotas que atingem a cláusula 30 correspondem; portanto, o fim do mapa de rota nunca é alcançado.
- Se um comando set não estiver presente em uma cláusula permit do mapa de rota, a rota será redistribuída sem modificação de seus atributos atuais.
Não configure um comando set em uma cláusula deny route-map porque a cláusula deny proíbe a redistribuição da rota. Não há informações para modificar.
Uma cláusula de mapa de rota sem um comando matchset executa uma ação. Uma cláusula de permissão vazia permite uma redistribuição do resto das rotas sem modificação. Uma cláusula deny vazia não permite uma redistribuição de outras rotas (essa é a ação padrão se um mapa de rota for completamente verificado, mas nenhuma correspondência explícita for encontrada).
Com base nas informações nesta seção, o exemplo de mapa de rota OSPF para EIGRP anterior faz o seguinte:
- Proíbe a redistribuição de todas as rotas OSPF externas tipo 2 com a tag 6 definida.
- Redistribui no EIGRP todas as rotas que correspondem à lista de prefixo pfx, com cinco valores de métrica—40000, 1000, 255, 1 e 1500.
- Redistribui todas as outras rotas e define suas marcas como 8 (o padrão).
Comandos usados nos mapas de rota aplicados à redistribuição
Esta seção contém estes tópicos:
Configurar Correspondência Sem Suporte e Comandos Set nos Mapas de Rota
Os mapas de rotas são mecanismos genéricos que podem ser usados em muitas configurações, incluindo o comando redistribute descrito anteriormente. Por exemplo, você pode configurar o comando match length em um mapa de rota para PBR para especificar que uma ação especial seja executada quando pacotes de um comprimento específico forem encaminhados. No entanto, você não usaria o comando match length nos mapas de rota aplicados à redistribuição.
Você pode configurar os comandos match e set em um mapa de rotas que não são suportados (ou não têm efeito) em um contexto onde um mapa de rotas é aplicado (ou destinado a ser aplicado em um estágio posterior). Um exemplo dessa situação pode ser o comando match length usado em um mapa de rota aplicado à redistribuição. Na redistribuição, um mapa de rota é aplicado a cada rota instalada na tabela de roteamento, pelo protocolo especificado no comando redistribute. Portanto, quando um roteador executa um mapa de rota, ele interpreta somente os comandos que fazem sentido no contexto da aplicação do mapa de rota. Neste exemplo, o comando match length mencionado no mapa de rota de redistribuição não tem efeito sobre a redistribuição. Ele permanece na configuração do mapa de rotas e pode ser visto na configuração atual do roteador. A redistribuição de rota não é afetada, no entanto, se esse comando está presente no mapa de rota ou não.
Portanto, o roteador permite a configuração de todos os tipos de comandos match e set , mas eles devem ser aplicados logicamente à situação. Caso contrário, a configuração pode ser muito confusa ou pode executar tarefas incorretas.
Não use comandos sem efeito em um contexto de mapa de rota — mesmo que pareçam inofensivos — devido a estes problemas:
-
Comandos sem efeito podem ocultar o que você deseja realizar. O problema pode causar confusão.
-
Comandos que não são suportados atualmente podem se tornar suportados em versões futuras do software Cisco IOS. Pode haver alterações indesejadas no comportamento do mapa de rota após atualizações de software futuras.
-
Nem todos os comandos são completamente inofensivos; por exemplo, o comando set metric +/- , que especifica a alteração relativa da métrica e que é usado com o anúncio de rota BGP. Ele pode pegar a métrica atual de uma rota e aumentá-la ou diminuí-la em um valor especificado antes de propagá-la.
A forma +/- desse comando não é suportada por alguns protocolos, consulte Suporte ao Mapa de Rotas do EIGRP e em outros cenários ele é interpretado como o comando set metric com o sinal omitido. Por exemplo, considere este mapa de rota:
!--- This redistribution route-map is very dangerous!
route-map ospf-to-ospf permit 10
set metric +2
!
Esta configuração parece redistribuir todas as rotas de um processo OSPF para outro, enquanto aumenta a métrica de todas as rotas em dois. Ainda assim, ele realmente define a métrica de todas as rotas para ser a mesma, igual a 2. Isso é inesperado na configuração do roteador.
Este mapa de rota fornece um efeito ainda mais contraintuitivo:
!--- This redistribution route-map is very dangerous!
route-map ospf-to-ospf permit 10
set metric +2
!
Em vez de diminuir a métrica das rotas redistribuídas, essa configuração na verdade define a métrica como 367 (um valor positivo, porque uma métrica negativa não é possível quando set metric é interpretado sem o sinal).
Natureza de dois protocolos da redistribuição do mapa de rota
Os mapas de rotas aplicados ao trabalho de redistribuição com dois protocolos de roteamento:
Cada protocolo de roteamento pode suportar seu próprio conjunto de atributos de rota.
Na configuração do mapa de rota de redistribuição:
-
Os comandos route-map match verificam os atributos de uma rota que são suportados pelo protocolo que forneceu a rota original para redistribuição.
-
Os comandos route-map set modificam os atributos de rotas que são suportadas pelo protocolo ao qual as rotas são redistribuídas.
A seção Tabelas de Suporte a Comandos deste documento lista os comandos. Eles são categorizados pelos comandos match e set , para destacar a natureza de dois protocolos dos mapas de rotas de redistribuição.
Tabelas de Suporte a Comandos
Esta seção descreve os comandos que são suportados nos mapas de rota anexados no comando redistribute. Há sete protocolos de roteamento a partir dos quais as rotas podem ser redistribuídas; no entanto, há apenas cinco para os quais a redistribuição pode ocorrer. As rotas conectadas e estáticas não são protocolos de roteamento dinâmico e só podem fornecer informações a serem redistribuídas em outros protocolos.
Esta seção não inclui os comandos match e set que são suportados no Cisco IOS Software Release 12.3 route-maps, mas que não são aplicáveis no contexto de redistribuição.
O Intermediate System-to-Intermediate System (IS-IS) e o BGP podem propagar informações sobre rotas do Connectionless Network Service (CLNS) junto com rotas IP. Para ser completo, as tabelas nesta seção também mencionam comandos relacionados ao CLNS, que podem ser usados em mapas de rota de redistribuição para esses protocolos.
Você pode usar o Routing Information Protocol (RIP), OSPF, IS-IS e BGP para propagar rotas IPv6; os mapas de rota de redistribuição para esses protocolos podem conter comandos específicos de IPv6. Os comandos match ip e set ip são específicos para redistribuição de prefixos IPv4. Os comandos match ipv6 e set ipv6 são específicos para redistribuição de prefixos IPv6. Você pode usar os comandos match clns e set clns somente se usar um mapa de rota para redistribuir rotas CLNS de ou para o protocolo de roteamento.
As Tabelas 1 e 2 usam estas convenções:
-
Os comandos suportados são marcados com Sim.
-
Comandos sem suporte são marcados com um traço (—).
-
Os comandos sem suporte conhecidos por executar uma ação (provavelmente uma ação indesejada) são marcados com um Não.
Tabela 1 - Comandos do mapa de rotas para corresponder as rotas instaladas nas tabelas de roteamento por protocolos
Comando
|
Suporte à redistribuição
|
conectado
|
estático
|
RIP
|
EIGRP
|
OSPF
|
IS-IS
|
BGP
|
match clns address
|
—
|
Yes
|
—
|
—
|
—
|
Yes
|
Yes
|
match clns next-hop
|
—
|
Yes
|
—
|
—
|
—
|
Yes
|
—
|
combinar interface
|
Yes
|
Yes
|
Yes
|
Yes
|
Yes
|
Yes
|
—
|
combinar endereço ip
|
Yes
|
Yes
|
Yes
|
Yes
|
Yes
|
Yes
|
Yes
|
match ip address prefix-list
|
Yes
|
Yes
|
Yes
|
Yes
|
Yes
|
Yes
|
Yes
|
combinar ip next-hop
|
—
|
Yes
|
Yes
|
Yes
|
Yes
|
Yes
|
Yes
|
match ip next-hop prefix-list
|
—
|
No
|
No
|
No
|
No
|
No
|
No
|
combinar ip route-source
|
—
|
—
|
Yes
|
Yes
|
Yes
|
—
|
Yes
|
match ip route-source prefix-list
|
—
|
—
|
No
|
No
|
No
|
—
|
No
|
match ipv6 address [prefix-list]
|
Yes
|
Yes
|
Yes
|
—
|
Yes
|
Yes
|
Yes
|
match ipv6 next-hop [prefix-list]
|
—
|
Yes
|
Yes
|
—
|
—
|
—
|
Yes
|
match ipv6 route-source [prefix-list]
|
—
|
—
|
Yes
|
—
|
—
|
—
|
Yes
|
combinar metrica
|
—
|
—
|
Yes
|
Yes
|
Yes
|
Yes
|
Yes
|
match policy-list
|
Yes
|
Yes
|
Yes
|
Yes
|
Yes
|
Yes
|
Yes
|
match route-type external
|
—
|
—
|
—
|
Yes
|
Yes
|
Yes
|
Yes
|
match route-type internal
|
—
|
—
|
—
|
Yes
|
Yes
|
—
|
Yes
|
match route-type local
|
—
|
—
|
—
|
—
|
—
|
—
|
Yes
|
match route-type nssa-external
|
—
|
—
|
—
|
—
|
Yes
|
—
|
—
|
match route-type {level-1|level-2}
|
—
|
—
|
—
|
—
|
—
|
Yes
|
—
|
combinar tag
|
—
|
Yes
|
Yes
|
Yes
|
Yes
|
Yes
|
Yes
|
Tabela 2 - Comandos que Modificam Atributos de Rota Durante a Redistribuição no Protocolo de Destino
Comando
|
Suporte à redistribuição
|
RIP
|
EIGRP
|
OSPF
|
IS-IS
|
BGP
|
set as-path tag
|
—
|
—
|
—
|
—
|
Yes
|
definir comunidade
|
—
|
—
|
—
|
—
|
Yes
|
set ip next-hop
|
—
|
—
|
—
|
—
|
Yes
|
set ip next-hop peer-address
|
—
|
—
|
—
|
—
|
No
|
set ipv6 next-hop
|
—
|
—
|
—
|
—
|
Yes
|
set level {backbone|stub-area}
|
—
|
—
|
No
|
—
|
—
|
set level {level-1|level-2|level-1-2}
|
—
|
—
|
—
|
Yes
|
—
|
defomor a preferência local
|
—
|
—
|
—
|
—
|
Yes
|
definir métrica
|
Yes
|
—
|
Yes
|
Yes
|
Yes
|
set metric +/-
|
No
|
—
|
No
|
No
|
No
|
set metric eigrp-metric
|
—
|
Yes
|
—
|
—
|
—
|
set metric +/- eigrp-metric
|
—
|
No
|
—
|
—
|
—
|
set metric-type internal
|
—
|
—
|
—
|
Yes
|
—
|
set metric-type external
|
—
|
—
|
—
|
Yes
|
—
|
set metric-type {type-1|type-2}
|
—
|
—
|
Yes
|
—
|
—
|
set nlri
|
—
|
—
|
—
|
—
|
Yes
|
definir a origem
|
—
|
—
|
—
|
—
|
Yes
|
definir a etiqueta
|
Yes
|
Yes
|
Yes
|
—
|
—
|
definir o peso
|
—
|
—
|
—
|
—
|
Yes
|
Conclusão
Os mapas de rotas são ferramentas muito poderosas, mas complicadas, para a redistribuição de rotas. Eles permitem uma manipulação muito fina das informações de roteamento quando elas são redistribuídas entre protocolos. No entanto, eles podem ser perigosos e criar buracos ou um fluxo de tráfego insuficiente na rede. Você deve projetar as redes com muito cuidado, caso planeje empregar recursos complexos de redistribuição entre vários protocolos de roteamento.
Informações Relacionadas