Sitio para la difusión de conocimiento informático. 

Twitter RSS

Ruteo Básico en Junos OS

Ruteo Básico en Junos OS

En esta publicación se describe brevemente como configurar rutas estáticas y dinámicas en Junos OS.

 

Múltiples tablas de ruteo:

Dispositivos corriendo Junos OS, pueden contener múltiples tablas de ruteo. La tabla primaria de ruteo, inte.0, guarda rutas unicast IPv4. Existen tablas de ruteo predefinidas adicionales, como inet6.0, la cual crea el Junos OS cuando la configuración lo requiere. Un administrador puede crear tablas de ruteo adicionales a estas.

El siguiente es un resumen de las tablas de ruteo predefinidas, más comunes, que puedes encontrar en un dispositivo corriendo un Junos OS:
– inet.0: Usada para rutas unicast IPv4.
– inet.1: Usada para el chace de reenvío multicast.
– inet.2: Usada para rutas MBGP para proveer chequeos RPF.
– inet.3: Usada para información de rutas MPLS.
– inet.4: Usada entradas de rutas MSDP.
– inet6.0: Usadas para rutas unicast IPv6.
– mpls.0: Usadas para siguientes saltos MPLS.

Valores de Preferencia de Rutas (de mayor preferencia a menor preferencia):
Origen de Información    –    Preferencia
Directamente            0
Local                0
Estática            5
OSPF Interna            10
IS-IS nivel 1 interna        15
IS-IS nivel 2 interna        18
RIP                100
OSPF AS Externa            150
IS-IS nivel 1 externa        160
IS-IS nivel 2 externa        165
BGP – (EBGP y IBGP)        170

Visualizando la tabla de rutas:
user@router> show route

El siguiente comando muestra que una ruta estática con una preferencia de 5 es preferida sobre una OSPF interna con una preferencia de 10:

user@router> show route 192.168.36.1 exact
inet.0 : 5 destinations, 6 routes (5 active, 0 holddown, 0 hidden)
+ = Active Route, – = Last Active, * = Both
192.168.36.1/32    *[Static/5] 00:00:31
> to 10.1.1.2 via ge-0/0/10.0
[OSPF/10] 00:02:21, metric 1
> to 10.1.1.2 via ge-0/0/10.0
Fordwarding Table:
La tabla “fordwarding” guarda información de la tabla de ruteo. Dendtro de esta tabla de rutas se puede encontrar el detalle usado por el dispositivo Junos OS para enviar paquetes, como destinos aprendidos e interfaces de salida asociadas a cada destino.
Podemos usar el comando “show route forwarding-table” para ver el contenido de esta tabla.

Determinar el siguiente salto:
El dispositivo compara paquetes entrantes contra la tabla “forwarding” para determinar le siguiente salto:
-> Si existen múltimples coincidencias, utiliza el más específico (longest match) para enviar el paquete a su destino.
-> Si no exite una coincidencia, envía un mensaje de destino inalcanzable al dispositivo origen.
Múltiples instancias de ruteo:

Instancia de ruteo Maestra:
La instancia de ruteo maestra es la instancia primaria para todos los dispositivos corriendo Junos OS e incluye la tabla inet.0; y puede incluír otras tablas de ruteo como la inet6.0
user@router> show router instance

El usuario puede configurar instancias de ruteo en el nivel de configuraicón “edit routing-instances”. Típicamente esto es usado para reenvío de paquetes basados en filtros, como por ej. servicios VPN, y sistema de virtualización.

Para ver la información de mi instancia de ruteo puedo usar el comando “show route table new-instance.inet.0”.
Referenciando el nombre de la instancia de ruteo cuando visualizamos información, podemos ver la información de esa instancia o el tráfico originado en esa instancia – pag 2-25.

 

Rutas estáticas:
Las rutas configuradas manualmente son agregadas a la tabla de ruteo:
-> Bajo el nivel de configuración “edit routing-options”.
-> Requiere un siguiente salto válido (típicamente es la ip de un dispositivo conectado directamente).
user@router> show route 192.168.63.14

Monitoreando Rutas:
Use el comando “show route protocol static” para visualizar las rutas estáticas :
user@router> show route protocol static

Resolviendo siguientes saltos indirectos:
Por defécto, el software puede resolver solo siguientes saltos directamente conectados.
Utilice la opción “resolve” para permitir una resolución para dispositivos inderectamente conectados:

Diagrama:    (router-A 172.25.1.0/30).1 <—> .2(router-B 172.25.1.4/30).5 <—> .6(router-B 172.20.3.0/24).1

[edit routing-options]
user@router-A> show
staic {
route 172.20.3.0/24 {
next-hop 172.25.1.6;
resolve;
}
}

Utilice el comando “qualified-next-hop” para permitir preferencias independientes para rutas estáticas a un mismo destino:

[edit routing-options]
user@router-A> show
staic {
route 0.0.0.0/24 {
next-hop 172.30.25.1;
qualified-next-hop 172.30.25.5 {
preference 7;
}
}
}

 

Ruteo Dinámico:

El ruteo dinámico tiene los siguientes beneficios:
– Menor carga administrativa.
– Aumenta disponibilidad de la red.
– Más escalabilidad de red.

Resumen de Protocolos dinámicos
– IGP opera dentro de un único sistema autónomo. Ej. RIP, OSPF, IS-IS.
– EGPs operan entre sistemas autónomos. El EGP usado hoy en día es BGP.

Protocólo OSPF:
– Crea una base de datos completa de la red.
– Calcula el mejor camino a cada destino.
– Utiliza áreas para incorporar gerarquías y permitir escalabilidad.
– Envía información del estado de sus links a sus vecinos.

Use una sola área OSPF para proveer conectividad a todas las subredes y direcciones loopback.

Configuración de OSPF:

[edit protocols OSPF]
user@router> set area 0 interface ge-0/0/1.0

[edit protocols OSPF]
user@router> set area 0 interface ge-0/0/2.0 <- (especificar la interface lógica, si no es especificada por def. es 0).

[edit protocols OSPF]
user@router> set area 0 interface ge-0/0/3.0 passive <- (utilice la opción “passive” para prohibir formación de adyacencia).

[edit protocols OSPF]
user@router> set area 0 interface lo0.0

[edit protocols OSPF]
user@router> show
area 0.0.0.0 {    <- (El OS de junos convierte area 0 a su formato decimal).
interface ge-0/0/1.0;
interface ge-0/0/2.0;
interface ge-0/0/3.0 {
passive;
}
interface lo0.0;
}

Use el comando “show ospf neighbor” para mostrar adyacencias. Utilice la opción “detail” o “extensive” por más información – 2-39.
user@router> show ospf neighbor

utilice el siguiente comando para visualizar las rutas OSPF:
user@router> show route protocol ospf

 

Políticas de Rutas:

Las políticas de ruteo controlan el flujo de información de ruteo desde y hacia la tabla de rutas:
– Utilice las políticas de ruteo para aceptar, rechazar, o modificar los atributos de las rutas:
Recepción a través de protocólos dinámicos de ruteo.
Enviar a protocólos dinámicos de ruteo.
Instalado en la tabla “forwarding”.

 

– Políticas de ruteo por defécto:
Protocolo BGP:
Política Importación: Acepta todo lo BGP y la importa a inet.0.
Política Exportación: Acepta todas las rutas BGP.
Protocolo OSPF:
Política Importación: Acepta todas las rutas OSPF y las importa a inet.0.
Política Exportación: Rechaza todo (el protocolo envía x def.).
Protocolo IS-IS:
Política Importación: Acepta todas las rutas y las importa a inet.0.
Política Exportación: Rechaza todo (el protocolo envía x def.).
Protocolo RIP:
Política Importación: Acepta todas las rutas RIP de los vecinos explicitamente configurados y los importa a ient.0.
Política Exportación:  Rechaza todo.

Para enviar cualquier ruta RIP a tus vecinos, debes configurar una política de exportaicón que coincida y acepte rutas RIP como se muestra en el siguiente ejemplo:

[edit policy-options]
user@router> show
policy-statement export-rip-routes {
term match-rip-routes {
from protocol rip;
then accept;
}
}

 

Para RIP se puede aplicar las políticas de importación a el nivel de configuración del protocólo y a nivel del vecino, donde puedes configurar políticas de exportación solo a ese nivel del grupo como se muestra en la siguiente salida:

[edit policy-options]
user@router> show
group my-rip-group {
export export-rip-routes {
neighbor ge-0/0/1.0;
neighbor se-1/0/0.0;
}
}

 

Bloques de Políticas de Ruteo:

Criterios comunes de coincidencias:
– Prefijo (route-filter or prefix-list).
– Protocolo (OSPF, Static, BGP, etc.).
– Atributos de los protocolos de ruteo (ID de áreas OSPF, ruta AS, comunidad).
– Siguiente salto.

 

Lista de prefijos:
– Se configuran en el nivel de configuración “edit policy-options”.
– Puede ser referenciada en políticas de ruteo y reglas del firewall.

[edit policy-options]
user@router> show
prefix-list rfc1918 {
10.0.0.0/8;
172.16.0.0/12;
192.168.0.0/16;
}
policy-statement policy-1 {
from {
prefix-list rfc1918;
}
then reject;
}
policy-statement policy-2 {
from {
prefix-list-filter rfc1918 orlonger reject;
}

 

Filtros de Rutas:
– Los filtros de rutas matchean rutas individuales con políticas.
– Puedes especificar múltiples filtros de rutas con un solo término.
– No reutilizable (término específico).

[edit policy-options]
user@router# show
policy-statement policy-1 {
term reject-rfc1918-prefixes {
from {
route-filter 172.16.0.0/12 orlonger;
route-filter 192.168.0.0/16 orlonger;
route-filter 10.0.0.0/8 orlonger;
}
then reject;
}
}

Tipos de coincidencias: “exact”, “orlonger”, “longer”, “upto”, “prefix-length-range”, “through”.

Acciones Comunes:
– En políticas de ruteo: “accept”, “reject”.
– Controles de Flujo: “next term”, “next policy”.
– Modificar atributos: “community”, “preference”.

 

Implementando políticas de ruteo:

[edit policy-optinos]
user@router#show
policy-statement my-policy {
term accept-local-route {
from {
protocol direct;
interface ge-0/0/0;
}
then accept;
}
term accept-some-static-routes {
from {
protocol static;
route-filter 172.18.1.0/24 exact;
route-filter 172.18.2.0/24 exact;
}
then accept;
}
term accept-rip-routes {
from protocol rip;
then accept;
}
}

 

Se pueden implementar políticas de ruteo como políticas de importación o exportación a diferentes niveles:

[edit protocols ospf]
user@router# show
export my-policy
area 0.0.0.0 {
interface ge-0/0/1.0;
interface ge-0/0/2.0;
interface ge-0/0/3.0 {
passive;
}
interface lo0.0;
}

 
Home Juniper Ruteo Básico en Junos OS