Nesta página
Exemplo: Aplicação de políticas de roteamento em diferentes níveis da hierarquia BGP
Este exemplo mostra o BGP configurado em uma topologia de rede simples e explica como as polícias de roteamento fazem efeito quando são aplicadas em diferentes níveis da configuração do BGP.
Requisitos
Nenhuma configuração especial além da inicialização do dispositivo é necessária antes de configurar este exemplo.
Visão geral
Para BGP, você pode aplicar políticas da seguinte forma:
Global e declarações do BGP — Inclua essas declarações no nível de hierarquia (para instâncias de roteamento, incluam essas declarações no nível hierárquica).
import
export
[edit protocols bgp]
[edit routing-instances routing-instance-name protocols bgp]
Grupo e declarações — Inclua essas declarações no nível de hierarquia (para instâncias de roteamento, incluam essas declarações no nível hierárquicos ).
import
export
[edit protocols bgp group group-name]
[edit routing-instances routing-instance-name protocols bgp group group-name]
Peer and statements — Inclua essas declarações no nível de hierarquia (para instâncias de roteamento, incluam essas declarações no nível hierárquica ).
import
export
[edit protocols bgp group group-name neighbor address]
[edit routing-instances routing-instance-name protocols bgp group group-name neighbor address]
Um nível ou declaração por pares substitui um grupo ou uma declaração.import
export
import
export
Um nível de grupo ou declaração substitui um BGP ou declaração global.import
export
import
export
Neste exemplo, uma política nomeada é aplicada no nível global, outra política nomeada é aplicada no nível do grupo, e uma terceira política nomeada é aplicada no nível vizinho.send-direct
send-192.168.0.1
send-192.168.20.1
user@host# show protocols bgp { local-address 172.16.1.1; export send-direct; group internal-peers { type internal; export send-192.168.0.1; neighbor 172.16.2.2 { export send-192.168.20.1; } neighbor 172.16.3.3; } group other-group { type internal; neighbor 172.16.4.4; } }
Um ponto-chave, e que muitas vezes é mal interpretado e que pode levar a problemas, é que, em tal configuração, apenas a política mais explícita é aplicada. Uma política de nível vizinho é mais explícita do que uma política de nível de grupo, que por sua vez é mais explícita do que uma política global.
O vizinho 172.16.2.2 está sujeito apenas à política de envio-192.168.20.1. O vizinho 172.16.3.3, sem nada mais específico, está sujeito apenas à política send-192.168.0.1. Enquanto isso, o vizinho 172.16.4.4 no grupo de outro grupo não tem política de grupo ou nível vizinho, por isso usa a política de envio direto.
Se você precisar ter o vizinho 172.16.2.2.2 executando a função das três políticas, você pode escrever e aplicar uma nova política de nível vizinho que engloba as funções dos outros três, ou você pode aplicar as três políticas existentes, como uma cadeia, ao vizinho 172.16.2.2.
Topologia
Figura 1 mostra a rede de amostra.
![Aplicação de políticas de roteamento ao BGP](../../../images/g041446.gif)
Configuração rápida da CLI mostra a configuração de todos os dispositivos em Figura 1.
A seção descreve as etapas do dispositivo R1.#configuration__policy-bgp-apply-levels-st
Configuração
Configuração rápida da CLI
Para configurar este exemplo rapidamente, copie os seguintes comandos, cole-os em um arquivo de texto, remova qualquer quebra de linha, altere os detalhes necessários para combinar com a configuração da sua rede e, em seguida, copie e cole os comandos no CLI no nível de hierarquia.[edit]
Dispositivo R1
set interfaces fe-1/2/0 unit 0 description to-R2 set interfaces fe-1/2/0 unit 0 family inet address 10.10.10.1/30 set interfaces lo0 unit 0 family inet address 172.16.1.1/32 set protocols bgp local-address 172.16.1.1 set protocols bgp export send-direct set protocols bgp group internal-peers type internal set protocols bgp group internal-peers export send-static-192.168.0 set protocols bgp group internal-peers neighbor 172.16.2.2 export send-static-192.168.20 set protocols bgp group internal-peers neighbor 172.16.3.3 set protocols bgp group other-group type internal set protocols bgp group other-group neighbor 172.16.4.4 set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ospf area 0.0.0.0 interface fe-1/2/0.0 set policy-options policy-statement send-direct term 1 from protocol direct set policy-options policy-statement send-direct term 1 then accept set policy-options policy-statement send-static-192.168.0 term 1 from protocol static set policy-options policy-statement send-static-192.168.0 term 1 from route-filter 192.168.0.0/24 orlonger set policy-options policy-statement send-static-192.168.0 term 1 then accept set policy-options policy-statement send-static-192.168.20 term 1 from protocol static set policy-options policy-statement send-static-192.168.20 term 1 from route-filter 192.168.20.0/24 orlonger set policy-options policy-statement send-static-192.168.20 term 1 then accept set routing-options static route 192.168.0.1/32 discard set routing-options static route 192.168.20.1/32 discard set routing-options router-id 172.16.1.1 set routing-options autonomous-system 17
Dispositivo R2
set interfaces fe-1/2/0 unit 0 description to-R1 set interfaces fe-1/2/0 unit 0 family inet address 10.10.10.2/30 set interfaces fe-1/2/1 unit 0 description to-R3 set interfaces fe-1/2/1 unit 0 family inet address 10.10.10.5/30 set interfaces lo0 unit 0 family inet address 172.16.2.2/32 set protocols bgp group internal-peers type internal set protocols bgp group internal-peers local-address 172.16.2.2 set protocols bgp group internal-peers neighbor 172.16.3.3 set protocols bgp group internal-peers neighbor 172.16.1.1 set protocols bgp group internal-peers neighbor 172.16.4.4 set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ospf area 0.0.0.0 interface fe-1/2/0.0 set protocols ospf area 0.0.0.0 interface fe-1/2/1.0 set routing-options router-id 172.16.2.2 set routing-options autonomous-system 17
Dispositivo R3
set interfaces fe-1/2/1 unit 0 description to-R2 set interfaces fe-1/2/1 unit 0 family inet address 10.10.10.6/30 set interfaces fe-1/2/2 unit 0 description to-R4 set interfaces fe-1/2/2 unit 0 family inet address 10.10.10.9/30 set interfaces lo0 unit 0 family inet address 172.16.3.3/32 set protocols bgp group internal-peers type internal set protocols bgp group internal-peers local-address 172.16.3.3 set protocols bgp group internal-peers neighbor 172.16.2.2 set protocols bgp group internal-peers neighbor 172.16.1.1 set protocols bgp group internal-peers neighbor 172.16.4.4 set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ospf area 0.0.0.0 interface fe-1/2/1.0 set protocols ospf area 0.0.0.0 interface fe-1/2/2.0 set routing-options router-id 172.16.3.3 set routing-options autonomous-system 17
Dispositivo R4
set interfaces fe-1/2/2 unit 0 description to-R3 set interfaces fe-1/2/2 unit 0 family inet address 10.10.10.10/30 set interfaces lo0 unit 0 family inet address 172.16.4.4/32 set protocols bgp group internal-peers type internal set protocols bgp group internal-peers local-address 172.16.4.4 set protocols bgp group internal-peers neighbor 172.16.2.2 set protocols bgp group internal-peers neighbor 172.16.1.1 set protocols bgp group internal-peers neighbor 172.16.3.3 set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ospf area 0.0.0.0 interface fe-1/2/2.0 set routing-options router-id 172.16.4.4 set routing-options autonomous-system 17
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 na CLI, consulte Usando o Editor de CLI no modo de configuração no Guia do usuário da CLI.Use o editor de CLI no modo de configuraçãohttps://www.juniper.net/documentation/en_US/junos/information-products/pathway-pages/junos-cli/junos-cli.html
Para configurar uma política de rota padrão IS-IS:
Configure as interfaces do dispositivo.
[edit interfaces] user@R1# set fe-1/2/0 unit 0 description to-R2 user@R1# set fe-1/2/0 unit 0 family inet address 10.10.10.1/30 user@R1# set lo0 unit 0 family inet address 172.16.1.1/32
Habilite o OSPF, ou outro protocolo de gateway interior (IGP), nas interfaces.
[edit protocols OSPF area 0.0.0.0] user@R1# set interface lo0.0 passive user@R1# set interface fe-1/2/0.0
Configure rotas estáticas.
[edit routing-options] user@R1# set static route 192.168.0.1/32 discard user@R1# set static route 192.168.20.1/32 discard
Habilite as políticas de roteamento.
[edit protocols policy-options] user@R1# set policy-statement send-direct term 1 from protocol direct user@R1# set policy-statement send-direct term 1 then accept user@R1# set policy-statement send-static-192.168.0 term 1 from protocol static user@R1# set policy-statement send-static-192.168.0 term 1 from route-filter 192.168.0.0/24 orlonger user@R1# set policy-statement send-static-192.168.0 term 1 then accept user@R1# set policy-statement send-static-192.168.20 term 1 from protocol static user@R1# set policy-statement send-static-192.168.20 term 1 from route-filter 192.168.20.0/24 orlonger user@R1# set policy-statement send-static-192.168.20 term 1 then accept
Configure o BGP e aplique as políticas de exportação.
[edit protocols bgp] user@R1# set local-address 172.16.1.1 user@R1# set protocols bgp export send-direct user@R1# set group internal-peers type internal user@R1# set group internal-peers export send-static-192.168.0 user@R1# set group internal-peers neighbor 172.16.2.2 export send-static-192.168.20 user@R1# set group internal-peers neighbor 172.16.3.3 user@R1# set group other-group type internal user@R1# set group other-group neighbor 172.16.4.4
Configure a ID do roteador e o número do sistema autônomo (AS).
[edit routing-options] user@R1# set router-id 172.16.1.1 user@R1# set autonomous-system 17
Se você terminar de configurar o dispositivo, confirme a configuração.
[edit] user@R1# commit
Resultados
A partir do modo de configuração, confirme sua configuração emitindo os comandos e os comandos.show interfaces
show protocols
show policy-options
show routing-options
Se a saída não exibir a configuração pretendida, repita as instruções neste exemplo para corrigir a configuração.
user@R1# show interfaces fe-1/2/0 { unit 0 { description to-R2; family inet { address 10.10.10.1/30; } } } lo0 { unit 0 { family inet { address 172.16.1.1/32; } } }
user@R1# show protocols bgp { local-address 172.16.1.1; export send-direct; group internal-peers { type internal; export send-static-192.168.0; neighbor 172.16.2.2 { export send-static-192.168.20; } neighbor 172.16.3.3; } group other-group { type internal; neighbor 172.16.4.4; } } ospf { area 0.0.0.0 { interface lo0.0 { passive; } interface fe-1/2/0.0; } }
user@R1# show policy-options policy-statement send-direct { term 1 { from protocol direct; then accept; } } policy-statement send-static-192.168.0 { term 1 { from { protocol static; route-filter 192.168.0.0/24 orlonger; } then accept; } } policy-statement send-static-192.168.20 { term 1 { from { protocol static; route-filter 192.168.20.0/24 orlonger; } then accept; } }
user@R1# show routing-options static { route 192.168.0.1/32 discard; route 192.168.20.1/32 discard; } router-id 172.16.1.1; autonomous-system 17;
Verificação
Confirme se a configuração está funcionando corretamente.
Verificação do aprendizado de rota BGP
Propósito
Certifique-se de que as políticas de exportação do BGP estejam funcionando como esperado verificando as tabelas de roteamento.
Ação
user@R1> show route protocol direct inet.0: 11 destinations, 11 routes (11 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 172.16.1.1/32 *[Direct/0] 1d 22:19:47 > via lo0.0 10.10.10.0/30 *[Direct/0] 1d 22:19:47 > via fe-1/2/0.0
user@R1> show route protocol static inet.0: 11 destinations, 11 routes (11 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 192.168.0.1/32 *[Static/5] 02:20:03 Discard 192.168.20.1/32 *[Static/5] 02:20:03 Discard
user@R2> show route protocol bgp inet.0: 11 destinations, 11 routes (11 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 192.168.20.1/32 *[BGP/170] 02:02:40, localpref 100, from 172.16.1.1 AS path: I, validation-state: unverified > to 10.10.10.1 via fe-1/2/0.0
user@R3> show route protocol bgp inet.0: 11 destinations, 11 routes (11 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 192.168.0.1/32 *[BGP/170] 02:02:51, localpref 100, from 172.16.1.1 AS path: I, validation-state: unverified > to 10.10.10.5 via fe-1/2/1.0
user@R4> show route protocol bgp inet.0: 9 destinations, 11 routes (9 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 172.16.1.1/32 [BGP/170] 1d 20:38:54, localpref 100, from 172.16.1.1 AS path: I, validation-state: unverified > to 10.10.10.9 via fe-1/2/2.0 10.10.10.0/30 [BGP/170] 1d 20:38:54, localpref 100, from 172.16.1.1 AS path: I, validation-state: unverified > to 10.10.10.9 via fe-1/2/2.0
Significado
No dispositivo R1, o comando exibe duas rotas diretas:show route protocol direct
172,16,1,1/32 e 10,10,10,0/30. O comando exibe duas rotas estáticas:show route protocol static
192.168.0.1/32 e 192.168.20.1/32.
No dispositivo R2, o comando mostra que a única rota que o Dispositivo R2 aprendeu através do BGP é a rota 192.168.20.1/32.show route protocol bgp
No dispositivo R3, o comando mostra que a única rota que o Dispositivo R3 aprendeu através do BGP é a rota 192.168.0.1/32.show route protocol bgp
No Dispositivo R4, o comando mostra que as únicas rotas que o Dispositivo R4 aprendeu através do BGP são as rotas 172.16.1.1/32 e 10.10.10.0/30.show route protocol bgp
Verificação do recebimento de rotas BGP
Propósito
Certifique-se de que as políticas de exportação do BGP estejam funcionando como esperado verificando as rotas BGP recebidas do Dispositivo R1.
Ação
user@R2> show route receive-protocol bgp 172.16.1.1 inet.0: 11 destinations, 11 routes (11 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path * 192.168.20.1/32 172.16.1.1 100 I
user@R3> show route receive-protocol bgp 172.16.1.1 inet.0: 11 destinations, 11 routes (11 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path * 192.168.0.1/32 172.16.1.1 100 I
user@R4> show route receive-protocol bgp 172.16.1.1 inet.0: 9 destinations, 11 routes (9 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path 172.16.1.1/32 172.16.1.1 100 I 10.10.10.0/30 172.16.1.1 100 I
Significado
No dispositivo R2, o comando mostra que o dispositivo R2 recebeu apenas uma rota BGP, 192.168.20.1/32, do dispositivo R1.route receive-protocol bgp 172.16.1.1
No dispositivo R3, o comando mostra que o dispositivo R3 recebeu apenas uma rota BGP, 192.168.0.1/32, do Dispositivo R1.route receive-protocol bgp 172.16.1.1
No dispositivo R4, o comando mostra que o dispositivo R4 recebeu duas rotas BGP, 172.16.1.1/32 e 10.10.10.0/30, do dispositivo R1.route receive-protocol bgp 172.16.1.1
Em resumo, quando várias políticas são aplicadas em diferentes hierarquias de CLI no BGP, apenas o aplicativo mais específico é avaliado, para exclusão de outros aplicativos de políticas menos específicos. Embora este ponto pareça fazer sentido, ele é facilmente esquecido durante a configuração do roteador, quando você acredita erroneamente que uma política de nível vizinho é combinada com uma política global ou de nível de grupo, apenas para descobrir que o seu comportamento de política não é tão esperado.