Exemplo: Configuração de uma política de roteamento para preparação de caminhos AS
Este exemplo mostra como configurar uma política de roteamento para preparar o caminho AS em rotas específicas anunciadas pelo BGP.
Requisitos
Antes de começar, certifique-se de que suas interfaces e protocolos do roteador estejam configurados corretamente. Fornecemos a configuração de interface e protocolo BGP usada neste documento.
Este exemplo foi atualizado e validado novamente no junos versão 22.1R1.
Visão geral
Neste exemplo, você cria uma política de roteamento chamada prependpolicy1 .prependterm1 A política de roteamento prepara o NÚMERO 65001 três vezes para rotas que correspondem aos prefixos 172.16.0.0/12, 192.168.0/16 e 10.0.0.0/8 , quando o comprimento da máscara é igual ou maior do que a máscara especificada. O resultado é uma correspondência ocorre quando o comprimento da máscara da rota é igual ou maior do que a máscara de rede especificada. A prependpolicy1 política é aplicada como política de exportação para as rotas BGP anunciadas pelo R1 no AS 65001 a R2 no AS número 65000. As rotas que não correspondem às faixas de prefixo especificadas não passam pelo preparatório do caminho AS.
Topologia
No peering EBGP de topologia está configurado entre R1 e R2. É usado peering de interface direta para os endereços de sub-rede 10.1.23.0/24. R1 pertence ao número AS 65001 e está configurado para preparar seu número AS para um conjunto específico de rotas correspondentes quando anunciado para R2.
Ao adicionar números AS ao caminho AS, a rota se torna menos provável de ser selecionada para o encaminhamento. Isso pode ser feito pelo proprietário do AS 65001 para reduzir a quantidade de tráfego de entrada que recebe do operador do AS 65000.
Neste exemplo, demonstramos a preparação do caminho AS por meio de uma política de exportação. Você também pode usar uma política de importação para combinar em rotas para manipulação de atributos. Em geral, é uma prática recomendada apenas preparar seu número de AS local para rotas. Preparar os números de AS que pertencem a redes remotas pode levar a resultados inesperados.
Para obter mais informações sobre a seleção de caminhos BGP, veja Understanding BGP Path Selection.
Configuração
Procedimento
Configuração rápida da CLI
Nesta seção, focamos na configuração do dispositivo R1. Consulte o apêndice para ver as configurações completas de todos os dispositivos usados neste exemplo.
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 [edit] hierarquia.
Neste exemplo, atribuímos três prefixos de teste a uma interface não utilizado no R1. Um quarto prefixo de teste é atribuído ao endereço loopback do R1. Isso oferece quatro rotas diretas que podem ser anunciadas no BGP. Nossa política usa uma combinação de protocol direct
e route-filter
declarações para controlar quais prefixos passam pelo preparatório do caminho AS.
set system host-name R1 set interfaces xe-0/0/0:1 unit 0 family inet address 10.1.23.1/24 set interfaces xe-0/0/0:0 unit 0 family inet address 10.255.1.1/30 set interfaces xe-0/0/0:0 unit 0 family inet address 172.16.0.1/24 set interfaces xe-0/0/0:0 unit 0 family inet address 10.200.1.1/24 set interfaces lo0 unit 0 family inet address 192.168.0.1/32 set policy-options policy-statement prependpolicy1 term prependterm1 from protocol direct set policy-options policy-statement prependpolicy1 term prependterm1 from route-filter 172.16.0.0/16 orlonger set policy-options policy-statement prependpolicy1 term prependterm1 from route-filter 192.168.0.0/24 orlonger set policy-options policy-statement prependpolicy1 term prependterm1 from route-filter 10.255.1.0/24 orlonger set policy-options policy-statement prependpolicy1 term prependterm1 then as-path-prepend "65001 65001 65001" set policy-options policy-statement prependpolicy1 term prependterm1 then accept set policy-options policy-statement prependpolicy1 term else from protocol direct set policy-options policy-statement prependpolicy1 term else from route-filter 10.200.0.0/16 orlonger set policy-options policy-statement prependpolicy1 term else then accept set routing-options autonomous-system 65001 set routing-options router-id 192.168.0.1 set protocols bgp group ebgp type external set protocols bgp group ebgp export prependpolicy1 set protocols bgp group ebgp peer-as 65000 set protocols bgp group ebgp neighbor 10.1.23.2
Procedimento passo a passo
As etapas a seguir exigem que você navegue por vários níveis na hierarquia de configuração. Para obter instruções sobre como fazer isso, veja Use o editor de CLI no modo de configuração no Guia de usuário do Junos OS CLI.
Para criar uma política de roteamento que prepara os números DE para rotas específicas :
-
Configure as interfaces de peering e loopback.
user@R1# [edit] set interfaces xe-0/0/0:1 unit 0 family inet address 10.1.23.1/24 set interfaces lo0 unit 0 family inet address 192.168.0.1/32
-
Configure o número AS, RID e o grupo de peer BGP externo. Você define a prependpolicy1 política na próxima etapa. A política é aplicada como política de exportação para afetar as rotas anunciadas pelo R1.
user@R1# [edit] set routing-options autonomous-system 65001 set routing-options router-id 192.168.0.1 set protocols bgp group ebgp type external set protocols bgp group ebgp export prependpolicy1 set protocols bgp group ebgp peer-as 65000 set protocols bgp group ebgp neighbor 10.1.23.2
-
Configure a prependpolicy1 política. O uso de declarações do
or-longer
switch para o filtro de rota permite combinar quando o comprimento da máscara é igual ou maior do que a máscara especificada. Outras opções, comoexact
combinar apenas quando o prefixo e os comprimentos da máscara são iguais. O else termo demonstra como uma rota que não corresponde ao prependterm1 termo é anunciada sem o preparo do caminho AS, igualando o else termo.user@R1# [edit] set policy-options policy-statement prependpolicy1 term prependterm1 from protocol direct set policy-options policy-statement prependpolicy1 term prependterm1 from route-filter 172.16.0.0/16 orlonger set policy-options policy-statement prependpolicy1 term prependterm1 from route-filter 192.168.0.0/24 orlonger set policy-options policy-statement prependpolicy1 term prependterm1 from route-filter 10.255.1.0/24 orlonger set policy-options policy-statement prependpolicy1 term prependterm1 then as-path-prepend "65001 65001 65001" set policy-options policy-statement prependpolicy1 term prependterm1 then accept set policy-options policy-statement prependpolicy1 term else from protocol direct set policy-options policy-statement prependpolicy1 term else from route-filter 10.200.0.0/16 orlonger set policy-options policy-statement prependpolicy1 term else then accept
Nota:Ao inserir vários números de AS, você deve separar cada número com um espaço. Coloque a seqüência de números de AS em duas cotações.
-
Definir rotas de teste. Em nossa topologia de amostra, atribuímos prefixos a uma interface não utilizado que está operacionalmente ativa. Isso fornece rotas diretas para o BGP anunciar para testar a operação da política de exportação.
user@R1# [edit] set interfaces xe-0/0/0:0 unit 0 family inet address 10.255.1.1/30 set interfaces xe-0/0/0:0 unit 0 family inet address 172.16.0.1/24 set interfaces xe-0/0/0:0 unit 0 family inet address 10.200.1.1/24
Resultados
Confirme sua configuração ingressando no show policy-optionsmodo de show protocols bgpshow routing-options configuração e show interfaces comandos. Se a saída não exibir a configuração pretendida, repita as instruções de configuração neste exemplo para corrigi-la.
user@R1#[edit] user@R1# show policy-options policy-statement prependpolicy1 { term prependterm1 { from { protocol direct; route-filter 172.16.0.0/16 orlonger; route-filter 192.168.0.0/24 orlonger; route-filter 10.255.1.0/24 orlonger; } then { as-path-prepend "65001 65001 65001"; accept; } } term else { from { protocol direct; route-filter 10.200.0.0/16 orlonger; } then accept; } } [edit] user@R1# show protocols bgp group ebgp { type external; export direct; peer-as 65000; neighbor 10.1.23.2; } [edit] user@R1# show routing-options autonomous-system 65001; router-id 192.168.0.1 user@R1# show interfaces xe-0/0/0:0 unit 0 { family inet { address 10.255.1.1/30; address 172.16.0.1/24; address 10.200.1.1/24; } } [edit] user@R1# show interfaces xe-0/0/0:1 unit 0 { family inet { address 10.1.23.1/24; } } [edit] user@R1# show interfaces lo0 unit 0 { family inet { address 192.168.0.1/32; } }
Se você terminar de configurar o dispositivo R1 , entre no commit modo de configuração.
Verificação
Para confirmar que a configuração está funcionando corretamente, execute essas tarefas:
- Verificando a política de preparação para AS
- Verificação do aplicativo de política de roteamento e peering BGP
- Verificar como preparação do caminho
Verificando a política de preparação para AS
Propósito
Verifique se a política está configurada no dispositivo e se as rotas apropriadas são especificadas para preparar com números DE.
Ação
A partir do modo operacional, entre no show policy prependpolicy1 comando.
user@R1> show policy prependpolicy1 Policy prependpolicy1: [CHANGED/RESOLVED/] Term prependterm1: from proto Direct route filter: 172.16.0.0/16 orlonger 192.168.0.0/24 orlonger 10.255.1.0/24 orlonger then aspathprepend 65001 65001 65001 accept Term else: from proto Direct route filter: 10.200.0.0/16 orlonger then accept
A política exibe as condições e ações corretas de correspondência.
Verificação do aplicativo de política de roteamento e peering BGP
Propósito
Verifique se a política de roteamento é aplicada como política de exportação para o grupo de pares EBGP. Esta etapa também confirma que a sessão BGP para R2 está corretamente estabelecida.
Ação
A partir do modo operacional, entre no show bgp neighbor 10.1.23.2 comando.
user@R1> show bgp neighbor 10.1.23.2 Peer: 10.1.23.2+49642 AS 65000 Local: 10.1.23.1+179 AS 65001 Group: ebgp Routing-Instance: master Forwarding routing-instance: master Type: External State: Established Flags: <Sync> Last State: OpenConfirm Last Event: RecvKeepAlive Last Error: None Export: [ prependpolicy1 ] Options: <PeerAS Refresh> Options: <GracefulShutdownRcv> Holdtime: 90 Preference: 170 Graceful Shutdown Receiver local-preference: 0 Number of flaps: 1 Last flap event: RecvNotify Error: 'Cease' Sent: 0 Recv: 1 Peer ID: 192.168.0.2 Local ID: 192.168.0.1 Active Holdtime: 90 . . . Input messages: Total 2498 Updates 1 Refreshes 0 Octets 47510 Output messages: Total 2500 Updates 3 Refreshes 0 Octets 47620 Output Queue[1]: 0 (inet.0, inet-unicast)
A saída de comando confirma que a sessão BGP está estabelecida e que a R1 aplicou a prependpolicy1 política como exportação.
Verificar como preparação do caminho
Propósito
Verifique se a política de exportação funciona como projeto para preparar os números DE para rotas correspondentes.
Ação
A partir do modo operacional, entre no show route protocol bgp comando no R2. Alternativamente, use o show route advertising-protocol bgp 10.1.23.2 na R1 para exibir detalhes sobre as rotas que anuncia para o R2.
user@R2> show route protocol bgp
inet.0: 14 destinations, 14 routes (14 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
10.200.1.0/24 *[BGP/170] 00:04:46, localpref 100
AS path: 65001 I, validation-state: unverified
> to 10.1.23.1 via xe-0/0/0:0.0
10.255.1.0/30 *[BGP/170] 00:04:46, localpref 100
AS path: 65001 65001 65001 65001 I, validation-state: unverified
> to 10.1.23.1 via xe-0/0/0:0.0
172.16.0.0/24 *[BGP/170] 00:04:46, localpref 100
AS path: 65001 65001 65001 65001 I, validation-state: unverified
> to 10.1.23.1 via xe-0/0/0:0.0
192.168.0.1/32 *[BGP/170] 00:04:46, localpref 100
AS path: 65001 65001 65001 65001 I, validation-state: unverified
> to 10.1.23.1 via xe-0/0/0:0.0
As rotas mostram o esperado preparação do caminho AS. Observe que a rota 10.200.1.0/24 só tem uma instância de AS número 65001. Essa rota não corresponde às declarações do filtro de prependpolicy1 rota na prependterm1 política e, portanto, não passa por nenhuma preparação.
A visão do R1 sobre as rotas BGP que anuncia para r2 é fornecida para integridade:
user@R1> show route advertising-protocol bgp 10.1.23.2
inet.0: 16 destinations, 16 routes (16 active, 0 holddown, 0 hidden)
Prefix Nexthop MED Lclpref AS path
* 10.200.1.0/24 Self I
* 10.255.1.0/30 Self 65001 65001 65001 [65001] I
* 172.16.0.0/24 Self 65001 65001 65001 [65001] I
* 192.168.0.1/32 Self 65001 65001 65001 [65001] I
Configurações completas do apêndice
A configuração completa para R1.
set system host-name R1 set interfaces xe-0/0/0:0 unit 0 family inet address 10.255.1.1/30 set interfaces xe-0/0/0:0 unit 0 family inet address 172.16.0.1/24 set interfaces xe-0/0/0:0 unit 0 family inet address 10.200.1.1/24 set interfaces xe-0/0/0:1 unit 0 family inet address 10.1.23.1/24 set interfaces lo0 unit 0 family inet address 192.168.0.1/32 set policy-options policy-statement prependpolicy1 term prependterm1 from protocol direct set policy-options policy-statement prependpolicy1 term prependterm1 from route-filter 172.16.0.0/16 orlonger set policy-options policy-statement prependpolicy1 term prependterm1 from route-filter 192.168.0.0/24 orlonger set policy-options policy-statement prependpolicy1 term prependterm1 from route-filter 10.255.1.0/24 orlonger set policy-options policy-statement prependpolicy1 term prependterm1 then as-path-prepend "65001 65001 65001" set policy-options policy-statement prependpolicy1 term prependterm1 then accept set policy-options policy-statement prependpolicy1 term else from protocol direct set policy-options policy-statement prependpolicy1 term else from route-filter 10.200.0.0/16 orlonger set policy-options policy-statement prependpolicy1 term else then accept set routing-options router-id 192.168.0.1 set routing-options autonomous-system 65001 set protocols bgp group ebgp type external set protocols bgp group ebgp export prependpolicy1 set protocols bgp group ebgp peer-as 65000 set protocols bgp group ebgp neighbor 10.1.23.2
A configuração completa para R2.
set system host-name R2 set interfaces xe-0/0/0:0 unit 0 family inet address 10.1.23.2/24 set interfaces lo0 unit 0 family inet address 192.168.0.2/32 set routing-options router-id 192.168.0.2 set routing-options autonomous-system 65000 set protocols bgp group ebgp type external set protocols bgp group ebgp peer-as 65001 set protocols bgp group ebgp neighbor 10.1.23.1