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 divide en función de tablas de enrutamiento. Esto permite un comportamiento de reenvío específico para cada tabla de enrutamiento. Por ejemplo, para las 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 es posible que tenga consideraciones de directiva que le lleven 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 utiliza sus tablas de enrutamiento predeterminadas, que son las siguientes:
inet.0: para rutas de unidifusión IP versión 4 (IPv4). Esta tabla almacena las rutas locales y directas de la interfaz, las rutas estáticas y las 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 del estado de unión.
inet.2: para rutas posteriores del indicador de familia de direcciones (SAFI) 2, cuando el BGP multiprotocolo (MBGP) está habilitado. En esta tabla se almacenan 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 multidifusión por vector de distancia (DVMRP), que requiere una tabla RPF específica. Por el contrario, la multidifusión independiente del protocolo (PIM) no necesita esta tabla porque puede realizar comprobaciones de RPF en la tabla inet.0. Puede importar rutas de 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 MPLS IPv4. Esta tabla almacena la dirección de salida de una ruta de etiqueta MPLS (LSP), el nombre de LSP y el nombre de la interfaz de salida. Esta tabla de enrutamiento sólo se utiliza 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 las rutas locales y directas de la interfaz, las rutas estáticas y las rutas aprendidas dinámicamente.
inet6.1: para caché de reenvío de multidifusión IPv6. Esta tabla almacena las entradas de grupo IPv6 (S,G) que se crean dinámicamente como resultado de la información de estado de unión.
-
inet6.2: la tabla inet6.2 se utiliza a menudo junto con otras tablas de enrutamiento IPv6 como parte de los grupos de tablas de enrutamiento predeterminados para rutas de interfaz, especialmente en enrutadores PTX.
-
inet6.3: la tabla inet6.3 se utiliza para almacenar rutas IPv6 etiquetadas.
instance-name.inet.0: si configura una instancia de enrutamiento, Junos OS creará la tabla instance-namede enrutamiento de unidifusión predeterminada .inet.0.
instance-name.inet.2: si configura protocolos de instancias instance-name de enrutamiento, familia bgp multidifusión de 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 utilizar la
rib-group
instrucción. Consulte Ejemplo: Exportación de rutas específicas de una tabla de enrutamiento a otra tabla de enrutamiento.Nota:La importación de 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 sólo funciona si la instance-nametabla .inet.2 ya existe.
instance-name.inetflow.0: si configura una ruta de flujo, Junos OS crea la tabla instance-namede enrutamiento dinámico .inetflow.0.
bgp.l2vpn.0: para rutas VPN de capa 2 aprendidas de BGP. Esta tabla almacena las rutas aprendidas de otros enrutadores perimetrales de proveedor (PE). La información de enrutamiento de capa 2 se copia en instancias de reenvío y enrutamiento VPN (VRF) de capa 2 según las comunidades de destino.
bgp.l3vpn.0: para rutas VPN de capa 3 aprendidas de BGP. Esta tabla almacena las rutas aprendidas de otros enrutadores 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 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 se utiliza IS-IS para admitir el enrutamiento IP, esta tabla contiene solo 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 PIC.
Características de la 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 base de información de enrutamiento [RIB]).
Tabla de reenvío: contiene las rutas que se utilizan realmente para reenviar paquetes. (Algunos proveedores se refieren a este tipo de tabla como 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 las rutas IPv4 e IP versión 6 (IPv6).
Junos OS instala todas las rutas activas de 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 en el motor de reenvío de paquetes, que es el componente responsable del reenvío de paquetes.
El proceso del 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 de desempate, y algunos de los protocolos de enrutamiento, incluidos BGP y MPLS, utilizan 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 varias de las propiedades que se muestran en la tabla 1.
Descripción |
Estático |
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 de conmutación de etiquetas (LSP) como próximo salto |
X |
– |
– |
Coloque los paquetes, instale una ruta de rechazo para este destino y envíe mensajes inaccesibles al 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 el enrutador local reciba paquetes |
X |
– |
– |
Asociar un valor de métrica a 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 cualificada de próximo salto ) |
X |
– |
– |
Información de la comunidad BGP para asociar con la ruta |
X |
X |
X |
Información de ruta del sistema autónomo (AS) para asociar a la ruta |
X |
X |
X |
Cadenas de etiqueta OSPF para asociar a 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 iniciales comunes más largas de las rutas de AS contribuyentes |
– |
X |
– |
Incluir 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 |
Especificar que una ruta no es apta para volver a anunciarse |
X |
– |
– |
Especificar la ruta a un prefijo que no sea un próximo salto conectado directamente |
X |
– |
– |
Descripción de los grupos de tablas de enrutamiento predeterminados para rutas de interfaz en enrutadores PTX
En los enrutadores de transporte de paquetes de la serie PTX, los grupos predeterminados de tablas de enrutamiento de ruta de interfaz difieren de los de otros dispositivos de enrutamiento de Junos OS.
Los enrutadores de la serie PTX son plataformas de tránsito MPLS que realizan el reenvío de IP, generalmente utilizando rutas de 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 de Junos OS en que fuerzan una resolución indirecta del siguiente salto. Los enrutadores de la 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 utilizar.
Para evitar que se oculten rutas, las plataformas de la serie PTX copian automáticamente las rutas en inet.0 en inet.2 e inet.3, y las rutas en inet6.0 en inet6.2 e inet6.3.
La configuración predeterminada de la tabla de enrutamiento de interfaz en los enrutadores de la 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 directiva 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 usa, pero se demuestra aquí para su integridad.
Si no crea ninguna tabla de enrutamiento, Junos OS utilizará sus tablas de enrutamiento predeterminadas.
Si desea agregar rutas estáticas, agregadas, generadas o marcianas sólo a la tabla de enrutamiento de unidifusión IPv4 predeterminada (inet.0), no es necesario crear ninguna tabla de enrutamiento porque, de forma predeterminada, estas rutas se agregan a inet.0. Puede agregar estas rutas incluyendo las instrucciones estática, aggregate, generate y martians
states.
Para crear explícitamente una tabla de enrutamiento, incluya la instrucción y las instrucciones secundarias debajo de rib
la rib
instrucción.
El nombre de la tabla de enrutamiento, routing-table-name, incluye la familia de protocolos, seguida opcionalmente 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 Normalización (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 denominada inet.14. En el ejemplo también se muestra cómo rellenar la tabla de enrutamiento con una sola ruta estática.
En los conmutadores de la serie EX, solo se pueden importar rutas aprendidas dinámicamente de un grupo de tablas 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, a continuación, copie y pegue los comandos en la CLI en el nivel de [edit]
jerarquía.
set routing-options rib inet.14 static route 10.2.0.0/16 discard
Procedimiento
Procedimiento paso a paso
En el ejemplo siguiente es necesario navegar 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 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 la configuración emitiendo el show routing-options
comando. Si el resultado no muestra la configuración deseada, repita las instrucciones de 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.
Comprobación de la tabla de enrutamiento
Propósito
Asegúrese de que la ruta estática aparece en la tabla de enrutamiento personalizada.
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 personalizada.
Ejemplo: exportación de rutas específicas de una tabla de enrutamiento a otra tabla de enrutamiento
En este ejemplo se muestra cómo duplicar rutas específicas de una tabla de enrutamiento en otra tabla de enrutamiento 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 utilizan 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 se configura la exportación automática en una instancia de enrutamiento, se examinan las directivas vrf-import y vrf-export . En función del destino de la ruta y de la información de la comunidad de las políticas, la función de exportación automática realiza la fuga de rutas entre las tablas inet.0 de la instancia de enrutamiento local.
Puede utilizar la
rib-group
instrucción si es necesario importar rutas en tablas distintas de instance.inet.0. Para usar un grupo RIB con exportación automática, la instancia de enrutamiento debe especificar políticas explícitas de vrf-import y vrf-export . Las directivas 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 rutas específicas de exportación 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, a continuación, copie y pegue los comandos en la CLI en el nivel de [edit]
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 rutas específicas de exportación entre tablas de enrutamiento
Procedimiento paso a paso
En el ejemplo siguiente es necesario navegar por varios niveles en la jerarquía de configuración. Para obtener instrucciones sobre cómo hacerlo, consulte Uso del editor de CLI en modo de configuración en la Guía del usuario de 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 directiva de enrutamiento que especifica rutas concretas 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 usan para aplicar las directivas de enrutamiento vpna-import y vpna-export . Configure el grupo RIB e importe las 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 permitir que las rutas se exporten 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, escriba 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 de 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; } } } }
Cuando haya terminado de configurar el dispositivo, escriba confirmar desde el modo de configuración.
Verificación
Confirme que la configuración funciona correctamente ejecutando los show table route vpna.inet.0
comandos y show route table vpna.inet.2
.