Ejemplo: Configuración de una directiva de enrutamiento para la ruta del AS antepuesta
En este ejemplo se muestra cómo configurar una directiva de enrutamiento para anteponer la ruta del AS en rutas específicas anunciadas por BGP.
Requisitos
Antes de comenzar, asegúrese de que las interfaces y los protocolos del enrutador estén configurados correctamente. Proporcionamos la interfaz y la configuración del protocolo BGP utilizada en este documento.
Este ejemplo se actualizó y volvió a validar en la versión 2 2 de Junos.1 R1.
Descripción general
En este ejemplo, se crea una política de enrutamiento denominada prependpolicy1 y un término denominado prependterm1. La política de enrutamiento antepone el número AS 65001 tres veces a las rutas que coinciden con los prefijos 172.16.0.0/12, 192.168.0.0/16 y 10.0.0.0/8 , cuando la longitud de la máscara es igual o mayor que la máscara especificada. El resultado es que se produce una coincidencia cuando la longitud de la máscara de la ruta es igual o mayor que la máscara de red especificada. La prependpolicy1 política se aplica como una política de exportación a las rutas BGP anunciadas por R1 en AS 65001 a R2 en el número AS 65000. Las rutas que no coinciden con los rangos de prefijos especificados no se someten a una anteposición de ruta de AS.
Topología
En la topología, el emparejamiento de EBGP se configura entre R1 y R2. Se utiliza el emparejamiento directo de interfaz con las direcciones de subred 10.1.23.0/24. R1 pertenece al número de AS 65001 y está configurado para anteponer su número de AS a un conjunto específico de rutas coincidentes cuando se anuncia en R2.
Al agregar números de AS a la ruta del AS, es menos probable que se seleccione la ruta para el reenvío. El propietario del AS 65001 puede hacer esto para reducir la cantidad de tráfico de entrada que recibe del operador del AS 65000.
En este ejemplo, demostramos la ruta del AS antepuesta a través de una política de exportación. También puede utilizar una política de importación para hacer coincidir las rutas para la manipulación de atributos. En general, se recomienda anteponer solo el número de AS local a las rutas. Anteponer números de AS que pertenecen a redes remotas puede dar lugar a resultados inesperados.
Para obtener más información sobre la selección de rutas BGP, consulte Understanding BGP Path Selection.
Configuración
Procedimiento
Configuración rápida de CLI
En esta sección nos centramos en la configuración del dispositivo R1. Consulte el apéndice para ver las configuraciones completas de todos los dispositivos utilizados en este ejemplo.
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.
En este ejemplo, asignamos tres prefijos de prueba a una interfaz no utilizada en R1. Se asigna un cuarto prefijo de prueba a la dirección de circuito cerrado de R1. Esto proporciona cuatro rutas directas que se pueden anunciar en BGP. Nuestra política usa una combinación de instrucciones y route-filter
para controlar qué prefijos se someten a la anteposición de ruta de protocol direct
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
Procedimiento paso a paso
Los pasos siguientes requieren que navegue por varios niveles en la jerarquía de configuración. Para obtener instrucciones sobre cómo hacerlo, consulte Usar el editor de CLI en el modo de configuración la Guía del usuario de la CLI de Junos OS.
Para crear una política de enrutamiento que anteponga números de AS a rutas específicas :
-
Configure las interfaces de emparejamiento y circuito cerrado.
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 el número AS, el RID y el grupo del mismo nivel del BGP externo. La directiva se define en prependpolicy1 el paso siguiente. La política se aplica como una política de exportación para afectar a las rutas anunciadas por 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 la prependpolicy1 directiva. El uso de instrucciones switch to the route filter permite una coincidencia cuando la longitud de
or-longer
la máscara es igual o mayor que la máscara especificada. Otras opciones comoexact
coincidir solo cuando las longitudes del prefijo y la máscara son iguales. El else término muestra cómo se anuncia una ruta que no coincide con el prependterm1 término sin que la ruta del AS se anteponga al hacer coincidir el else término.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:Cuando especifique varios números AS, debe separar cada número con un espacio. Escriba la cadena de números AS entre comillas dobles.
-
Definir rutas de prueba. En nuestra topología de ejemplo, asignamos prefijos a una interfaz no utilizada que está operativamente activa. Esto proporciona rutas directas para que BGP anuncie para probar el funcionamiento de la política de exportación.
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 la configuración introduciendo los comandos ,, y show interfaces desde el show policy-optionsmodo de show routing-optionsconfiguración. show protocols bgp Si el resultado no muestra la configuración deseada, repita las instrucciones de configuración en este ejemplo para corregirla.
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; } }
Si ha terminado de configurar el dispositivo R1 , ingrese commit desde el modo de configuración.
Verificación
Para confirmar que la configuración funcione correctamente, realice las siguientes tareas:
- Comprobación de la política de anteposición del AS
- Comprobación de la aplicación de la política de enrutamiento y el emparejamiento de BGP
- Comprobar la ruta del AS antepuesta
Comprobación de la política de anteposición del AS
Propósito
Compruebe que la directiva esté configurada en el dispositivo y que se hayan especificado las rutas adecuadas para anteponer con números de AS.
Acción
Desde el modo operativo, ingrese el comando show policy prependpolicy1 .
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
La directiva muestra las condiciones y acciones de coincidencia correctas.
Comprobación de la aplicación de la política de enrutamiento y el emparejamiento de BGP
Propósito
Compruebe que la directiva de enrutamiento se aplica como una política de exportación al grupo del mismo nivel del EBGP. Este paso también confirma que la sesión BGP en R2 se ha establecido correctamente.
Acción
Desde el modo operativo, ingrese el comando show bgp neighbor 10.1.23.2.
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)
La salida del comando confirma que la sesión BGP se ha establecido y que R1 ha aplicado la prependpolicy1 política como exportación.
Comprobar la ruta del AS antepuesta
Propósito
Compruebe que la política de exportación funciona según lo diseñado para anteponer los números de AS a las rutas coincidentes.
Acción
Desde el modo operativo, ingrese el show route protocol bgp comando en R2. Alternativamente, use el show route advertising-protocol bgp 10.1.23.2 at R1 para mostrar detalles sobre las rutas que anuncia a 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
Las rutas muestran la ruta de AS esperada pendiente. Tenga en cuenta que la ruta 10.200.1.0/24 solo tiene una instancia del número AS 65001. Esta ruta no coincide con las instrucciones de filtro de ruta de la prependterm1prependpolicy1 directiva y, por lo tanto, no se somete a ninguna anteposición.
La vista de R1 de las rutas BGP que anuncia a R2 se proporciona para completar:
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
Apéndice Configuraciones completas
La configuración 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
La configuración 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