EN ESTA PÁGINA
Ejemplo: Configuración de una subrutina de políticas
En este ejemplo, se muestra el uso de una subrutina de política en una condición de coincidencia de política de enrutamiento.
Requisitos
No se requiere ninguna configuración especial más allá de la inicialización del dispositivo antes de configurar este ejemplo.
Descripción general
En el dispositivo R1, se configura una política llamada main .
user@R1# show policy-options
policy-statement main {
term subroutine-as-a-match {
from policy subroutine;
then accept;
}
term nothing-else {
then reject;
}
}
Esta política principal llama a una subrutina llamada subroutine.
user@R1# show policy-options
policy-statement subroutine {
term get-routes {
from protocol static;
then accept;
}
term nothing-else {
then reject;
}
}
El enrutador evalúa la lógica de main una manera definida. El criterio de coincidencia permite from policy subroutine que el dispositivo de enrutamiento localice la subrutina. Todos los términos de la subrutina se evalúan, para seguir las reglas normales de procesamiento de políticas. En este ejemplo, todas las rutas estáticas de la tabla de enrutamiento coinciden con la subrutina con una acción de aceptar. Esto devuelve un resultado verdadero a la política original o llamada, que informa al dispositivo de que se ha producido una coincidencia positiva. Las acciones de la política de llamada se ejecutan y se acepta la ruta. Todas las demás rutas de la tabla de enrutamiento no coinciden con la subrutina y devuelven un resultado falso a la política de llamada. El dispositivo evalúa el segundo término de main y rechaza las rutas.
Las acciones en la subrutina no aceptan ni rechazan realmente una ruta específica. Las acciones de subrutina solo se traducen en un resultado verdadero o falso. Sin embargo, las acciones que modifican los atributos de una ruta se aplican a la ruta independientemente del resultado de la subrutina.
El dispositivo R1 del AS 64510 tiene varias rutas de cliente, algunas de las cuales son rutas estáticas configuradas localmente, y algunas de las cuales se reciben desde los dispositivos R2 y R3 a través del BGP interno (IBGP). El AS 64510 está conectado al dispositivo R4 del AS 64511. La política main se aplica como política de exportación en la sesión de emparejamiento del BGP del dispositivo R1 con el dispositivo R4. Esto hace que el dispositivo R1 envíe solo sus propias rutas estáticas al dispositivo R4. Debido a la política main, el dispositivo R1 no envía las rutas recibidas de sus pares internos, los dispositivos R2 y R3.
Cuando esté trabajando con subrutinas de políticas, es importante recordar que la política de exportación predeterminada de EBGP es anunciar todas las rutas de BGP aprendidas a todos los pares de EBGP. Esta política predeterminada está vigente en la política principal y también en la subrutina. Por lo tanto, como se muestra en este ejemplo, si no desea que la política de exportación predeterminada del EBGP tenga efecto, debe configurar una then reject acción de finalización como el término final tanto en la directiva principal como en la subrutina de políticas. En este ejemplo, se muestra lo que sucede cuando falta el término final then reject de la política principal o de la subrutina de política.
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.
La sección #configuration318__policy-subroutine-st describe los pasos en el 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, luego, copie y pegue los comandos en la CLI en el [edit] nivel de 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.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 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 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 main set protocols bgp group to_64511 neighbor 10.1.0.6 peer-as 64511 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 main term subroutine-as-a-match from policy subroutine set policy-options policy-statement main term subroutine-as-a-match then accept set policy-options policy-statement main term nothing-else then reject set policy-options policy-statement subroutine term get-routes from protocol static set policy-options policy-statement subroutine term get-routes then accept set policy-options policy-statement subroutine term nothing-else then reject 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 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 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 term 1 from protocol static set policy-options policy-statement send-static 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 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 set protocols bgp group int neighbor 192.168.0.2 set protocols ospf area 0.0.0.0 interface fe-1/2/2.6 set protocols ospf area 0.0.0.0 interface fe-1/2/0.4 set protocols ospf area 0.0.0.0 interface lo0.0 passive set policy-options policy-statement send-static from protocol static set policy-options policy-statement send-static 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 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
Procedimiento
Procedimiento paso a paso
El siguiente ejemplo requiere que navegue por varios niveles en la jerarquía de configuración. Para obtener más información acerca de cómo navegar por la CLI, consulte Usar el Editor de CLI en modo de configuración en la Guía del usuario de la CLI de Junos OS.
Para configurar el dispositivo R1:
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.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 lo0 unit 0 family inet address 192.168.0.1/32
Configure las conexiones internas del BGP (IBGP) en los dispositivos R2 y 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
Configure la conexión del EBGP al dispositivo R4.
[edit protocols bgp group to_64511] user@R1# set type external user@R1# set export main user@R1# set neighbor 10.1.0.6 peer-as 64511
Configure las conexiones de OSPF para los dispositivos R2 y 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 la política
main.[edit policy-options policy-statement main term subroutine-as-a-match] user@R1# set from policy subroutine user@R1# set then accept [edit policy-options policy-statement main term nothing-else] user@R1# set then reject
Configure la política
subroutine.[edit policy-options policy-statement subroutine term get-routes] user@R1# set from protocol static user@R1# set then accept [edit policy-options policy-statement subroutine term nothing-else] user@R1# set then reject
Configure la ruta estática a la red 172.16.5.0/24.
[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
Configure el número de sistema autónomo (AS) y el ID del enrutador.
[edit routing-options] user@R1# set router-id 192.168.0.1 user@R1# set autonomous-system 64510
Resultados
Desde el modo de configuración, ingrese los comandos , show protocols, show policy-optionsy show routing-options para confirmar la show interfacesconfiguración. 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.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;
}
}
}
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;
neighbor 192.168.0.2;
neighbor 192.168.0.3;
}
group to_64511 {
type external;
export main;
neighbor 10.1.0.6 {
peer-as 64511;
}
}
}
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 main {
term subroutine-as-a-match {
from policy subroutine;
then accept;
}
term nothing-else {
then reject;
}
}
policy-statement subroutine {
term get-routes {
from protocol static;
then accept;
}
term nothing-else {
then reject;
}
}
user@R1# show routing-options
static {
route 172.6.1.16/28 discard;
route 172.6.1.32/28 discard;
route 172.6.1.48/28 discard;
route 172.6.1.64/28 discard;
}
router-id 192.168.0.1;
autonomous-system 64510;
Si ha terminado de configurar el dispositivo, ingrese commit desde el modo de configuración.
Verificación
Confirme que la configuración funciona correctamente.
- Verificar las rutas en el dispositivo R1
- Verificar el anuncio de ruta al dispositivo R4
- Experimentar con la política de exportación predeterminada del BGP
Verificar las rutas en el dispositivo R1
Propósito
En el dispositivo R1, compruebe las rutas estáticas en la tabla de enrutamiento.
Acción
user@R1> show route protocol static
inet.0: 23 destinations, 23 routes (23 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
172.16.1.16/28 *[Static/5] 1d 02:02:13
Discard
172.16.1.32/28 *[Static/5] 1d 02:02:13
Discard
172.16.1.48/28 *[Static/5] 1d 02:02:13
Discard
172.16.1.64/28 *[Static/5] 1d 02:02:13
DiscardSignificado
El dispositivo R1 tiene cuatro rutas estáticas.
Verificar el anuncio de ruta al dispositivo R4
Propósito
En el dispositivo R1, asegúrese de que las rutas estáticas se anuncien al dispositivo R4.
Acción
user@R1> show route advertising-protocol bgp 10.1.0.6 inet.0: 23 destinations, 23 routes (23 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path * 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
Significado
Como se esperaba, el dispositivo R1 solo anuncia sus rutas estáticas al dispositivo R4.
Experimentar con la política de exportación predeterminada del BGP
Propósito
Vea lo que puede pasar cuando elimina el término final then reject de la política main o de la política subroutine.
Acción
En el dispositivo R1, desactive el término final en la política
main.[edit policy-options policy-statement main] user@R1# deactivate term nothing-else user@R1# commit
En el dispositivo R1, compruebe qué rutas se anuncian al dispositivo R4.
user@R1> show route advertising-protocol bgp 10.1.0.6 inet.0: 23 destinations, 23 routes (23 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path * 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.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.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
Ahora, todas las rutas del BGP del dispositivo R1 se envían al dispositivo R4. Esto se debe a que después de que el procesamiento se devuelve a la política
main, la política de exportación predeterminada del BGP tiene efecto.En el dispositivo R1, reactive el plazo final de la política
mainy desactive el plazo final en la políticasubroutine.[edit policy-options policy-statement main] user@R1# activate term nothing-else [edit policy-options policy-statement subroutine] user@R1# deactivate term nothing-else user@R1# commit
En el dispositivo R1, compruebe qué rutas se anuncian al dispositivo R4.
user@R1> show route advertising-protocol bgp 10.1.0.6 inet.0: 23 destinations, 23 routes (23 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path * 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.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.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
Ahora, todas las rutas del BGP del dispositivo R1 se envían al dispositivo R4. Esto se debe a que antes de que el procesamiento se devuelva a la política
main, la política de exportación predeterminada del BGP tiene efecto en la políticasubroutine.
Significado
Para evitar que la política de exportación predeterminada del BGP entre en vigor, debe incluir un término final then reject en la política principal y en todas las subrutinas referenciadas.
