Configuración de tablas de enrutamiento de Junos OS
Descripción de las tablas de enrutamiento de Junos OS
Junos OS crea y mantiene automáticamente varias tablas de enrutamiento. Cada tabla de enrutamiento se utiliza para un propósito específico. Además de estas tablas de enrutamiento creadas automáticamente, puede crear sus propias tablas de enrutamiento.
Cada tabla de enrutamiento rellena una parte de la tabla de reenvío. Por lo tanto, la tabla de reenvío se particiona según tablas de enrutamiento. Esto permite un comportamiento de reenvío específico para cada tabla de enrutamiento. Por ejemplo, para VPN, cada tabla de enrutamiento basada en VPN tiene su propia partición específica de VPN en la tabla de reenvío.
Es común que el software de enrutamiento mantenga rutas de unidifusión y rutas de multidifusión en diferentes tablas de enrutamiento. También puede tener consideraciones de política que le llevarían a crear tablas de enrutamiento independientes para administrar la propagación de la información de enrutamiento.
La creación de tablas de enrutamiento es opcional. Si no crea ninguna, Junos OS usa sus tablas de enrutamiento predeterminadas, que son las siguientes:
inet.0— Para rutas de unidifusión IP versión 4 (IPv4). Esta tabla almacena rutas de interfaz locales y directas, rutas estáticas y rutas aprendidas dinámicamente.
inet.1: para la caché de reenvío de multidifusión IPv4. Esta tabla almacena las entradas del grupo IPv4 (S, G) que se crean dinámicamente como resultado de la información de estado de unión.
inet.2— Para rutas posteriores del indicador de familia de direcciones (SAFI) 2, cuando el BGP multiprotocolo (MBGP) está habilitado. Esta tabla almacena las rutas de unidifusión que se utilizan para la búsqueda de reenvío de ruta inversa (RPF) de multidifusión. Las rutas de esta tabla pueden ser utilizadas por el Protocolo de enrutamiento de multidifusión de vectores de distancia (DVMRP), que requiere una tabla RPF específica. Por el contrario, la multidifusión independiente de protocolo (PIM) no necesita esta tabla, ya que puede realizar comprobaciones RPF en la tabla inet.0. Puede importar rutas desde inet.0 a inet.2 mediante grupos de base de información de enrutamiento (RIB) o instalar rutas directamente en inet.2 desde un protocolo de enrutamiento de multidifusión.
inet.3— Para IPv4 MPLS. Esta tabla almacena la dirección de salida de una ruta de etiqueta MPLS (LSP), el nombre LSP y el nombre de la interfaz de salida. Esta tabla de enrutamiento solo se usa cuando el dispositivo local es el nodo de entrada a un LSP.
inet6.0— Para rutas de unidifusión IP versión 6 (IPv6). Esta tabla almacena rutas de interfaz locales y directas, rutas estáticas y rutas aprendidas dinámicamente.
inet6.1— Para caché de reenvío de multidifusión IPv6. Esta tabla almacena las entradas del grupo IPv6 (S, G) que se crean dinámicamente como resultado de la información de estado de unión.
instance-name.inet.0: si configura una instancia de enrutamiento, Junos OS crea la tabla instance-namede enrutamiento de unidifusión predeterminada .inet.0.
instance-name.inet.2: si configura protocolos instance-name de instancias de enrutamiento bgp familia multidifusión inet en una instancia de enrutamiento de tipo VRF, Junos OS crea la instance-nametabla .inet.2 .
Otra forma de crear la instance-nametabla .inet.2 es usar la
rib-group
instrucción. Consulte Ejemplo: Exportar rutas específicas desde una tabla de enrutamiento a otra tabla de enrutamiento.Nota:Importar rutas de multidifusión inet-vpn desde la tabla bgp.l3vpn.2 a la instance-nametabla .inet.2 no crea la instance-nametabla .inet.2 . La operación de importación solo funciona si ya existe la instance-nametabla .inet.2 .
instance-name.inetflow.0: si configura una ruta de flujo, Junos OS crea la tabla instance-namede enrutamiento de flujo .inetflow.0.
bgp.l2vpn.0: para rutas VPN de capa 2 aprendidas del BGP. Esta tabla almacena las rutas aprendidas de otros enrutadores de borde de proveedor (PE). La información de enrutamiento de capa 2 se copia en instancias de enrutamiento y reenvío (VRF) de VPN de capa 2 según las comunidades de destino.
bgp.l3vpn.0: para rutas VPN de capa 3 aprendidas del BGP. Esta tabla almacena las rutas aprendidas de otros enrutadores de PE. Las rutas de esta tabla se copian en un VRF de capa 3 cuando hay una tabla de rutas coincidente.
l2circuit.0
—Para rutas de l2circuit aprendidas de LDP. Las rutas de esta tabla se utilizan para enviar o recibir mensajes de señalización de l2circuit.mpls.0— Para operaciones de conmutación de etiquetas MPLS. Esta tabla se utiliza cuando el dispositivo local es un enrutador de tránsito.
iso.0— Para rutas IS-IS. Cuando usa IS-IS para admitir el enrutamiento IP, esta tabla solo contiene el título de entidad de red (NET) del dispositivo local.
juniper_private: para que Junos OS se comunique internamente entre el motor de enrutamiento y el hardware de PIC.
Características de tabla de enrutamiento en Junos OS
Junos OS mantiene dos bases de datos para la información de enrutamiento:
Tabla de enrutamiento: contiene toda la información de enrutamiento aprendida por todos los protocolos de enrutamiento. (Algunos proveedores se refieren a este tipo de tabla como una base de información de enrutamiento [RIB].)
Tabla de reenvío: contiene las rutas realmente utilizadas para reenviar paquetes. (Algunos proveedores se refieren a este tipo de tabla como una base de información de reenvío [FIB].)
De forma predeterminada, Junos OS mantiene tres tablas de enrutamiento: una para rutas de unidifusión IP versión 4 (IPv4), una segunda para rutas de multidifusión y una tercera para MPLS. Puede configurar tablas de enrutamiento adicionales.
Junos OS mantiene tablas de enrutamiento independientes para rutas IPv4 e IP versión 6 (IPv6).
Junos OS instala todas las rutas activas desde la tabla de enrutamiento en la tabla de reenvío. Las rutas activas son rutas que se utilizan para reenviar paquetes a sus destinos. El kernel del sistema operativo Junos mantiene una copia maestra de la tabla de reenvío. Copia la tabla de reenvío al motor de reenvío de paquetes, que es el componente responsable del reenvío de paquetes.
El proceso de protocolo de enrutamiento de Junos generalmente determina la ruta activa seleccionando la ruta con el valor de preferencia más bajo. Junos OS ofrece compatibilidad con preferencias alternativas y desempate, y algunos de los protocolos de enrutamiento, incluidos BGP y MPLS, usan estas preferencias adicionales.
Puede agregar direcciones marcianas y rutas estáticas, agregadas y generadas a las tablas de enrutamiento de Junos, configurando las rutas con una o más de las propiedades que se muestran en la tabla 1.
Descripción |
Estática |
Agregado |
Generado |
---|---|---|---|
Dirección de destino |
X |
X |
X |
Ruta predeterminada al destino |
X |
X |
X |
Dirección IP o interfaz del siguiente salto al destino |
X |
– |
– |
Ruta conmutada por etiquetas (LSP) como siguiente salto |
X |
– |
– |
Suelte los paquetes, instale una ruta de rechazo para este destino y envíe mensajes inalcanzables del Protocolo de mensajes de control de Internet (ICMP) |
X |
X |
X |
Suelte los paquetes, instale una ruta de rechazo para este destino, pero no envíe mensajes ICMP inalcanzables |
X |
X |
X |
Hacer que los paquetes sean recibidos por el enrutador local |
X |
– |
– |
Asociar un valor de métrica con la ruta |
X |
X |
X |
Tipo de ruta |
X |
X |
X |
Valores de preferencia |
X |
X |
X |
Valores de preferencia adicionales |
X |
X |
X |
Preferencia independiente (declaración del próximo salto calificado ) |
X |
– |
– |
Información de la comunidad del BGP para asociar con la ruta |
X |
X |
X |
Información de ruta del sistema autónomo (AS) para asociar con la ruta |
X |
X |
X |
Cadenas de etiquetas OSPF para asociar con la ruta |
X |
X |
X |
No instale rutas estáticas activas en la tabla de reenvío |
X |
– |
– |
Instalar la ruta en la tabla de reenvío |
X |
– |
– |
Conservar permanentemente una ruta estática en la tabla de reenvío |
X |
– |
– |
Incluya solo las secuencias principales comunes más largas de las rutas de AS que contribuyen |
– |
X |
– |
Incluya todos los números de AS para una ruta específica |
– |
X |
– |
Conservar una ruta inactiva en las tablas de enrutamiento y reenvío |
X |
X |
X |
Quitar una ruta inactiva de las tablas de enrutamiento y reenvío |
X |
X |
X |
Política activa para asociar con la ruta |
– |
X |
X |
Especifique que una ruta no es elegible para la readversión |
X |
– |
– |
Especifique la ruta a un prefijo que no sea un salto siguiente conectado directamente |
X |
– |
– |
Descripción de los grupos de tabla de enrutamiento predeterminados para rutas de interfaz en enrutadores PTX
En los enrutadores de transporte de paquetes serie PTX, los grupos de tabla de enrutamiento de interfaz y ruta predeterminados difieren de los de otros dispositivos de enrutamiento de Junos OS.
Los enrutadores de la serie PTX son plataformas de tránsito MPLS que hacen reenvío IP, por lo general mediante rutas del protocolo de puerta de enlace interior (IGP). Las rutas de interfaz están conectadas directamente y las rutas locales.
Los enrutadores de la serie PTX se diferencian de otros dispositivos de enrutamiento Junos OS, ya que fuerzan una resolución indirecta del próximo salto. Los enrutadores serie PTX necesitan que se resuelva el siguiente salto indirecto para crear el siguiente salto compuesto encadenado. Esto puede hacer que las rutas se oculten cuando el tipo de salto siguiente no se puede usar.
Para evitar que las rutas se oculten, las plataformas de la serie PTX copian automáticamente las rutas en inet.0 a inet.2 e inet.3, y las rutas de inet6.0 a inet6.2 e inet6.3.
La configuración predeterminada de tabla de enrutamiento de interfaz en los enrutadores serie PTX es la siguiente:
user@host# show routing-options | display inheritance defaults ## ## 'interface-routes' was inherited from group 'junos-defaults' ## interface-routes { ## ## 'rib-group' was inherited from group 'junos-defaults' ## rib-group { ## ## 'junos-ifrg-inet0-to-inet2-and-inet3' was inherited from group 'junos-defaults' ## inet junos-ifrg-inet0-to-inet2-and-inet3; ## ## 'junos-ifrg-inet60-to-inet62-and-inet63' was inherited from group 'junos-defaults' ## inet6 junos-ifrg-inet60-to-inet62-and-inet63; } } rib-groups { ## ## 'junos-ifrg-inet0-to-inet2-and-inet3' was inherited from group 'junos-defaults' ## junos-ifrg-inet0-to-inet2-and-inet3 { ## ## 'inet.0' was inherited from group 'junos-defaults' ## 'inet.2' was inherited from group 'junos-defaults' ## 'inet.3' was inherited from group 'junos-defaults' ## import-rib [ inet.0 inet.2 inet.3 ]; } ## ## 'junos-ifrg-inet60-to-inet62-and-inet63' was inherited from group 'junos-defaults' ## junos-ifrg-inet60-to-inet62-and-inet63 { ## ## 'inet6.0' was inherited from group 'junos-defaults' ## 'inet6.2' was inherited from group 'junos-defaults' ## 'inet6.3' was inherited from group 'junos-defaults' ## import-rib [ inet6.0 inet6.2 inet6.3 ]; } }
Ver también
Ejemplo: Creación de tablas de enrutamiento
En este ejemplo, se muestra cómo crear una tabla de enrutamiento personalizada.
Requisitos
En este ejemplo, no se requiere ninguna configuración especial más allá de la inicialización del dispositivo.
Visión general
La creación de tablas de enrutamiento es opcional. Es posible que tenga consideraciones de política que le lleven a crear tablas de enrutamiento independientes para administrar la propagación de la información de enrutamiento. Esta capacidad rara vez se utiliza, pero se demuestra aquí para su integridad.
Si no crea tablas de enrutamiento, Junos OS utiliza sus tablas de enrutamiento predeterminadas.
Si desea agregar rutas estáticas, agregadas, generadas o marcianas solo a la tabla de enrutamiento de unidifusión IPv4 predeterminada (inet.0), no tiene que crear ninguna tabla de enrutamiento porque, de forma predeterminada, estas rutas se agregan a inet.0. Puede agregar estas rutas incluyendo las instrucciones estáticas, agregar, generar y martians
.
Para crear explícitamente una tabla de enrutamiento, incluya la instrucción y las rib
instrucciones secundarias debajo de la rib
instrucción.
El nombre de la tabla de enrutamiento, routing-table-name, incluye la familia de protocolos, opcionalmente seguido de un punto y un número. La familia de protocolos puede ser inet para la familia IPv4, inet6 para la familia IPv6 o iso para la familia de protocolos de la Organización Internacional de Estándares (ISO). El número representa la instancia de enrutamiento. La primera instancia es 0.
En este ejemplo, se muestra cómo configurar una tabla de enrutamiento IPv4 personalizada llamada inet.14. En el ejemplo también se muestra cómo rellenar la tabla de enrutamiento con una única ruta estática.
En los conmutadores de la serie EX, solo se pueden importar las rutas aprendidas dinámicamente de un grupo de tabla de enrutamiento a otro.
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.
set routing-options rib inet.14 static route 10.2.0.0/16 discard
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 Uso del editor de CLI en el modo de configuración en la Guía del usuario de la CLI de Junos OS.
Para crear una tabla de enrutamiento:
Configure la tabla de enrutamiento.
[edit routing-options] user@host# set rib inet.14 static route 10.2.0.0/16 discard
Si ha terminado de configurar el dispositivo, confirme la configuración.
[edit] user@host# commit
Resultados
Confirme su configuración mediante la emisión del show routing-options
comando. Si el resultado no muestra la configuración deseada, repita las instrucciones en este ejemplo para corregir la configuración.
user@host# show routing-options rib inet.14 { static { route 10.2.0.0/16 discard; } }
Verificación
Confirme que la configuración funciona correctamente.
Comprobar la tabla de enrutamiento
Propósito
Asegúrese de que la ruta estática aparece en la tabla de enrutamiento personalizado.
Acción
user@host> show route table inet.14 inet.14: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden) Restart Complete + = Active Route, - = Last Active, * = Both 10.2.0.0/16 *[Static/5] 00:00:09 Discard
Significado
La ruta estática se encuentra en la tabla de enrutamiento personalizado.
Ejemplo: exportar rutas específicas de una tabla de enrutamiento a otra tabla de enrutamiento
En este ejemplo, se muestra cómo duplicar rutas específicas desde una tabla de enrutamiento a otra dentro de la misma instancia de enrutamiento.
Requisitos
No se requiere ninguna configuración especial más allá de la inicialización del dispositivo antes de configurar este ejemplo.
Visión general
En este ejemplo, se usan la auto-export
instrucción y la rib-group
instrucción para lograr el objetivo de exportar rutas específicas de una tabla de enrutamiento a otra.
Considere los siguientes puntos:
Cuando la exportación automática se configura en una instancia de enrutamiento, se examinan las políticas vrf-import y vrf-export . Según la información de la comunidad y el destino de la ruta en las políticas, la función de exportación automática realiza fugas de ruta entre las tablas inet.0 de la instancia de enrutamiento local.
Puede usar la
rib-group
instrucción si es necesario importar rutas en tablas distintas a instance.inet.0. Para usar un grupo RIB con exportación automática, la instancia de enrutamiento debe especificar políticas vrf-import y vrf-export explícitas. Las políticas vrf-import y vrf-export se pueden extender para contener términos adicionales para filtrar rutas según sea necesario para el grupo RIB.
En este ejemplo, las rutas internas de acceso se agregan a la tabla de enrutamiento vpna.inet.0. Las rutas internas de acceso también se duplican en la tabla de enrutamiento vpna.inet.2.
Configuración
- Configuración rápida de CLI
- Configuración de la exportación de ruta específica entre tablas de enrutamiento
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.
set interfaces fe-1/3/1 vlan-tagging set interfaces fe-1/3/1 unit 0 vlan-id 512 set interfaces fe-1/3/1 unit 0 family inet address 10.168.100.3/24 set interfaces lo0 unit 0 family inet address 192.168.3.3/32 set routing-options rib-groups rib-group-vpna-access-internal import-rib vpna.inet.2 set routing-options autonomous-system 63000 set policy-options policy-statement vpna-export term a from protocol bgp set policy-options policy-statement vpna-export term a then community add vpna-comm set policy-options policy-statement vpna-export term a then accept set policy-options policy-statement vpna-export term b from protocol access-internal set policy-options policy-statement vpna-export term b then accept set policy-options policy-statement vpna-export term c then reject set policy-options policy-statement vpna-import term a from protocol bgp set policy-options policy-statement vpna-import term a from community vpna-comm set policy-options policy-statement vpna-import term a then accept set policy-options policy-statement vpna-import term b from instance vpna set policy-options policy-statement vpna-import term b from protocol access-internal set policy-options policy-statement vpna-import term b then accept set policy-options policy-statement vpna-import term c then reject set policy-options community vpna-comm members target:63000:100 set routing-instances vpna instance-type vrf set routing-instances vpna interface fe-1/3/1.1 set routing-instances vpna route-distinguisher 100:1 set routing-instances vpna vrf-import vpna-import set routing-instances vpna vrf-export vpna-export set routing-instances vpna routing-options auto-export family inet unicast rib-group rib-group-vpna-access-internal set routing-instances vpna protocols bgp group bgp-vpna type external set routing-instances vpna protocols bgp group bgp-vpna family inet multicast set routing-instances vpna protocols bgp group bgp-vpna peer-as 100 set routing-instances vpna protocols bgp group bgp-vpna neighbor 10.0.0.10
Configuración de la exportación de ruta específica entre tablas de enrutamiento
Procedimiento paso a paso
El siguiente ejemplo requiere que navegue por varios niveles en la jerarquía de configuración. Para obtener instrucciones sobre cómo hacerlo, consulte Uso del editor de CLI en el modo de configuración en la Guía del usuario de la CLI de Junos OS.
Para configurar el dispositivo:
Configure las interfaces.
[edit interfaces fe-1/3/1] user@host# set vlan-tagging user@host# set unit 0 vlan-id 512 user@host# set unit 0 family inet address 10.168.100.3/24 [edit interfaces lo0 unit 0] user@host# set family inet address 192.168.3.3/32
-
Configure la política de enrutamiento que especifica rutas particulares para importar a vpna.inet.0 y exportar desde vpna.inet.0.
[edit policy-options policy-statement vpna-export] user@host# set term a from protocol bgp user@host# set term a then community add vpna-comm user@host# set term a then accept user@host# set term b from protocol access-internal user@host# set term b then accept user@host# set term c then reject [edit policy-options policy-statement vpna-import] user@host# set term a from protocol bgp user@host# set term a from community vpna-comm user@host# set term a then accept user@host# set term b from instance vpna user@host# set term b from protocol access-internal user@host# set term b then accept user@host# set term c then reject [edit policy-options] user@host# set community vpna-comm members target:63000:100
-
Configure la instancia de enrutamiento.
[edit routing-instances vpna] user@host# set instance-type vrf user@host# set interface fe-1/3/1.1 user@host# set route-distinguisher 100:1 user@host# set vrf-import vpna-import user@host# set vrf-export vpna-export
Las instrucciones vrf-import y
vrf-export
se utilizan para aplicar las políticas de enrutamiento vpna-import y vpna-export . Configure el grupo RIB e importe rutas a la tabla de enrutamiento vpna.inet.2 .
[edit routing-options] user@host# set rib-groups rib-group-vpna-access-internal import-rib vpna.inet.2
Configure la
auto-export
instrucción para habilitar las rutas que se exportarán de una tabla de enrutamiento a otra.[edit routing-options] user@host# set auto-export family inet unicast rib-group rib-group-vpna-access-internal
Configure BGP.
[edit routing-instances vpna protocols bgp group bgp-vpna] user@host# set type external user@host# set family inet multicast user@host# set peer-as 100 user@host# set neighbor 100.0.0.10
Configure el número de sistema autónomo (AS).
[edit routing-options] user@host# set autonomous-system 63000
Resultados
Desde el modo de configuración, ingrese los comandos , show policy-options
, show routing-options
y show routing-instances
para confirmar la show interfaces
configuración. Si el resultado no muestra la configuración deseada, repita las instrucciones en este ejemplo para corregir la configuración.
user@host# show interfaces fe-1/3/1 { vlan-tagging; unit 0 { vlan-id 512; family inet { address 10.168.100.3/24; } } } lo0 { unit 0 { family inet { address 192.168.3.3/32; } } }
user@host# show policy-options policy-statement vpna-export { term a { from { protocol bgp; } then { community add vpna-comm; accept; } } term b { from protocol access-internal; then accept; } term c { then reject; } } policy-statement vpna-import { term a { from { protocol bgp; community vpna-comm; } then accept; } term b { from { instance vpna; protocol access-internal; } then accept; } term c { then reject; } } community vpna-comm members target:63000:100;
user@host# show routing-options rib-groups { rib-group-vpna-access-internal { import-rib vpna.inet.2; } } autonomous-system 63000;
user@host# show routing-instances vpna { instance-type vrf; interface fe-1/3/1.1; route-distinguisher 100:1; vrf-import vpna-import; vrf-export vpna-export; routing-options { auto-export { family inet { unicast { rib-group rib-group-vpna-access-internal; } } } } protocols { bgp { group bgp-vpna { type external; family inet { multicast; } peer-as 100; neighbor 100.0.0.10; } } } }
Si ha terminado de configurar el dispositivo , ingrese confirmación desde el modo de configuración.
Verificación
Para confirmar que la configuración funciona correctamente, ejecute los show table route vpna.inet.0
comandos y show route table vpna.inet.2
.