EN ESTA PÁGINA
Ejemplo: Configuración de listas de prefijos de directiva de enrutamiento
En Junos OS, las listas de prefijos proporcionan un método para definir un conjunto de rutas. Junos OS proporciona otros métodos para realizar la misma tarea, como filtros de ruta. Una lista de prefijos es una lista de prefijos IP que representan un conjunto de rutas que se utilizan como criterios de coincidencia en una política aplicada. Dicha lista puede ser útil para representar una lista de rutas de clientes en su sistema autónomo (AS). Se asigna un nombre a una lista de prefijos y se configura dentro de la jerarquía de [edit policy-options]
configuración.
Requisitos
No se necesita ninguna configuración especial más allá de la inicialización del dispositivo antes de configurar este ejemplo.
Actualizado y revalidado con Junos OS versión 22.1R1.
Descripción general
Las listas de prefijos son similares a una lista de filtros de ruta. La diferencia funcional entre los filtros de ruta y las listas de prefijos es que no se puede especificar un rango mediante una lista de prefijos. Puede simular un rango mediante una lista de prefijos incluyendo prefijos adicionales en la lista o utilizando dos listas de prefijos, una más corta y otra más larga, estableciendo una para aceptar y la otra para rechazar. También puede filtrar una lista de prefijos mediante la condición de prefix-list-filter
coincidencia. Sus opciones son exact
, longer
, y orlonger
.
La ventaja de una lista de prefijos sobre una lista de filtros de ruta se ve cuando se hace referencia a los prefijos en varias ubicaciones diferentes. Por ejemplo, se puede hacer referencia a una lista de prefijos en una política de importación de BGP, una política de exportación, una política de RPF, en filtros de firewall, en filtros de circuito cerrado, en la configuración de un ámbito de multidifusión, etc.
Cuando la lista de prefijos cambia, en lugar de intentar recordar las muchas ubicaciones diferentes en las que se configuran los prefijos, puede actualizar la lista de prefijos, cambiando el prefijo una vez en lugar de varias. Esto ayuda a reducir la probabilidad de errores de configuración, como escribir mal la dirección en una ubicación u olvidar actualizar una o más ubicaciones.
Las listas de prefijos también ayudan cuando se administra una gran cantidad de dispositivos. Puede escribir los distintos filtros y políticas de la forma más genérica posible, haciendo referencia a listas de prefijos en lugar de direcciones IP específicas. La lógica más compleja de los filtros y las políticas debe escribirse solo una vez, con personalizaciones mínimas por dispositivo y por sitio.
Como se muestra en Figura 1, cada rutaer en AS 65000 tiene rutas de cliente. El dispositivo R1 asigna rutas del cliente dentro de la subred 172.16.1.0/24. Los dispositivos R2 y R3 asignan rutas de cliente dentro de las subredes 172.16.2.0/24 y 172.16.3.0/24, respectivamente. El dispositivo R1 ha sido designado como el punto central en el AS 65000 para mantener una lista completa de las rutas de los clientes. El dispositivo R1 tiene una lista de prefijos denominada customers
, como se indica a continuación:
user@R1# show policy-options prefix-list customers { 172.16.1.16/28; 172.16.1.32/28; 172.16.1.48/28; 172.16.1.64/28; 172.16.2.16/28; 172.16.2.32/28; 172.16.2.48/28; 172.16.2.64/28; 172.16.3.16/28; 172.16.3.32/28; 172.16.3.48/28; 172.16.3.64/28; }
Como puede ver, la lista de prefijos no contiene un tipo de coincidencia para cada ruta (como vería con un filtro de ruta). Este es un punto importante cuando se usa una lista de prefijos en una política. Las rutas solo coinciden si coinciden exactamente con uno de los prefijos de la lista. En otras palabras, cada ruta de la lista debe aparecer en la tabla de enrutamiento exactamente como está configurada en la lista de prefijos.
Puede hacer referencia a la lista de prefijos como criterio de coincidencia dentro de una política como esta:
user@R1# show policy-options policy-statement customer-routes { term get-routes { from { prefix-list customers; } then accept; } term others { then reject; } }
En este ejemplo, todas las rutas de la lista de customers
prefijos aparecen en la tabla de enrutamiento del dispositivo R1. Los dispositivos R2 y R3 exportan a rutas estáticas del dispositivo R1 a sus clientes.
Como se mencionó anteriormente, puede usar la condición de prefix-list-filter
coincidencia con el , o orlonger
el tipo de exact
longer
coincidencia. Esto proporciona una manera de evitar la limitación de la lista de prefijos de coincidencia exacta de las listas de prefijos. Por ejemplo:
user@R1# show policy-options policy-statement customer-routes { term get-routes { from { prefix-list-filter customers orlonger; } then accept; } term others { then reject; } }
En el ejemplo se muestran los efectos tanto de la prefix-list
condición de coincidencia como de la prefix-list-filter
condición de coincidencia.
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 #configuration449__policy-prefix-list-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 ge-0/0/0 unit 0 description to_R2 set interfaces ge-0/0/0 unit 0 family inet address 10.0.0.1/30 set interfaces ge-0/0/1 unit 0 description to_R3 set interfaces ge-0/0/1 unit 0 family inet address 10.0.0.5/30 set interfaces ge-0/0/2 unit 0 description to_R4 set interfaces ge-0/0/2 unit 0 family inet address 10.1.0.5/30 set interfaces lo0 unit 0 family inet address 192.168.0.1/32 set policy-options prefix-list customers 172.16.1.16/28 set policy-options prefix-list customers 172.16.1.32/28 set policy-options prefix-list customers 172.16.1.48/28 set policy-options prefix-list customers 172.16.1.64/28 set policy-options prefix-list customers 172.16.2.16/28 set policy-options prefix-list customers 172.16.2.32/28 set policy-options prefix-list customers 172.16.2.48/28 set policy-options prefix-list customers 172.16.2.64/28 set policy-options prefix-list customers 172.16.3.16/28 set policy-options prefix-list customers 172.16.3.32/28 set policy-options prefix-list customers 172.16.3.48/28 set policy-options prefix-list customers 172.16.3.64/28 set policy-options policy-statement customer-routes term get-routes from prefix-list customers set policy-options policy-statement customer-routes term get-routes then accept set policy-options policy-statement customer-routes term others then reject set routing-options router-id 192.168.0.1 set routing-options autonomous-system 65000 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 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_65001 type external set protocols bgp group to_65001 export customer-routes set protocols bgp group to_65001 neighbor 10.1.0.6 peer-as 65001 set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 set protocols ospf area 0.0.0.0 interface ge-0/0/1.0 set protocols ospf area 0.0.0.0 interface lo0.0 passive
Dispositivo R2
set interfaces ge-0/0/0 unit 0 description to_R1 set interfaces ge-0/0/0 unit 0 family inet address 10.0.0.2/30 set interfaces ge-0/0/1 unit 0 description to_R3 set interfaces ge-0/0/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 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 router-id 192.168.0.2 set routing-options autonomous-system 65000 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 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 ge-0/0/0.0 set protocols ospf area 0.0.0.0 interface ge-0/0/1.0 set protocols ospf area 0.0.0.0 interface lo0.0 passive
Dispositivo R3
set interfaces ge-0/0/0 unit 0 description to_R1 set interfaces ge-0/0/0 unit 0 family inet address 10.0.0.6/30 set interfaces ge-0/0/1 unit 0 description to_R2 set interfaces ge-0/0/1 unit 0 family inet address 10.1.0.2/30 set interfaces lo0 unit 0 family inet address 192.168.0.3/32 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 router-id 192.168.0.3 set routing-options autonomous-system 65000 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 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 ge-0/0/0.0 set protocols ospf area 0.0.0.0 interface ge-0/0/1.0 set protocols ospf area 0.0.0.0 interface lo0.0 passive
Dispositivo R4
set interfaces ge-0/0/0 unit 0 description to_R1 set interfaces ge-0/0/0 unit 0 family inet address 10.1.0.6/30 set interfaces lo0 unit 0 family inet address 192.168.0.4/32 set routing-options autonomous-system 65001 set protocols bgp group ext type external set protocols bgp group ext peer-as 65000 set protocols bgp group ext neighbor 10.1.0.5
Procedimiento
Procedimiento paso a paso
Mostramos el procedimiento paso a paso para configurar R1. Los otros enrutadores tienen un proceso paso a paso similar. El ejemplo siguiente requiere que navegue por varios niveles en la jerarquía de configuración. Para obtener información acerca de cómo navegar por la CLI, consulte Usar el editor de CLI en el modo de configuración el Manual del usuario de la CLI de Junos OS.
Para configurar R1:
-
Configure las interfaces.
[edit] user@R1# set interfaces ge-0/0/0 unit 0 description to_R2 user@R1# set interfaces ge-0/0/0 unit 0 family inet address 10.0.0.1/30 user@R1# set interfaces ge-0/0/1 unit 0 description to_R3 user@R1# set interfaces ge-0/0/1 unit 0 family inet address 10.0.0.5/30 user@R1# set interfaces ge-0/0/2 unit 0 description to_R4 user@R1# set interfaces ge-0/0/2 unit 0 family inet address 10.1.0.5/30 user@R1# set interfaces lo0 unit 0 family inet address 192.168.0.1/32
-
Configure los emparejamientos BGP internos (IBGP) en R2 y R3.
[edit] user@R1# set protocols bgp group int type internal user@R1# set protocols bgp group int local-address 192.168.0.1 user@R1# set protocols bgp group int neighbor 192.168.0.2 user@R1# set protocols bgp group int neighbor 192.168.0.3
-
Configure el emparejamiento BGP externo (EBGP) con R4. La configuración de la directiva de exportación se muestra en un paso posterior.
[edit] user@R1# set protocols bgp group to_65001 type external user@R1# set protocols bgp group to_65001 export customer-routes user@R1# set protocols bgp group to_65001 neighbor 10.1.0.6 peer-as 65001
-
Configure los emparejamientos OSPF en R2 y R3. El protocolo OSPF proporciona el aprendizaje de la dirección de circuito cerrado para cada dispositivo, lo que permite establecer los emparejamientos IBGP.
[edit] user@R1# set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 user@R1# set protocols ospf area 0.0.0.0 interface ge-0/0/1.0 user@R1# set protocols ospf area 0.0.0.0 interface lo0.0 passive
-
Configure la lista de prefijos.
[edit] user@R1# set policy-options prefix-list customers 172.16.1.16/28 user@R1# set policy-options prefix-list customers 172.16.1.32/28 user@R1# set policy-options prefix-list customers 172.16.1.48/28 user@R1# set policy-options prefix-list customers 172.16.1.64/28 user@R1# set policy-options prefix-list customers 172.16.2.16/28 user@R1# set policy-options prefix-list customers 172.16.2.32/28 user@R1# set policy-options prefix-list customers 172.16.2.48/28 user@R1# set policy-options prefix-list customers 172.16.2.64/28 user@R1# set policy-options prefix-list customers 172.16.3.16/28 user@R1# set policy-options prefix-list customers 172.16.3.32/28 user@R1# set policy-options prefix-list customers 172.16.3.48/28 user@R1# set policy-options prefix-list customers 172.16.3.64/28
-
Configure la directiva de enrutamiento que hace referencia a la lista de prefijos como criterio de coincidencia.
[edit] user@R1# set policy-options policy-statement customer-routes term get-routes from prefix-list customers user@R1# set policy-options policy-statement customer-routes term get-routes then accept user@R1# set policy-options policy-statement customer-routes term others then reject
-
Configure la rutaestática s para la versión 172.16.Red 1.0/24. Estamos utilizando rutas estáticas para emular las rutas del cliente.
[edit] user@R1# set routing-options static route 172.16.1.16/28 discard user@R1# set routing-options static route 172.16.1.32/28 discard user@R1# set routing-options static route 172.16.1.48/28 discard user@R1# set routing-options static route 172.16.1.64/28 discard
-
Configure el número de sistema autónomo (AS) y ID del enrutador.
[edit] user@R1# set routing-options router-id 192.168.0.1 user@R1# set routing-options autonomous-system 65000
Resultados
Desde el modo de configuración, ingrese los comandos show interfaces
, show protocols
, show policy-options
y show routing-options
para confirmar la configuració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 ge-0/0/0 { unit 0 { description to_R2; family inet { address 10.0.0.1/30; } } } ge-0/0/1 { unit 0 { description to_R3; family inet { address 10.0.0.5/30; } } } ge-0/0/2 { 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_65001 { type external; export customer-routes; neighbor 10.1.0.6 { peer-as 65001; } } } ospf { area 0.0.0.0 { interface ge-0/0/0.0; interface ge-0/0/1.0; interface lo0.0 { passive; } } }
user@R1# show policy-options prefix-list customers { 172.16.1.16/28; 172.16.1.32/28; 172.16.1.48/28; 172.16.1.64/28; 172.16.2.16/28; 172.16.2.32/28; 172.16.2.48/28; 172.16.2.64/28; 172.16.3.16/28; 172.16.3.32/28; 172.16.3.48/28; 172.16.3.64/28; } policy-statement customer-routes { term get-routes { from { prefix-list customers; } then accept; } term others { then reject; } }
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; } router-id 192.168.0.1; autonomous-system 65000;
Cuando termine de configurar el dispositivo, ingrese commit
en el modo de configuración.
Verificación
Confirme que la configuración funcione correctamente.
- Verificación de las rutas en la R1
- Verificación del anuncio de ruta a R4
- Experimentar con la instrucción prefix-list-filter
Verificación de las rutas en la R1
Propósito
En R1, compruebe las rutas en la tabla de enrutamiento.
Acción
user@R1> show route terse 172.16/16 inet.0: 30 destinations, 30 routes (30 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both A V Destination P Prf Metric 1 Metric 2 Next hop AS path * ? 172.16.1.16/28 S 5 Discard * ? 172.16.1.32/28 S 5 Discard * ? 172.16.1.48/28 S 5 Discard * ? 172.16.1.64/28 S 5 Discard * ? 172.16.2.16/28 B 170 100 I unverified >10.0.0.2 * ? 172.16.2.32/28 B 170 100 I unverified >10.0.0.2 * ? 172.16.2.48/28 B 170 100 I unverified >10.0.0.2 * ? 172.16.2.64/28 B 170 100 I unverified >10.0.0.2 * ? 172.16.3.16/28 B 170 100 I unverified >10.0.0.6 * ? 172.16.3.32/28 B 170 100 I unverified >10.0.0.6 * ? 172.16.3.48/28 B 170 100 I unverified >10.0.0.6 * ? 172.16.3.64/28 B 170 100 I unverified >10.0.0.6
Significado
El dispositivo R1 ha aprendido sus propias rutas estáticas (S) y las rutas BGP de los dispositivos R2 y R3 (B).
Verificación del anuncio de ruta a R4
Propósito
En R1, asegúrese de que las rutas del cliente se anuncian a R4.
Acción
user@R1> show route advertising-protocol bgp 10.1.0.6 inet.0: 30 destinations, 30 routes (30 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
Significado
Como era de esperar, solo las rutas de la lista de prefijos del cliente se anuncian a R4.
Experimentar con la instrucción prefix-list-filter
Propósito
Vea lo que puede suceder cuando usa prefix-list-filter
en lugar de prefix-list
.
Acción
-
En la R3, agregue una ruta estática que sea más larga que una de las rutas estáticas existentes.
[edit routing-options static] user@R3# set route 172.16.3.65/32 discard user@R3# commit
-
En R1, desactive la lista de prefijos y configure un filtro de lista de prefijos con el tipo de
orlonger
coincidencia.[edit policy-options policy-statement customer-routes term get-routes] user@R1# deactivate from prefix-list customers user@R1# set from prefix-list-filter customers orlonger user@R1# commit
-
En la R1, compruebe qué rutas se anuncian a la R4.
user@R1> show route advertising-protocol bgp 10.1.0.6 inet.0: 31 destinations, 31 routes (31 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 * 172.16.3.65/32 Self I
Significado
Como era de esperar, R1 ahora anuncia el 172.16.3.65/32 ruta a R4, aunque 172.16.3.65/32 no está en la lista de prefijos.