Para parceiros
Este documento descreve os comandos que podem ser usados para configurar os mapas de rotas que são aplicados com o comando redistribute dos protocolos de roteamento dinâmico. Este documento também inclui dicas sobre as funções do mapa de rotas e conselhos sobre quando a configuração do mapa de rotas é mais benéfico.
A função de mapa de rota é um mecanismo genérico da configuração do software Cisco IOS®. Você pode aplicá-lo a muitas tarefas diferentes, por exemplo, modificação de atualização de vizinhos de roteamento baseado em políticas (PBR - Policy Based Routing) e Protocolo de Gateway de Borda (BGP - Border Gateway Protocol). Um dos usos mais comuns dos mapas de rotas é aplicá-los às rotas redistribuídas entre protocolos de roteamento dinâmico. Este documento examina as possibilidades dos mapas de rota, quando você configura esse tipo de redistribuição.
Não existem requisitos específicos para este documento.
As informações neste documento são baseadas na versão 12.3 do Software Cisco IOS principal.
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.
For more information on document conventions, refer to the Cisco Technical Tips Conventions.
Esta seção fornece uma visão geral dos mapas de rotas no software Cisco IOS.
Os mapas de rotas têm muitos recursos em comum com as listas de controle de acesso (ACLs) amplamente conhecidas. Estes são alguns dos traços comuns a ambos os mecanismos:
Eles são uma sequência ordenada de instruções individuais, cada uma tem um resultado de permissão ou negação. A avaliação da ACL ou dos mapas de rotas 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 forma como são aplicados. O mesmo mapa de rota aplicado a tarefas diferentes pode ser interpretado de forma diferente.
Estas são algumas das diferenças entre mapas de rota e ACLs:
Os mapas de rotas frequentemente usam ACLs como critérios de correspondência.
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 ACLs) ou não pode (corresponde à instrução deny) ser redistribuída. Os mapas de rota típicos não só permitem (algumas) rotas redistribuídas, como também modificam as informações associadas à rota, quando ela é redistribuída em outro protocolo. Consulte a seção Conceitos Básicos de Mapa de Rota deste documento para obter exemplos de modificação de mapa de rotas.
Os mapas de rotas são mais flexíveis do 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 é interna ou se tem uma marca específica.
Cada ACL termina com uma instrução deny implícita, por convenção de projeto; não há convenção semelhante para mapas de rotas. Se o fim de um mapa de rota for alcançado durante tentativas de correspondência, o resultado dependerá da aplicação específica do mapa de rota. Felizmente, os mapas de rota aplicados à redistribuição comportam-se da mesma forma 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 continha uma instrução deny no final.
O comando de configuração de redistribuição de protocolo dinâmico permite aplicar uma ACL ou um mapa de rota. As diferenças descritas nesta seção identificam quando você deve usar um mapa de rota durante a redistribuição. Os mapas de rota são preferidos se você pretende modificar as informações de rota durante a redistribuição ou se você precisa de um recurso de correspondência mais potente do que uma ACL pode fornecer. Por outro lado, se você simplesmente precisar permitir seletivamente algumas rotas com base em seu prefixo ou máscara, a Cisco recomenda que você use uma ACL (ou uma lista de prefixos equivalente) diretamente no comando redistribute. Se você usar um mapa de rota para permitir seletivamente algumas rotas com base em seu prefixo ou máscara, você normalmente usa mais comandos de configuração para atingir o mesmo objetivo. Os mapas de rotas são sempre aplicados para tráfego de entrada e o mapa de rotas não tem nenhum efeito no tráfego de saída.
Este é um mapa de rota típico do Open Shortest Path First para o mapa de rota do Enhanced Interior Gateway Routing Protocol (OSPF para EIGRP), aplicado em 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 !
Há vários pontos a serem observados neste exemplo:
As cláusulas de mapa de rota são numeradas. Neste exemplo, as cláusulas têm os números de sequência 10, 20 e 30. Os números de sequência permitem executar 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 existentes.
A Cisco recomenda que você anote cláusulas em intervalos de 10, para reservar espaço de numeração caso precise inserir cláusulas no futuro.
Os mapas de rota 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 correspondências de rota da redistribuição. Por conseguinte, estas regras aplicam-se:
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 de mapa de rota e a ACL negar uma rota, a correspondência da cláusula de mapa de rota não será encontrada e a próxima cláusula de mapa de rota será avaliada.
Cada cláusula route-map tem dois tipos de comandos:
match — Seleciona rotas às quais esta cláusula deve ser aplicada.
set —Modifica as informações que serão redistribuídas no protocolo de destino.
Para cada rota que está sendo redistribuída, o roteador primeiro avalia o comando match de uma cláusula no mapa de rota. Se os critérios de correspondência tiverem êxito, a rota será redistribuída ou rejeitada conforme determinado pela cláusula permit ou deny, e alguns de seus atributos poderão ser modificados por comandos set. Se os critérios de correspondência 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 verificação do mapa de rotas continua até que uma cláusula seja encontrada cujo(s) comando(s) de correspondência corresponda à rota ou até que o fim do mapa de rotas 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 devem ser bem-sucedidos em uma determinada rota para que essa rota corresponda à cláusula (em outras palavras, o algoritmo AND lógico é aplicado a vários comandos match).
Se um comando match se refere a vários objetos em um comando, qualquer um deles deve corresponder (o algoritmo OU lógico é aplicado). Por exemplo, no comando 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 de permissão de 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 de rotas — não há informações a modificar.
Uma cláusula route-map sem um comando match ou set executa uma ação. Uma cláusula permit vazia permite uma redistribuição das rotas restantes sem modificação. Uma cláusula deny vazia não permite uma redistribuição de outras rotas (esta é a ação padrão se um mapa de rota for completamente analisado, mas nenhuma correspondência explícita for encontrada).
Com base nas informações nesta seção, o exemplo anterior de mapa de rota OSPF para EIGRP faz o seguinte:
Proíbe a redistribuição de todas as rotas OSPF externas Tipo 2 com tag 6 definida.
Redistribui no EIGRP todas as rotas que correspondem à lista de prefixos pfx, com cinco valores de métrica—40000, 1000, 255, 1 e 1500.
Redistribui todas as outras rotas e define suas marcas para 8 (o padrão).
Esta seção contém estes tópicos:
Configurar correspondência não suportada e definir comandos em mapas de rota
Natureza de dois protocolos da redistribuição de mapa de rota
Os mapas de rota são mecanismos genéricos que você pode usar 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 é executada quando pacotes de um comprimento específico são encaminhados. No entanto, você não usaria o comando match length em mapas de rota aplicados à redistribuição.
Você pode configurar os comandos match e set em um mapa de rota que não são suportados (ou não têm efeito) em um contexto em que um mapa de rota é aplicado (ou deve 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 de mapa de rota. Neste exemplo, o comando match length mencionado no mapa de rota de redistribuição não tem efeito na redistribuição. Ele permanece na configuração do mapa de rotas e pode ser visto na configuração atual do roteador. A redistribuição da rota não é afetada, no entanto, se esse comando está presente no mapa de rota ou não.
Concluindo, 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 nenhum efeito em um contexto de mapa de rotas, mesmo que eles pareçam inofensivos, devido a estes problemas:
Comandos sem efeito podem obscurecer o que você deseja realizar. Isso torna a configuração muito confusa.
Comandos que não são suportados no momento podem ser aceitos em versões futuras do software Cisco IOS. Assim, você pode ver alterações indesejadas no comportamento do mapa de rotas após futuras atualizações de software.
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 por um valor especificado antes de propagá-la.
A forma +/- deste comando não é suportada atualmente em mapas de rotas de redistribuição e é interpretada 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 !
Essa configuração parece redistribuir todas as rotas de um processo OSPF para outro, enquanto aumenta a métrica de todas as rotas em duas. Ainda assim, ele define a métrica de todas as rotas como a mesma, igual a 2 — provavelmente não o que você pode pensar ao examinar a configuração do roteador.
Esse mapa de rotas fornece um efeito ainda mais contra intuitivo:
!--- This redistribution route-map is even more dangerous! route-map ospf-to-ospf permit 10 set metric -367 !
Em vez de diminuir a métrica das rotas redistribuídas, essa configuração realmente define a métrica como 367 (um valor positivo, porque uma métrica negativa não é possível quando a métrica definida é interpretada sem o sinal).
Mapas de rota aplicados ao trabalho de redistribuição com dois protocolos de roteamento:
O protocolo que fornece as informações de roteamento originais
O protocolo ao qual as informações de roteamento são redistribuídas
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 de mapa de rota set modificam os atributos das rotas suportadas pelo protocolo para o qual as rotas são redistribuídas.
A seção Tabelas de Suporte a Comandos deste documento lista os comandos. Eles são categorizados por comandos match e set, para destacar a natureza de dois protocolos dos mapas de rotas de redistribuição.
Esta seção descreve os comandos suportados em mapas de rota anexados ao comando redistribute. Existem 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 para serem redistribuídas em outros protocolos.
Esta seção não inclui os comandos match e set que são suportados nos mapas de rota do Software IOS versão 12.3, mas que não são aplicáveis no contexto de redistribuição.
O IS-IS (Intermediate System-to-Intermediate System) e o BGP podem propagar informações sobre rotas do CLNS (Connectionless Network Service) junto com rotas IP. Para serem minuciosas, as tabelas nesta seção também mencionam comandos relacionados ao CLNS, que podem ser usados em mapas de rotas 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 do 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.
A Tabela 1 e a Tabela 2 usam estas convenções:
Os comandos suportados estão marcados com um Sim.
Os comandos não suportados estão marcados com um traço (—).
Comandos não suportados conhecidos para executar uma ação (provavelmente uma ação indesejada) são marcados com um Não.
Comando | Suporte de 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 |
Comando | Suporte de 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 |
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 negros" ou fluxo de tráfego não ideal na sua rede. Você deve projetar as redes com muito cuidado, se for empregar recursos complexos de redistribuição entre vários protocolos de roteamento.