Configuração das tabelas de roteamento do Junos OS
Entender as tabelas de roteamento do Junos OS
O Junos OS cria e mantém automaticamente várias tabelas de roteamento. Cada tabela de roteamento é usada para uma finalidade específica. Além dessas tabelas de roteamento criadas automaticamente, você pode criar suas próprias tabelas de roteamento.
Cada tabela de roteamento preenche uma parte da tabela de encaminhamento. Assim, a tabela de encaminhamento é dividida com base em tabelas de roteamento. Isso permite um comportamento de encaminhamento específico para cada tabela de roteamento. Por exemplo, para VPNs, cada tabela de roteamento baseada em VPN tem sua própria partição específica de VPN na tabela de encaminhamento.
É comum que o software de roteamento mantenha rotas unicast e rotas multicast em diferentes tabelas de roteamento. Você também pode ter considerações políticas que o levariam a criar tabelas de roteamento separadas para gerenciar a propagação de informações de roteamento.
Criar tabelas de roteamento é opcional. Se você não criar nenhum, o Junos OS usa suas tabelas de roteamento padrão, que são as seguintes:
inet.0 — Para rotas unicast ip versão 4 (IPv4). Esta tabela armazena rotas locais e diretas de interface, rotas estáticas e rotas aprendidas dinamicamente.
inet.1 — Para o cache de encaminhamento multicast IPv4. Esta tabela armazena as entradas de grupo IPv4 (S,G) que são criadas dinamicamente como resultado de informações de estado de participação.
inet.2 — Para rotas subsequentes de indicador familiar de endereço (SAFI) 2, quando o BGP multiprotocol (MBGP) for habilitado. Esta tabela armazena rotas unicast que são usadas para uma pesquisa de encaminhamento de caminho reverso (RPF) multicast. As rotas nesta tabela podem ser usadas pelo protocolo de roteamento multicast de vetor de distância (DVMRP), que requer uma tabela RPF específica. Por outro lado, o Protocol Independent Multicast (PIM) não precisa dessa tabela porque pode realizar verificações de RPF em relação à tabela inet.0. Você pode importar rotas de inet.0 para inet.2 usando grupos de base de informações de roteamento (RIB) ou instalar rotas diretamente no inet.2 a partir de um protocolo de roteamento multicast.
inet.3 — Para IPv4 MPLS. Esta tabela armazena o endereço de saída de um caminho com rótulos MPLS (LSP), o nome LSP e o nome da interface de saída. Esta tabela de roteamento só é usada quando o dispositivo local é o nó de entrada para um LSP.
inet6.0 — Para rotas unicast ip versão 6 (IPv6). Esta tabela armazena rotas locais e diretas de interface, rotas estáticas e rotas aprendidas dinamicamente.
inet6.1 — Para cache de encaminhamento multicast IPv6. Esta tabela armazena as entradas de grupo IPv6 (S,G) que são criadas dinamicamente como resultado de informações de estado de participação.
instance-name.inet.0 — Se você configurar uma instância de roteamento, o Junos OS cria a tabela instance-namede roteamento unicast padrão .inet.0.
instance-name.inet.2 — Se você configurar protocolos de instâncias instance-name de roteamento em multicast de inet da família bgp em uma instância de roteamento do tipo VRF, o Junos OS cria a instance-nametabela .inet.2 .
Outra maneira de criar a instance-nametabela .inet.2 é usar a
rib-group
declaração. Veja exemplo: exportar rotas específicas de uma tabela de roteamento para outra tabela de roteamento.Nota:Importar rotas multicast inet-vpn da tabela bgp.l3vpn.2 para a instance-nametabela .inet.2 não cria a instance-nametabela .inet.2 . A operação de importação só funciona se a instance-nametabela .inet.2 já existir.
instance-name.inetflow.0 — Se você configurar uma rota de fluxo, o Junos OS cria a tabela instance-namede roteamento de fluxo .inetflow.0.
bgp.l2vpn.0 — Para rotas VPN de Camada 2 aprendidas com o BGP. Esta tabela armazena rotas aprendidas com outros roteadores de borda de provedor (PE). As informações de roteamento de Camada 2 são copiadas em instâncias de roteamento e encaminhamento de VPN de Camada 2 (VRFs) com base em comunidades-alvo.
bgp.l3vpn.0 — Para rotas VPN de Camada 3 aprendidas com o BGP. Esta tabela armazena rotas aprendidas com outros roteadores PE. As rotas nesta tabela são copiadas em um VRF de Camada 3 quando há uma tabela de rotas correspondente.
l2circuit.0
— Para rotas l2circuit aprendidas com o LDP. As rotas nesta tabela são usadas para enviar ou receber mensagens de sinalização l2circuit.mpls.0 — Para operações de comutação de rótulos MPLS. Esta tabela é usada quando o dispositivo local é um roteador de trânsito.
iso.0 — Para rotas IS-IS. Quando você está usando o IS-IS para dar suporte ao roteamento IP, esta tabela contém apenas o título de entidade de rede (NET) do dispositivo local.
juniper_private— Para que o Junos OS se comunique internamente entre o mecanismo de roteamento e o hardware PIC.
Recursos da tabela de roteamento no Junos OS
O Junos OS mantém dois bancos de dados para informações de roteamento:
Tabela de roteamento — Contém todas as informações de roteamento aprendidas por todos os protocolos de roteamento. (Alguns fornecedores se referem a esse tipo de tabela como uma base de informações de roteamento [RIB].)
Tabela de encaminhamento — Contém as rotas usadas para encaminhar pacotes. (Alguns fornecedores se referem a esse tipo de tabela como uma base de informações de encaminhamento [FIB].)
Por padrão, o Junos OS mantém três tabelas de roteamento: uma para rotas unicast ip versão 4 (IPv4), uma segunda para rotas multicast e uma terceira para MPLS. Você pode configurar tabelas de roteamento adicionais.
O Junos OS mantém tabelas de roteamento separadas para rotas IPv4 e IP versão 6 (IPv6).
O Junos OS instala todas as rotas ativas da tabela de roteamento na tabela de encaminhamento. As rotas ativas são rotas usadas para encaminhar pacotes para seus destinos. O kernel do sistema operacional Junos mantém uma cópia mestre da tabela de encaminhamento. Ele copia a tabela de encaminhamento ao Mecanismo de Encaminhamento de Pacotes, que é o componente responsável pelo encaminhamento de pacotes.
O processo de protocolo de roteamento Junos geralmente determina a rota ativa selecionando a rota com o menor valor de preferência. O Junos OS oferece suporte para preferências alternativas e de desempate, e alguns dos protocolos de roteamento, incluindo BGP e MPLS, usam essas preferências adicionais.
Você pode adicionar endereços marcianos e rotas estáticas, agregadas e geradas às tabelas de roteamento Junos, configurando as rotas com uma ou mais das propriedades mostradas na Tabela 1.
Descrição |
Estático |
Agregado |
Gerado |
---|---|---|---|
Endereço de destino |
X |
X |
X |
Rota padrão para o destino |
X |
X |
X |
Endereço IP ou interface do próximo salto até o destino |
X |
– |
– |
Caminho comutador de rótulos (LSP) como próximo salto |
X |
– |
– |
Solte os pacotes, instale uma rota de rejeição para este destino e envie mensagens inalcançáveis do Protocolo de Mensagens de Controle de Internet (ICMP) |
X |
X |
X |
Solte os pacotes, instale uma rota de rejeição para este destino, mas não envie mensagens inalcançáveis ao ICMP |
X |
X |
X |
Fazer com que os pacotes sejam recebidos pelo roteador local |
X |
– |
– |
Associe um valor métrico com a rota |
X |
X |
X |
Tipo de rota |
X |
X |
X |
Valores de preferência |
X |
X |
X |
Valores de preferência adicionais |
X |
X |
X |
Preferência independente (declaração de next-hop qualificada ) |
X |
– |
– |
Informações da comunidade BGP para se associar à rota |
X |
X |
X |
Informações de caminho do sistema autônomo (AS) para se associarem à rota |
X |
X |
X |
Strings de tag osPF para associar com a rota |
X |
X |
X |
Não instale rotas estáticas ativas na tabela de encaminhamento |
X |
– |
– |
Instale a rota na tabela de encaminhamento |
X |
– |
– |
Mantenha permanentemente uma rota estática na tabela de encaminhamento |
X |
– |
– |
Inclua apenas as mais longas sequências líderes comuns dos caminhos de AS contribuintes |
– |
X |
– |
Inclua todos os números de AS para uma rota específica |
– |
X |
– |
Mantenha uma rota inativa nas tabelas de roteamento e encaminhamento |
X |
X |
X |
Remova uma rota inativa das tabelas de roteamento e encaminhamento |
X |
X |
X |
Política ativa para associar-se à rota |
– |
X |
X |
Especifique que uma rota é inelegível para versões de leitura |
X |
– |
– |
Especifique a rota para um prefixo que não seja um próximo hop conectado diretamente |
X |
– |
– |
Entender grupos de tabela de roteamento padrão para rotas de interface em roteadores PTX
Nos roteadores de transporte de pacotes da Série PTX, os grupos padrão de tabela de roteamento de roteamento de interface diferem dos outros dispositivos de roteamento Junos OS.
Os roteadores da Série PTX são plataformas de trânsito MPLS que fazem encaminhamento ip, normalmente usando rotas de protocolo de gateway interior (IGP). As rotas de interface são diretamente conectadas e rotas locais.
Os roteadores da Série PTX são diferentes de outros dispositivos de roteamento Junos OS, na qual eles forçam uma resolução de next-hop indireta. Os roteadores da Série PTX precisam que o próximo salto indireto seja resolvido para criar o próximo hop composto em cadeia. Isso pode fazer com que as rotas sejam ocultas quando o tipo de next-hop é inutilizável.
Para evitar que as rotas sejam ocultas, as plataformas da Série PTX copiam automaticamente as rotas em inet.0 para inet.2 e inet.3, e as rotas inet6.0 para inet6.2 e inet6.3.
A configuração da tabela de roteamento de interface padrão nos roteadores da Série PTX é a seguinte:
user@host# show routing-options | display inheritance defaults ## ## 'interface-routes' was inherited from group 'junos-defaults' ## interface-routes { ## ## 'rib-group' was inherited from group 'junos-defaults' ## rib-group { ## ## 'junos-ifrg-inet0-to-inet2-and-inet3' was inherited from group 'junos-defaults' ## inet junos-ifrg-inet0-to-inet2-and-inet3; ## ## 'junos-ifrg-inet60-to-inet62-and-inet63' was inherited from group 'junos-defaults' ## inet6 junos-ifrg-inet60-to-inet62-and-inet63; } } rib-groups { ## ## 'junos-ifrg-inet0-to-inet2-and-inet3' was inherited from group 'junos-defaults' ## junos-ifrg-inet0-to-inet2-and-inet3 { ## ## 'inet.0' was inherited from group 'junos-defaults' ## 'inet.2' was inherited from group 'junos-defaults' ## 'inet.3' was inherited from group 'junos-defaults' ## import-rib [ inet.0 inet.2 inet.3 ]; } ## ## 'junos-ifrg-inet60-to-inet62-and-inet63' was inherited from group 'junos-defaults' ## junos-ifrg-inet60-to-inet62-and-inet63 { ## ## 'inet6.0' was inherited from group 'junos-defaults' ## 'inet6.2' was inherited from group 'junos-defaults' ## 'inet6.3' was inherited from group 'junos-defaults' ## import-rib [ inet6.0 inet6.2 inet6.3 ]; } }
Veja também
Exemplo: criar tabelas de roteamento
Este exemplo mostra como criar uma tabela de roteamento personalizada.
Requisitos
Neste exemplo, nenhuma configuração especial além da inicialização do dispositivo é necessária.
Visão geral
Criar tabelas de roteamento é opcional. Você pode ter considerações políticas que o levariam a criar tabelas de roteamento separadas para gerenciar a propagação de informações de roteamento. Esse recurso raramente é usado, mas é demonstrado aqui para integridade.
Se você não criar tabelas de roteamento, o Junos OS usa suas tabelas de roteamento padrão.
Se você quiser adicionar rotas estáticas, agregadas, geradas ou marcianas apenas à tabela de roteamento unicast IPv4 padrão (inet.0), você não precisa criar nenhuma tabela de roteamento porque, por padrão, essas rotas são adicionadas ao inet.0. Você pode adicionar essas rotas, incluindo as declarações estáticas, agregadas, geradas e martians
.
Para criar explicitamente uma tabela de roteamento, inclua a rib
declaração e as declarações de crianças sob a rib
declaração.
O nome da tabela de roteamento inclui routing-table-namea família de protocolos, seguida opcionalmente por um período e um número. A família de protocolos pode ser inet para a família IPv4, inet6 para a família IPv6 ou iso para a família de protocolos International Standards Organization (ISO). O número representa a instância de roteamento. A primeira instância é 0.
Este exemplo mostra como configurar uma tabela de roteamento IPv4 personalizada chamada inet.14. O exemplo também mostra como preencher a tabela de roteamento com uma única rota estática.
Nos switches da Série EX, apenas rotas aprendidas dinamicamente podem ser importadas de um grupo de tabela de roteamento para outro.
Configuração
Configuração rápida da CLI
Para configurar rapidamente este exemplo, copie os seguintes comandos, cole-os em um arquivo de texto, remova quaisquer quebras de linha, altere os detalhes necessários para combinar com a configuração de sua rede e, em seguida, copie e cole os comandos na CLI no nível de [edit]
hierarquia.
set routing-options rib inet.14 static route 10.2.0.0/16 discard
Procedimento
Procedimento passo a passo
O exemplo a seguir exige que você navegue por vários níveis na hierarquia de configuração. Para obter informações sobre como navegar pela CLI, consulte o uso do editor de CLI no modo de configuração no Guia de usuário do Junos OS CLI.
Para criar uma tabela de roteamento:
Configure a tabela de roteamento.
[edit routing-options] user@host# set rib inet.14 static route 10.2.0.0/16 discard
Se você terminar de configurar o dispositivo, comprometa a configuração.
[edit] user@host# commit
Resultados
Confirme sua configuração emitindo o show routing-options
comando. Se a saída não exibir a configuração pretendida, repita as instruções neste exemplo para corrigir a configuração.
user@host# show routing-options rib inet.14 { static { route 10.2.0.0/16 discard; } }
Verificação
Confirme que a configuração está funcionando corretamente.
Verificando a tabela de roteamento
Propósito
Certifique-se de que a rota estática aparece na tabela de roteamento personalizada.
Ação
user@host> show route table inet.14 inet.14: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden) Restart Complete + = Active Route, - = Last Active, * = Both 10.2.0.0/16 *[Static/5] 00:00:09 Discard
Significado
A rota estática está na tabela de roteamento personalizada.
Exemplo: exportar rotas específicas de uma tabela de roteamento para outra tabela de roteamento
Este exemplo mostra como duplicar rotas específicas de uma tabela de roteamento para outra tabela de roteamento na mesma instância de roteamento.
Requisitos
Nenhuma configuração especial além da inicialização do dispositivo é necessária antes de configurar este exemplo.
Visão geral
Este exemplo usa a auto-export
declaração e a rib-group
declaração para atingir a meta de exportar rotas específicas de uma tabela de roteamento para outra.
Considere os seguintes pontos:
Quando a exportação automática é configurada em uma instância de roteamento, as políticas de importação de vrf e vrf-export são examinadas. Com base no alvo da rota e nas informações da comunidade nas políticas, a função de exportação automática realiza vazamento de rotas entre as tabelas inet.0 da instância de roteamento local.
Você pode usar a
rib-group
declaração se for necessário importar rotas para tabelas diferentes de instance.inet.0. Para usar um grupo RIB com auto-exportação, a instância de roteamento deve especificar políticas explícitas de importação de vrf e vrf-export . As políticas de importação de vrf e vrf-export podem ser estendidas para conter termos adicionais para filtrar rotas conforme necessário para o grupo RIB.
Neste exemplo, as rotas internas de acesso são adicionadas à tabela de roteamento vpna.inet.0. As rotas internas de acesso também são duplicadas na tabela de roteamento vpna.inet.2.
Configuração
- Configuração rápida da CLI
- Configuração de exportação de rota específica entre tabelas de roteamento
Configuração rápida da CLI
Para configurar rapidamente este exemplo, copie os seguintes comandos, cole-os em um arquivo de texto, remova quaisquer quebras de linha, altere os detalhes necessários para combinar com a configuração de sua rede e, em seguida, copie e cole os comandos na CLI no nível de [edit]
hierarquia.
set interfaces fe-1/3/1 vlan-tagging set interfaces fe-1/3/1 unit 0 vlan-id 512 set interfaces fe-1/3/1 unit 0 family inet address 10.168.100.3/24 set interfaces lo0 unit 0 family inet address 192.168.3.3/32 set routing-options rib-groups rib-group-vpna-access-internal import-rib vpna.inet.2 set routing-options autonomous-system 63000 set policy-options policy-statement vpna-export term a from protocol bgp set policy-options policy-statement vpna-export term a then community add vpna-comm set policy-options policy-statement vpna-export term a then accept set policy-options policy-statement vpna-export term b from protocol access-internal set policy-options policy-statement vpna-export term b then accept set policy-options policy-statement vpna-export term c then reject set policy-options policy-statement vpna-import term a from protocol bgp set policy-options policy-statement vpna-import term a from community vpna-comm set policy-options policy-statement vpna-import term a then accept set policy-options policy-statement vpna-import term b from instance vpna set policy-options policy-statement vpna-import term b from protocol access-internal set policy-options policy-statement vpna-import term b then accept set policy-options policy-statement vpna-import term c then reject set policy-options community vpna-comm members target:63000:100 set routing-instances vpna instance-type vrf set routing-instances vpna interface fe-1/3/1.1 set routing-instances vpna route-distinguisher 100:1 set routing-instances vpna vrf-import vpna-import set routing-instances vpna vrf-export vpna-export set routing-instances vpna routing-options auto-export family inet unicast rib-group rib-group-vpna-access-internal set routing-instances vpna protocols bgp group bgp-vpna type external set routing-instances vpna protocols bgp group bgp-vpna family inet multicast set routing-instances vpna protocols bgp group bgp-vpna peer-as 100 set routing-instances vpna protocols bgp group bgp-vpna neighbor 10.0.0.10
Configuração de exportação de rota específica entre tabelas de roteamento
Procedimento passo a passo
O exemplo a seguir exige que você navegue por vários níveis na hierarquia de configuração. Para obter instruções sobre como fazer isso, consulte o uso do editor de CLI no modo de configuração no Guia de usuário do Junos OS CLI.
Para configurar o dispositivo:
Configure as interfaces.
[edit interfaces fe-1/3/1] user@host# set vlan-tagging user@host# set unit 0 vlan-id 512 user@host# set unit 0 family inet address 10.168.100.3/24 [edit interfaces lo0 unit 0] user@host# set family inet address 192.168.3.3/32
-
Configure a política de roteamento que especifica rotas específicas para importação em vpna.inet.0 e exporte de vpna.inet.0.
[edit policy-options policy-statement vpna-export] user@host# set term a from protocol bgp user@host# set term a then community add vpna-comm user@host# set term a then accept user@host# set term b from protocol access-internal user@host# set term b then accept user@host# set term c then reject [edit policy-options policy-statement vpna-import] user@host# set term a from protocol bgp user@host# set term a from community vpna-comm user@host# set term a then accept user@host# set term b from instance vpna user@host# set term b from protocol access-internal user@host# set term b then accept user@host# set term c then reject [edit policy-options] user@host# set community vpna-comm members target:63000:100
-
Configure a instância de roteamento.
[edit routing-instances vpna] user@host# set instance-type vrf user@host# set interface fe-1/3/1.1 user@host# set route-distinguisher 100:1 user@host# set vrf-import vpna-import user@host# set vrf-export vpna-export
As declarações e
vrf-export
a importação de vrf são usadas para aplicar as políticas de roteamento vpna-importação e vpna-export. Configure o grupo RIB e as rotas de importação para a tabela de roteamento vpna.inet.2 .
[edit routing-options] user@host# set rib-groups rib-group-vpna-access-internal import-rib vpna.inet.2
Configure a
auto-export
declaração para permitir que as rotas sejam exportadas de uma tabela de roteamento para outra.[edit routing-options] user@host# set auto-export family inet unicast rib-group rib-group-vpna-access-internal
Configure BGP.
[edit routing-instances vpna protocols bgp group bgp-vpna] user@host# set type external user@host# set family inet multicast user@host# set peer-as 100 user@host# set neighbor 100.0.0.10
Configure o número do sistema autônomo (AS).
[edit routing-options] user@host# set autonomous-system 63000
Resultados
A partir do modo de configuração, confirme sua configuração entrando nosshow interfaces
, show policy-options
show routing-options
e show routing-instances
comandos. Se a saída não exibir a configuração pretendida, repita as instruções neste exemplo para corrigir a configuração.
user@host# show interfaces fe-1/3/1 { vlan-tagging; unit 0 { vlan-id 512; family inet { address 10.168.100.3/24; } } } lo0 { unit 0 { family inet { address 192.168.3.3/32; } } }
user@host# show policy-options policy-statement vpna-export { term a { from { protocol bgp; } then { community add vpna-comm; accept; } } term b { from protocol access-internal; then accept; } term c { then reject; } } policy-statement vpna-import { term a { from { protocol bgp; community vpna-comm; } then accept; } term b { from { instance vpna; protocol access-internal; } then accept; } term c { then reject; } } community vpna-comm members target:63000:100;
user@host# show routing-options rib-groups { rib-group-vpna-access-internal { import-rib vpna.inet.2; } } autonomous-system 63000;
user@host# show routing-instances vpna { instance-type vrf; interface fe-1/3/1.1; route-distinguisher 100:1; vrf-import vpna-import; vrf-export vpna-export; routing-options { auto-export { family inet { unicast { rib-group rib-group-vpna-access-internal; } } } } protocols { bgp { group bgp-vpna { type external; family inet { multicast; } peer-as 100; neighbor 100.0.0.10; } } } }
Se você terminar de configurar o dispositivo, insira o commit a partir do modo de configuração.
Verificação
Confirme que a configuração está funcionando corretamente executando os comandos e show route table vpna.inet.2
os show table route vpna.inet.0
comandos.