EN ESTA PÁGINA
Ejemplo: Aplicación de políticas de enrutamiento en diferentes niveles de la jerarquía de BGP
En este ejemplo se muestra el BGP configurado en una topología de red simple y se explica cómo surten efecto las directivas de enrutamiento cuando se aplican en distintos niveles de la configuración del BGP.
Requisitos
No se necesita ninguna configuración especial más allá de la inicialización del dispositivo antes de configurar este ejemplo.
Descripción general
Para BGP, puede aplicar políticas de la siguiente manera:
Instrucciones globales
import
yexport
BGP: incluya estas instrucciones en el nivel de jerarquía (para instancias de[edit protocols bgp]
enrutamiento, incluya estas instrucciones en el nivel de[edit routing-instances routing-instance-name protocols bgp]
jerarquía).Grupo
import
eexport
instrucciones: incluya estas instrucciones en el nivel de jerarquía (para las instancias de[edit protocols bgp group group-name]
enrutamiento, incluya estas instrucciones en el nivel de[edit routing-instances routing-instance-name protocols bgp group group-name]
jerarquía).Pares
import
eexport
instrucciones: incluya estas instrucciones en el nivel de jerarquía (para instancias de[edit protocols bgp group group-name neighbor address]
enrutamiento, incluya estas instrucciones en el nivel de[edit routing-instances routing-instance-name protocols bgp group group-name neighbor address]
jerarquía).
Una instrucción o export
nivel import
de par anula un grupo import
o export
una instrucción. Una instrucción o export
nivel import
de grupo anula un BGP import
o export
una instrucción global.
En este ejemplo, una directiva denominada send-direct
se aplica en el nivel global, otra directiva denominada send-192.168.0.1
se aplica en el nivel de grupo y una tercera directiva denominada send-192.168.20.1
se aplica en el nivel de vecino.
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; } }
Un punto clave, y que a menudo se malinterpreta y que puede generar problemas, es que en tal configuración, solo se aplica la política más explícita. Una política a nivel de vecino es más explícita que una política de nivel de grupo, que a su vez es más explícita que una política global.
El vecino 172.16.2.2 está sujeto solo a la política de envío 192.168.20.1. El vecino 172.16.3.3, que carece de algo más específico, está sujeto solo a la política de envío 192.168.0.1. Mientras tanto, el vecino 172.16.4.4 en el grupo otro grupo no tiene una política de nivel de grupo o vecino, por lo que utiliza la política de envío directo.
Si necesita que el vecino 172.16.2.2 realice la función de las tres políticas, puede escribir y aplicar una nueva política a nivel de vecino que abarque las funciones de las otras tres, o puede aplicar las tres políticas existentes, como una cadena, al vecino 172.16.2.2.
Topología
Figura 1 muestra la red de ejemplo.
Configuración rápida de CLI muestra la configuración de todos los dispositivos en Figura 1.
En la sección #configuration__policy-bgp-apply-levels-st se describen los pasos del dispositivo R1.
Configuración
Configuración rápida de CLI
Para configurar rápidamente este ejemplo, copie los siguientes comandos, péguelos en un archivo de texto, elimine los saltos de línea, cambie los detalles necesarios para que coincidan con su configuración de red y, a continuación, copie y pegue los comandos en la CLI en el nivel de [edit]
jerarquía.
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
Procedimiento
Procedimiento paso a paso
En el ejemplo siguiente, debe explorar por varios niveles en la jerarquía de configuración. Para obtener información acerca de cómo navegar por la CLI, consulte Uso del editor de CLI en modo de configuración en la Guía del usuario de CLI.
Para configurar una directiva de ruta predeterminada de IS-IS:
Configure las interfaces del 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 OSPF u otros protocolos de puerta de enlace interior (IGP) en las 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
Configurar rutas 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 las directivas de enrutamiento.
[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 BGP y aplique las políticas de exportación.
[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 el ID del enrutador y el número de sistema autónomo (AS).
[edit routing-options] user@R1# set router-id 172.16.1.1 user@R1# set autonomous-system 17
Cuando termine de configurar el dispositivo, confirme la configuración.
[edit] user@R1# commit
Resultados
Desde el modo de configuración, confirme la configuración emitiendo los show interfaces
comandos , show protocols
show policy-options
, y show routing-options
. Si el resultado no muestra la configuración deseada, repita las instrucciones en este ejemplo para corregir la configuración.
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;
Verificación
Confirme que la configuración funcione correctamente.
Verificación de BGP Route Learning
Propósito
Compruebe las tablas de enrutamiento para asegurarse de que las directivas de exportación del BGP funcionan según lo esperado.
Acción
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
En el dispositivo R1, el show route protocol direct
comando muestra dos rutas directas: 172.16.1.1/32 y 10.10.10.0/30. El show route protocol static
comando muestra dos rutas estáticas: 192.168.0.1/32 y 192.168.20.1/32.
En el dispositivo R2, el show route protocol bgp
comando muestra que la única ruta que el dispositivo R2 ha aprendido a través de BGP es la ruta 192.168.20.1/32.
En el dispositivo R3, el show route protocol bgp
comando muestra que la única ruta que el dispositivo R3 ha aprendido a través de BGP es la ruta 192.168.0.1/32.
En el dispositivo R4, el show route protocol bgp
comando muestra que las únicas rutas que el dispositivo R4 ha aprendido a través de BGP son las rutas 172.16.1.1/32 y 10.10.10.0/30.
Verificación de la recepción de rutas BGP
Propósito
Asegúrese de que las directivas de exportación de BGP funcionan como se esperaba comprobando las rutas BGP recibidas del dispositivo R1.
Acción
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
En el dispositivo R2, el comando muestra que el route receive-protocol bgp 172.16.1.1
dispositivo R2 recibió solo una ruta BGP, 192.168.20.1/32, del dispositivo R1.
En el dispositivo R3, el comando muestra que el route receive-protocol bgp 172.16.1.1
dispositivo R3 solo recibió una ruta BGP, 192.168.0.1/32, del dispositivo R1.
En el dispositivo R4, el comando muestra que el route receive-protocol bgp 172.16.1.1
dispositivo R4 recibió dos rutas BGP, 172.16.1.1/32 y 10.10.10.0/30, del dispositivo R1.
En resumen, cuando se aplican varias políticas en diferentes jerarquías de CLI en BGP, solo se evalúa la aplicación más específica, con exclusión de otras aplicaciones de políticas menos específicas. Aunque este punto puede parecer tener sentido, se olvida fácilmente durante la configuración del enrutador, cuando cree erróneamente que una política de nivel de vecino se combina con una política global o de nivel de grupo, solo para descubrir que su comportamiento de política no es el previsto.