Nesta página
Exemplo: Configuração de cadeias de políticas e filtros de rota
Uma cadeia de políticas é a aplicação de várias políticas em uma seção específica da configuração. Um filtro de rota é uma coleção de prefixos compatíveis.
Requisitos
Nenhuma configuração especial além da inicialização do dispositivo é necessária antes de configurar este exemplo.
Visão geral
Um exemplo de uma cadeia de políticas aplicada ao BGP é o seguinte:
user@R1# show protocols bgp group int { type internal; local-address 192.168.0.1; export [ adv-statics adv-large-aggregates adv-small-aggregates ]; neighbor 192.168.0.2; neighbor 192.168.0.3; }
A adv-statics
, adv-large-aggregates
e adv-small-aggregates
as políticas, além da política BGP padrão, compõem a cadeia de políticas aplicada aos pares BGP do Dispositivo R1. Duas das políticas demonstram filtros de rota com diferentes tipos de correspondência. A outra política corresponde a todas as rotas estáticas, de modo que nenhum filtro de rota é necessário.
user@R1# show policy-options policy-statement adv-large-aggregates { term between-16-and-18 { from { protocol aggregate; route-filter 172.16.0.0/16 upto /18; } then accept; } } policy-statement adv-small-aggregates { term between-19-and-24 { from { protocol aggregate; route-filter 172.16.0.0/16 prefix-length-range /19-/24; } then accept; } } policy-statement adv-statics { term statics { from protocol static; then accept; } }
Opcionalmente, você pode converter essa cadeia de políticas em uma única política multiterm para os peers internos do BGP (IBGP). Se você fizer isso, uma das vantagens de uma cadeia de políticas é perdida — a capacidade de reutilizar políticas para diferentes finalidades.
Figura 1 exibe o Dispositivo R1 no AS 64510 com seus pares IBGP, Dispositivo R2 e Dispositivo R3. O dispositivo R1 também tem conexões BGP (EBGP) externas ao dispositivo R4 no AS 64511 e ao dispositivo R5 no AS 64512. A política administrativa atual dentro do AS 64510 é enviar as rotas estáticas do cliente apenas para outros pares do IBGP. Qualquer peer EBGP que forneça serviço de trânsito recebe apenas rotas agregadas com comprimentos de máscara menores que 18 bits. Qualquer peer EBGP que forneça serviços de peering recebe todas as rotas do cliente e todos os agregados cujo comprimento de máscara é maior que 19 bits. Cada parte dessas políticas administrativas está configurada em uma política de roteamento separada dentro da hierarquia de [edit policy-opitons]
configuração. Essas políticas fornecem aos administradores do AS 64510 várias opções de configuração para rotas de publicidade para pares.
O Dispositivo R4 está fornecendo serviço de trânsito para o AS 64510, o que permite que o AS anuncie seu espaço de roteamento atribuído à Internet. Por outro lado, o serviço de peering fornecido pelo Dispositivo R5 permite que o AS 64510 rotee o tráfego diretamente entre os sistemas autônomos (ASs) para todas as rotas dos clientes.
Topologia
Figura 1 mostra a rede de amostra.
Configuração rápida da CLI mostra a configuração de todos os dispositivos em Figura 1.
O Procedimento de seção descreve as etapas do dispositivo R1.
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 [edit]
hierarquia.
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.0.0.1/30 set interfaces fe-1/2/2 unit 0 description to_R3 set interfaces fe-1/2/2 unit 0 family inet address 10.0.0.5/30 set interfaces fe-1/2/3 unit 0 description to_R4 set interfaces fe-1/2/3 unit 0 family inet address 10.1.0.5/30 set interfaces fe-1/2/1 unit 0 description to_R5 set interfaces fe-1/2/1 unit 0 family inet address 10.0.0.10/30 set interfaces lo0 unit 0 family inet address 192.168.0.1/32 set protocols bgp group int type internal set protocols bgp group int local-address 192.168.0.1 set protocols bgp group int export adv-statics set protocols bgp group int export adv-large-aggregates set protocols bgp group int export adv-small-aggregates set protocols bgp group int neighbor 192.168.0.2 set protocols bgp group int neighbor 192.168.0.3 set protocols bgp group to_64511 type external set protocols bgp group to_64511 export adv-large-aggregates set protocols bgp group to_64511 neighbor 10.1.0.6 peer-as 64511 set protocols bgp group to_64512 type external set protocols bgp group to_64512 export adv-small-aggregates set protocols bgp group to_64512 export adv-statics set protocols bgp group to_64512 neighbor 10.0.0.9 peer-as 64512 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/2.0 set protocols ospf area 0.0.0.0 interface lo0.0 passive set policy-options policy-statement adv-large-aggregates term between-16-and-18 from protocol aggregate set policy-options policy-statement adv-large-aggregates term between-16-and-18 from route-filter 172.16.0.0/16 upto /18 set policy-options policy-statement adv-large-aggregates term between-16-and-18 then accept set policy-options policy-statement adv-small-aggregates term between-19-and-24 from protocol aggregate set policy-options policy-statement adv-small-aggregates term between-19-and-24 from route-filter 172.16.0.0/16 prefix-length-range /19-/24 set policy-options policy-statement adv-small-aggregates term between-19-and-24 then accept set policy-options policy-statement adv-statics term statics from protocol static set policy-options policy-statement adv-statics term statics then accept set routing-options static route 172.16.1.16/28 discard set routing-options static route 172.16.1.32/28 discard set routing-options static route 172.16.1.48/28 discard set routing-options static route 172.16.1.64/28 discard set routing-options aggregate route 172.16.0.0/16 set routing-options aggregate route 172.16.1.0/24 set routing-options router-id 192.168.0.1 set routing-options autonomous-system 64510
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.0.0.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.1.0.1/30 set interfaces lo0 unit 0 family inet address 192.168.0.2/32 set protocols bgp group int type internal set protocols bgp group int local-address 192.168.0.2 set protocols bgp group int neighbor 192.168.0.1 export send-static-aggregate set protocols bgp group int neighbor 192.168.0.3 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 protocols ospf area 0.0.0.0 interface lo0.0 passive set policy-options policy-statement send-static-aggregate term 1 from protocol static set policy-options policy-statement send-static-aggregate term 1 from protocol aggregate set policy-options policy-statement send-static-aggregate term 1 then accept set routing-options static route 172.16.2.16/28 discard set routing-options static route 172.16.2.32/28 discard set routing-options static route 172.16.2.48/28 discard set routing-options static route 172.16.2.64/28 discard set routing-options aggregate route 172.16.2.0/24 set routing-options aggregate route 172.16.0.0/16 set routing-options router-id 192.168.0.2 set routing-options autonomous-system 64510
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.1.0.2/30 set interfaces fe-1/2/2 unit 0 description to_R1 set interfaces fe-1/2/2 unit 0 family inet address 10.0.0.6/30 set interfaces lo0 unit 0 family inet address 192.168.0.3/32 set protocols bgp group int type internal set protocols bgp group int local-address 192.168.0.3 set protocols bgp group int neighbor 192.168.0.1 export send-static-aggregate set protocols bgp group int neighbor 192.168.0.2 set protocols ospf area 0.0.0.0 interface fe-1/2/2.0 set protocols ospf area 0.0.0.0 interface fe-1/2/1.0 set protocols ospf area 0.0.0.0 interface lo0.0 passive set policy-options policy-statement send-static-aggregate from protocol static set policy-options policy-statement send-static-aggregate from protocol aggregate set policy-options policy-statement send-static-aggregate then accept set routing-options static route 172.16.3.16/28 discard set routing-options static route 172.16.3.32/28 discard set routing-options static route 172.16.3.48/28 discard set routing-options static route 172.16.3.64/28 discard set routing-options aggregate route 172.16.0.0/16 set routing-options aggregate route 172.16.3.0/24 set routing-options router-id 192.168.0.3 set routing-options autonomous-system 64510
Dispositivo R4
set interfaces fe-1/2/3 unit 0 description to_R1 set interfaces fe-1/2/3 unit 0 family inet address 10.1.0.6/30 set interfaces lo0 unit 0 family inet address 192.168.0.4/32 set protocols bgp group ext type external set protocols bgp group ext peer-as 64510 set protocols bgp group ext neighbor 10.1.0.5 set routing-options autonomous-system 64511
Dispositivo R5
set interfaces fe-1/2/1 unit 0 description to_R1 set interfaces fe-1/2/1 unit 0 family inet address 10.0.0.9/30 set interfaces lo0 unit 0 family inet address 192.168.0.5/32 set protocols bgp group ext type external set protocols bgp group ext neighbor 10.0.0.10 peer-as 64510 set routing-options autonomous-system 64512
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, veja Use o editor de CLI no modo de configuração no Guia de usuário do Junos OS CLI.
Para configurar o dispositivo R1:
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.0.0.1/30 user@R1# set fe-1/2/2 unit 0 description to_R3 user@R1# set fe-1/2/2 unit 0 family inet address 10.0.0.5/30 user@R1# set fe-1/2/3 unit 0 description to_R4 user@R1# set fe-1/2/3 unit 0 family inet address 10.1.0.5/30 user@R1# set fe-1/2/1 unit 0 description to_R5 user@R1# set fe-1/2/1 unit 0 family inet address 10.0.0.10/30 user@R1# set lo0 unit 0 family inet address 192.168.0.1/32
Configure as conexões DO IBGP com o dispositivo R2 e o dispositivo R3.
[edit protocols bgp group int] user@R1# set type internal user@R1# set local-address 192.168.0.1 user@R1# set neighbor 192.168.0.2 user@R1# set neighbor 192.168.0.3
Aplique as políticas de exportação para os pares internos.
[edit protocols bgp group int] user@R1# set export adv-statics user@R1# set export adv-large-aggregates user@R1# set export adv-small-aggregates
Configure a conexão EBGP com o dispositivo R4.
[edit protocols bgp group to_64511] user@R1# set type external user@R1# set neighbor 10.1.0.6 peer-as 64511
Aplique a política de exportação do dispositivo R4.
[edit protocols bgp group to_64511] user@R1# set export adv-large-aggregates
Configure a conexão EBGP com o dispositivo R5.
[edit protocols bgp group to_64512] user@R1# set type external user@R1# set neighbor 10.0.0.9 peer-as 64512
Aplique as políticas de exportação para o Dispositivo R5.
[edit protocols bgp group to_64512] user@R1# set export adv-small-aggregates user@R1# set export adv-statics
Configure conexões OSPF com o dispositivo R2 e o dispositivo R3.
[edit protocols ospf area 0.0.0.0] user@R1# set interface fe-1/2/0.0 user@R1# set interface fe-1/2/2.0 user@R1# set interface lo0.0 passive
Configure as políticas de roteamento.
[edit policy-options policy-statement adv-large-aggregates term between-16-and-18] user@R1# set from protocol aggregate user@R1# set from route-filter 172.16.0.0/16 upto /18 user@R1# set then accept [edit policy-options policy-statement adv-small-aggregates term between-19-and-24] user@R1# set from protocol aggregate user@R1# set from route-filter 172.16.0.0/16 prefix-length-range /19-/24 user@R1# set then accept [edit policy-options policy-statement adv-statics term statics] user@R1# set from protocol static user@R1# set then accept
Configure as rotas estáticas e agregadas.
[edit routing-options static] user@R1# set route 172.16.1.16/28 discard user@R1# set route 172.16.1.32/28 discard user@R1# set route 172.16.1.48/28 discard user@R1# set route 172.16.1.64/28 discard [edit routing-options aggregate] user@R1# set route 172.16.0.0/16 user@R1# set route 172.16.1.0/24
Configure o número do sistema autônomo (AS) e o ID do roteador.
[edit routing-options] user@R1# set router-id 192.168.0.1 user@R1# set autonomous-system 64510
Resultados
A partir do modo de configuração, confirme sua configuração entrando noshow interfaces
, show protocols
show policy-options
e show routing-options
comandos. 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.0.0.1/30; } } } fe-1/2/2 { unit 0 { description to_R3; family inet { address 10.0.0.5/30; } } } fe-1/2/3 { unit 0 { description to_R4; family inet { address 10.1.0.5/30; } } } fe-1/2/1 { unit 0 { description to_R5; family inet { address 10.0.0.10/30; } } } lo0 { unit 0 { family inet { address 192.168.0.1/32; } } }
user@R1# show protocols bgp { group int { type internal; local-address 192.168.0.1; export [ adv-statics adv-large-aggregates adv-small-aggregates ]; neighbor 192.168.0.2; neighbor 192.168.0.3; } group to_64511 { type external; export adv-large-aggregates; neighbor 10.1.0.6 { peer-as 64511; } } group to_64512 { type external; export [ adv-small-aggregates adv-statics ]; neighbor 10.0.0.9 { peer-as 64512; } } } ospf { area 0.0.0.0 { interface fe-1/2/0.0; interface fe-1/2/2.0; interface lo0.0 { passive; } } }
user@R1# show policy-options policy-statement adv-large-aggregates { term between-16-and-18 { from { protocol aggregate; route-filter 172.16.0.0/16 upto /18; } then accept; } } policy-statement adv-small-aggregates { term between-19-and-24 { from { protocol aggregate; route-filter 172.16.0.0/16 prefix-length-range /19-/24; } then accept; } } policy-statement adv-statics { term statics { from protocol static; then accept; } }
user@R1# show routing-options static { route 172.16.1.16/28 discard; route 172.16.1.32/28 discard; route 172.16.1.48/28 discard; route 172.16.1.64/28 discard; } aggregate { route 172.16.0.0/16; route 172.16.1.0/24; } router-id 192.168.0.1; autonomous-system 64510;
Se você terminar de configurar o dispositivo, entre no commit
modo de configuração.
Verificação
Confirme se a configuração está funcionando corretamente.
- Verificando o anúncio de rota para o dispositivo R4
- Verificando a origem das rotas mais longas
- Bloqueando as rotas mais específicas
- Verificando o anúncio de rota para o dispositivo R5
Verificando o anúncio de rota para o dispositivo R4
Propósito
No dispositivo R1, certifique-se de que as rotas do cliente sejam anunciadas para o dispositivo R4.
Ação
user@R1> show route advertising-protocol bgp 10.1.0.6 inet.0: 29 destinations, 31 routes (29 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path * 172.16.0.0/16 Self I * 172.16.2.0/24 Self I * 172.16.2.16/28 Self I * 172.16.2.32/28 Self I * 172.16.2.48/28 Self I * 172.16.2.64/28 Self I * 172.16.3.0/24 Self I * 172.16.3.16/28 Self I * 172.16.3.32/28 Self I * 172.16.3.48/28 Self I * 172.16.3.64/28 Self I
Significado
A adv-large-aggregates
política é aplicada à sessão de peering com o Dispositivo R4 para anunciar as rotas agregadas com um comprimento de máscara de sub-rede entre 16 e 18 bits. A rota agregada de 172.16.0.0/16 está sendo enviada conforme definido pela política administrativa, mas várias outras rotas com máscaras de sub-rede maiores também estão sendo enviadas para o Dispositivo R4.
Verificando a origem das rotas mais longas
Propósito
No dispositivo R1, veja de onde vêm as outras rotas.
Ação
user@R1> show route 172.16.3.16/28 inet.0: 29 destinations, 31 routes (29 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 172.16.3.16/28 *[BGP/170] 20:16:00, localpref 100, from 192.168.0.3 AS path: I, validation-state: unverified > to 10.0.0.6 via fe-1/2/2.0
Significado
O dispositivo R1 aprendeu essa rota através de sua sessão BGP com o dispositivo R3. Por ser uma rota BGP ativa, ela é anunciada automaticamente pela política padrão do BGP. Lembre-se que a política padrão é sempre aplicada ao fim de cada cadeia de políticas. O que é necessário é uma política para impedir que as rotas mais específicas sejam anunciadas.
Bloqueando as rotas mais específicas
Propósito
Crie uma política chamada not-larger-than-18
que rejeita todas as rotas dentro do espaço de endereço 172.16.0/16 que tenha um comprimento de máscara de sub-rede maior ou igual a 19 bits. Isso garante que todos os agregados com uma máscara entre 16 e 18 bits sejam anunciados, realizando assim a meta da política administrativa.
Ação
No dispositivo R1, configure a
not-larger-than-18
política.[edit policy-options policy-statement not-larger-than-18 term reject-greater-than-18-bits] user@R1# set from route-filter 172.16.0.0/16 prefix-length-range /19-/32 user@R1# set then reject
No dispositivo R1, aplique a política à sessão de peering com o dispositivo R4.
[edit protocols bgp group to_64511] user@R1# set export not-larger-than-18 user@R1# commit
No dispositivo R1, verifique quais rotas são anunciadas para o dispositivo R4.
user@R1> show route advertising-protocol bgp 10.1.0.6 inet.0: 29 destinations, 31 routes (29 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path * 172.16.0.0/16 Self I
Significado
A cadeia de políticas está funcionando corretamente. Apenas a rota 172.16.0.0 /16 é anunciada para o dispositivo R4.
Verificando o anúncio de rota para o dispositivo R5
Propósito
No dispositivo R1, certifique-se de que as rotas do cliente sejam anunciadas para o dispositivo R5.
O dispositivo R5 é o peer EBGP do Dispositivo R1 no AS 64512. A política administrativa afirma que esse peer recebe apenas rotas agregadas maiores que 18 bits de comprimento e todas as rotas dos clientes. Na expectativa de encontrar um problema semelhante ao problema no dispositivo R4, você pode criar uma política chamada not-smaller- than-18
que rejeita todos os agregados com comprimentos de máscara entre 16 e 18 bits.
Ação
No dispositivo R2, configure uma rota agregada para 172.16.128.0/17.
[edit routing-options aggregate] user@R2# set route 172.16.128.0/17 discard user@R2# commit
No dispositivo R1, verifique quais rotas são anunciadas para o dispositivo R5.
user@R1> show route advertising-protocol bgp 10.0.0.9 inet.0: 30 destinations, 32 routes (30 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path * 172.16.1.0/24 Self I * 172.16.1.16/28 Self I * 172.16.1.32/28 Self I * 172.16.1.48/28 Self I * 172.16.1.64/28 Self I * 172.16.2.0/24 Self I * 172.16.2.16/28 Self I * 172.16.2.32/28 Self I * 172.16.2.48/28 Self I * 172.16.2.64/28 Self I * 172.16.3.0/24 Self I * 172.16.3.16/28 Self I * 172.16.3.32/28 Self I * 172.16.3.48/28 Self I * 172.16.3.64/28 Self I * 172.16.128.0/17 Self I
A rota agregada 172.16.128.0/17 é anunciada, violando a política administrativa
No dispositivo R1, configure a
not-smaller-than-18
política.[edit policy-options policy-statement not-smaller-than-18 term reject-less-than-18-bits] user@R1# set from protocol aggregate user@R1# set from route-filter 172.16.0.0/16 upto /18 user@R1# set then reject
No dispositivo R1, aplique a política na sessão de peering com o dispositivo R5.
[edit protocols bgp group to_64512] user@R1# set export not-smaller-than-18 user@R1# commit
No dispositivo R1, verifique quais rotas são anunciadas para o dispositivo R5.
user@R1> show route advertising-protocol bgp 10.0.0.9 inet.0: 29 destinations, 31 routes (29 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path * 172.16.1.0/24 Self I * 172.16.1.16/28 Self I * 172.16.1.32/28 Self I * 172.16.1.48/28 Self I * 172.16.1.64/28 Self I * 172.16.2.0/24 Self I * 172.16.2.16/28 Self I * 172.16.2.32/28 Self I * 172.16.2.48/28 Self I * 172.16.2.64/28 Self I * 172.16.3.0/24 Self I * 172.16.3.16/28 Self I * 172.16.3.32/28 Self I * 172.16.3.48/28 Self I * 172.16.3.64/28 Self I
Significado
A cadeia de políticas está funcionando corretamente. Apenas agregar rotas maiores que 18 bits de comprimento e todas as rotas de clientes são anunciadas para o dispositivo R5.