Páginas

domingo, 9 de febrero de 2020

Rutas dinámicas OSPF Mikrotik

Enrutamiento dinámico con OSPF

Protocolo OSPF

El protocolo OSPF usa un algoritmo de estado de enlace (link-state) y el algoritmo de Dijkstra para construir y calcular el camino más corto a todas las redes destino conocidas. Los routers OSPF utilizan el protocolo IP 89 para comunicarse entre sí. OSPF redistribuye la información de enrutamiento entre los routers que pertenecen a un simple sistema autónomo (AS).

Sistemas Autónomos (AS)

Un sistema autónomo es una colección de redes y routers y routers IP bajo el control de una entidad (OSPF, IBGP, IRP) que presenta una política de enrutamiento común al resto de la red.

El AS es identificado por un número de 16 bits (0-65535).
El rango de 1 a 64511 se utiliza para Internet
El rango de 64512 hasta 65535 es para uso privado.

Áreas OSPF

OSPF permite la colección de routers para que sean agrupados (menos de 80 routers por grupo). La estructura de un área es invisible desde fuera del área. Cada área ejecuta una copia separada del algoritmo de enrutamiento básico Link-state. Las áreas OSPF son identificadas por un número de 32 bits (4 bytes) (0.0.0.0-255.255.255.255). El ID de área debe ser único dentro del AS. Las áreas son agrupaciones de routers.

Las áreas envían la información de todas las áreas que conoce al área principal. Esta área principal se llama área de backbone y es quien se encarga de enviar la información a las demás áreas. Cada área habla con el backbone y el backbone replica esa información a las demás áreas.

Tipos de routers

ASBR - Autonomous System Border Router

ASBR es un router que está conectado a más de un AS. Un ASBR es usado para distribuir en todo su propio sistema autónomo las rutas recibidas desde otros AS.

ABR - AreaBorderRouter

ABR es un router que está conectado a más de un área OSPF . Un ABR mantiene múltiples copias en memoria de la base link-state, una para cada área.

IR - InternalRouter

IR es un router que está conectado solamente a un área.

Área Backbone

El área de backbone (area-id=0.0.0.0) forma el núcleo de una red OSPF. El backbone es responsable de distribuir la información de enrutamiento entre las áreas que no son backbone (non-backbone area). Cada area non-backbone debe estar conectada al backbone area directamente o utilizando enlaces virtuales (virtual link).

Crear las áreas en OSPF

Como creamos las áreas dentro del OSPF. Dentro del router en el menú routing tengo la opción de OSPF. Dentro de OSPF tengo la pestaña de Area desde donde se pueden crear una o más Areas. Todos los routers vienen por defecto con el área Backbone y como pertenecen a una única área el formato de configuración que tienen es de un solo router interno. Si a ese router le configuro más de una área lo convierto automáticamente en un ABR.

Las configuraciones para una nueva Area son: El nombre del área, la Instancia, el Area ID (tiene formato parecido a una dirección IP), y ese ID debe ser único.

Pestaña Network. Las Redes OSPF es lo que va a permitir el funcionamiento del protocolo. En Mikrotik las redes OSPF no están activadas por defecto y tampoco hay una opción que permite activar/desactivar. El protocolo empieza a funcionar tan pronto como se agregue (OSPF Network), una empieza a funcionar.

Instancia OSPF

La instancia es la que va a indicar que información voy a distribuir a través de OSPF. La Redistribute Default Route significa que yo tengo una ruta 0.0.0.0 y la va a informar a todos los routers de la red. Esta configuración de la distribución de la ruta por defecto no debe ser configurada en todos los routers, solamente en el ABR y el ASBR que son los routers que están en los bordes. Si tenemos a todos los routers publicando un ruta por defecto le están diciendo a todo el mundo dentro de la red que cada uno de ellos es la salida hacia Internet.

La Redistribute Connected Route. La redistribución de rutas conectadas que ya las conocemos son aquellas rutas de tipo DAC (IP Route), el protocolo va a la tabla de enrutamiento va a buscar este tipo de ruta y se las va a informar a los routers que estén conectados con mi router y que estén hablando en OSPF. Todas mis redes se las voy a anunciar a ellos y ellos se la informarán a los siguientes routers y así sucesivamente hasta que todos los routers hayan aprendido las redes.

Redistribución OSPF

La distribución se puede realizar de diferentes formas.

If-installed - envía la ruta por defecto únicamente si ha sido instalada (static, DHCP, PPP, etc.). Solo si yo la tengo la voy a informar.
Always - siempre envía la ruta por defecto
As-type-1 - La decisión de enrutamiento hacia redes remotas a esta red será hecha basada en la suma de las métricas internas y externas. Para llegar de un punto A a un punto B toma en cuenta los costos de llegar del origen al destino. Cuando empiezo a agregar interfaces, cada vez que se agrega una interfaz le voy a dar un costo, por ejemplo 10. Cada interfaz tiene un costo y se configura de manera independiente en los routers. OSPF elegirá la suma de todos los costos.
As-type-2 - La decisión de enrutamiento a redes remotas a esta red será hecha basado solo en métricas externas. Las métricas internas se volverán triviales. Tomará los costos de sus interfaces configuradas localmente.

Para asegurarnos el camino más corto deberíamos escoger siempre el tipo 1, a menos que ese recorrido tenga conexiones más rápidas. El costo por defecto es 10. A menor costo mayor prioridad.

Simulación de redes con GNS3

Configuración de R1 con R2.

Routing ospf añadir la red en ambos routers.

Lo haremos por consola.

Añadir la red 10.10.12.0/30 que es la red que comparten R1 y R2. Como todos estarán en la misma área backbone en ambos. En el momento que añado las redes le estoy diciendo al router que utilice ese segmento de red para enviar un paquete hello que lo que hace es anunciar que está aquí y hablando OSPF hay alguien que también quiere hablar OSPF de esta manera se levanta lo que se lama la adyacencia.

Cambiando el nombre de los routers

[admin@R1] > system identity set name=R1
[admin@R2] > system identity set name=R2
[admin@R3] > system identity set name=R3
[admin@R4] > system identity set name=R4

Agregando las IPs correspondiente a cada interface.

En R1:
[admin@R1] > ip address add address=10.10.12.1/30 interface=ether1
[admin@R1] > ip address add address=10.10.14.1/30 interface=ether2
[admin@R1] > ip address add address=192.168.10.254/24 interface=ether3

En R2:
[admin@R2] > ip address add address=10.10.12.2/30 interface=ether1
[admin@R2] > ip address add address=10.10.24.1/30 interface=ether3
[admin@R2] > ip address add address=10.10.23.1/30 interface=ether2
[admin@R2] > ip address add address=192.168.20.254/24 interface=ether4

En R3:
[admin@R3] > ip address add address=10.10.23.2/30 interface=ether2
[admin@R3] > ip address add address=192.168.30.254/24 interface=ether1

En R4:
[admin@R4] > ip address add address=10.10.14.2/30 interface=ether2
[admin@R4] > ip address add address=10.10.24.2/30 interface=ether3
[admin@R4] > ip address add address=192.168.40.254/24 interface=ether1

Debería quedar así:

[admin@R1] > ip address print
Flags: X - disabled, I - invalid, D - dynamic 
 #   ADDRESS            NETWORK         INTERFACE                              
 0   10.10.12.1/30      10.10.12.0      ether1                                 
 1   10.10.14.1/30      10.10.14.0      ether2                                 
 2   192.168.10.254/24  192.168.10.0    ether3

[admin@R2] > ip address print
Flags: X - disabled, I - invalid, D - dynamic 
 #   ADDRESS            NETWORK         INTERFACE                              
 0   10.10.12.2/30      10.10.12.0      ether1                                 
 1   10.10.23.1/30      10.10.23.0      ether2                                 
 2   10.10.24.1/30      10.10.24.0      ether3                                 
 3   192.168.20.254/24  192.168.20.0    ether4 

[admin@R3] > ip address print
Flags: X - disabled, I - invalid, D - dynamic 
 #   ADDRESS            NETWORK         INTERFACE                              
 0   10.10.23.2/30      10.10.23.0      ether2                                 
 1   192.168.30.254/24  192.168.30.0    ether1 

[admin@R4] > ip address print           
Flags: X - disabled, I - invalid, D - dynamic 
 #   ADDRESS            NETWORK         INTERFACE                              
 0   10.10.14.2/30      10.10.14.0      ether2                                 
 1   10.10.24.2/30      10.10.24.0      ether3 
 2   192.168.40.254/24  192.168.40.0    ether1

[admin@R1] > routing ospf network add network=10.10.12.0/30 area=backbone

Si hago un routing ospf neighbor print veré que se ha configurado una adyacencia.

[admin@R1] > routing ospf neighbor print
 0 instance=default router-id=10.10.12.2 address=10.10.12.2 interface=ether1 
   priority=1 dr-address=0.0.0.0 backup-dr-address=0.0.0.0 state="Init" 
   state-changes=1 ls-retransmits=0 ls-requests=0 db-summaries=

[admin@R2] > routing ospf network add network=10.10.12.0/30 area=backbone
[admin@R2] > routing ospf neighbor print                                 
 0 instance=default router-id=10.10.12.1 address=10.10.12.1 interface=ether1 
   priority=1 dr-address=10.10.12.1 backup-dr-address=10.10.12.2 state="Full" 
   state-changes=5 ls-retransmits=1 ls-requests=0 db-summaries=
   adjacency=11s 

El router 1 tiene como vecino OSPF al router 2 (router-id=10.10.12.2) y el router 2 tiene como vecino al router 1 (router-id=10.10.12.1).  
En las tablas de enrutamiento no ha habido cambios, el OSPF está activo entre los routers R1 y R2 pero aún no he decidido que información va a distribuirse. Quién define que información va a distribuirse es la instancia.
.
[admin@R2] > ip address print
Flags: X - disabled, I - invalid, D - dynamic 
 #   ADDRESS            NETWORK         INTERFACE                              
 0   10.10.12.2/30      10.10.12.0      ether1                                 
 1   10.10.24.1/30      10.10.24.0      ether4                                 
 2   10.10.23.1/30      10.10.23.0      ether2                                 
 3   192.168.20.254/24  192.168.20.0    ether3   

[admin@R1] > ip route print                     
Flags: X - disabled, A - active, D - dynamic, 
C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme, 
B - blackhole, U - unreachable, P - prohibit 
 #      DST-ADDRESS        PREF-SRC        GATEWAY            DISTANCE
 0 ADC  10.10.12.0/30      10.10.12.1      ether1                    0
 1 ADC  10.10.14.0/30      10.10.14.1      ether2                    0
 2 ADC  192.168.10.0/24    192.168.10.254  ether4                    0

Vamos a ver que tengo.

[admin@R1] > routing ospf instance print detail 
Flags: X - disabled, * - default 
 0  * name="default" router-id=0.0.0.0 distribute-default=never 
      redistribute-connected=no redistribute-static=no redistribute-rip=no 
      redistribute-bgp=no redistribute-other-ospf=no metric-default=
      metric-connected=20 metric-static=20 metric-rip=20 metric-bgp=auto 
      metric-other-ospf=auto in-filter=ospf-in out-filter=ospf-out 

Como vemos no estoy distribuyendo nada (redistribute-connected=no). Vamos a distribuir

Ahora la redistribución de rutas conectadas que estaba en no, ahora lo está haciendo la distribución y por tipo 1. 

[admin@R1] > routing ospf instance set redistribute-connected=as-type-1 numbers=0
[admin@R1] > routing ospf instance print detail                                 Flags: X - disabled, * - default 
 0  * name="default" router-id=0.0.0.0 distribute-default=never 
      redistribute-connected=as-type-1 redistribute-static=no 
      redistribute-rip=no redistribute-bgp=no redistribute-other-ospf=no 
      metric-default=1 metric-connected=20 metric-static=20 metric-rip=20 
      metric-bgp=auto metric-other-ospf=auto in-filter=ospf-in 
      out-filter=ospf-out 

Hacemos un ip route print y vemos que el R2 han aparecido dos rutas nuevas. La 10.10.14.0/30 y la 192.168.10.0/24. 

[admin@R2] > ip route print 
Flags: X - disabled, A - active, D - dynamic, 
C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme, 
B - blackhole, U - unreachable, P - prohibit 
 #      DST-ADDRESS        PREF-SRC        GATEWAY            DISTANCE
 0 ADC  10.10.12.0/30      10.10.12.2      ether1                    0
 1 ADo  10.10.14.0/30                      10.10.12.1              110
 2 ADC  10.10.23.0/30      10.10.23.1      ether2                    0
 3 ADC  10.10.24.0/30      10.10.24.1      ether4                    0
 4 ADo  192.168.10.0/24                    10.10.12.1              110
 5 ADC  192.168.20.0/24    192.168.20.254  ether3                    0

Comprobamos conectividad con un ping

Para que el R1 aprenda las rutas también debemos activar la propagación:

[admin@R2] > routing ospf instance set redistribute-connected=as-type-1 numbers=0
[admin@R2] > routing ospf instance print detail 
Flags: X - disabled, * - default 
 0  * name="default" router-id=0.0.0.0 distribute-default=never 
      redistribute-connected=as-type-1 redistribute-static=no 
      redistribute-rip=no redistribute-bgp=no redistribute-other-ospf=no 
      metric-default=1 metric-connected=20 metric-static=20 metric-rip=20 
      metric-bgp=auto metric-other-ospf=auto in-filter=ospf-in 
      out-filter=ospf-out 

[admin@R1] > ip route print 
Flags: X - disabled, A - active, D - dynamic, 
C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme, 
B - blackhole, U - unreachable, P - prohibit 
 #      DST-ADDRESS        PREF-SRC        GATEWAY            DISTANCE
 0 ADC  10.10.12.0/30      10.10.12.1      ether1                    0
 1 ADC  10.10.14.0/30      10.10.14.1      ether2                    0
 2 ADo  10.10.23.0/30                      10.10.12.2              110
 3 ADo  10.10.24.0/30                      10.10.12.2              110
 4 ADC  192.168.10.0/24    192.168.10.254  ether4                    0
 5 ADo  192.168.20.0/24                    10.10.12.2              110

Tenemos tres nuevas rutas aprendidas y que están conectadas a R2. 10.10.23.0/30, 10.10.24.0/30 t la 192.168.20.0/24. Comprobamos conectividad.

[admin@R1] > ping 10.10.23.1 src-address=192.168.10.254
  SEQ HOST                                     SIZE TTL TIME  STATUS           
    0 10.10.23.1                                 56  64 5ms  
    1 10.10.23.1                                 56  64 1ms  
    sent=2 received=2 packet-loss=0% min-rtt=1ms avg-rtt=3ms max-rtt=5ms 

[admin@R1] > ping 10.10.24.1 src-address=192.168.10.254 
  SEQ HOST                                     SIZE TTL TIME  STATUS           
    0 10.10.24.1                                 56  64 2ms  
    1 10.10.24.1                                 56  64 1ms  
    sent=2 received=2 packet-loss=0% min-rtt=1ms avg-rtt=1ms max-rtt=2ms 

[admin@R1] > ping 10.10.23.1 src-address=192.168.10.254 
  SEQ HOST                                     SIZE TTL TIME  STATUS           
    0 10.10.23.1                                 56  64 1ms  
    1 10.10.23.1                                 56  64 1ms  
    sent=2 received=2 packet-loss=0% min-rtt=1ms avg-rtt=1ms max-rtt=1ms 

[admin@R1] > ping 192.168.20.254 src-address=192.168.10.254         
  SEQ HOST                                     SIZE TTL TIME  STATUS           
    0 192.168.20.254                             56  64 1ms  
    1 192.168.20.254                             56  64 1ms  
    sent=2 received=2 packet-loss=0% min-rtt=1ms avg-rtt=1ms max-rtt=1ms 

Las rutas nuevas aprendidas son las 10.10.14.0/30 y la 192.168.10.0/24 conectada al R1.

[admin@R2] > ping 192.168.10.254 src-address=192.168.20.254
  SEQ HOST                                     SIZE TTL TIME  STATUS           
    0 192.168.10.254                             56  64 31ms 
    1 192.168.10.254                             56  64 8ms   
    sent=2 received=2 packet-loss=0% min-rtt=1ms avg-rtt=10ms max-rtt=5ms 

[admin@R2] > ping 10.10.14.1 src-address=192.168.20.254             
  SEQ HOST                                     SIZE TTL TIME  STATUS           
    0 10.10.14.1                                 56  64 5ms  
    1 10.10.14.1                                 56  64 3ms  
    sent=2 received=2 packet-loss=0% min-rtt=3ms avg-rtt=4ms max-rtt=5ms 

No hemos agregado ninguna ruta habilitado el protocolo los routers se han encargado de intercambiar información.
En este momento vamos a integrar el R3 al router 2.

 [admin@R2] > routing ospf network print
Flags: X - disabled, I - invalid 
 #   NETWORK            AREA                                                   
 0   10.10.12.0/30      backbone  

[admin@R2] > routing ospf network add network=10.10.23.0/30 area=backbone 
[admin@R2] > ip route print 
Flags: X - disabled, A - active, D - dynamic, 
C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme, 
B - blackhole, U - unreachable, P - prohibit 
 #      DST-ADDRESS        PREF-SRC        GATEWAY            DISTANCE
 0 ADC  10.10.12.0/30      10.10.12.2      ether1                    0
 1 ADo  10.10.14.0/30                      10.10.12.1              110
 2 ADC  10.10.23.0/30      10.10.23.1      ether2                    0
 3 ADC  10.10.24.0/30      10.10.24.1      ether4                    0
 4 ADo  192.168.10.0/24                    10.10.12.1              110
 5 ADC  192.168.20.0/24    192.168.20.254  ether3                    0

Ahora ya tengo dos redes:

 [admin@R2] > routing ospf network print
Flags: X - disabled, I - invalid 
 #   NETWORK            AREA                                                   
 0   10.10.12.0/30      backbone                                               
 1   10.10.23.0/30      backbone  

Vamos a agregar al router 3 R3

[admin@R3] > routing ospf network add network=10.10.23.0/30 area=backbone 

El R3 tiene como vecino al R2

[admin@R3] > routing ospf neighbor print detail 
 0 instance=default router-id=10.10.12.2 address=10.10.23.1 interface=ether2 
   priority=1 dr-address=10.10.23.1 backup-dr-address=10.10.23.2 state="Full" 
   state-changes=5 ls-retransmits=0 ls-requests=0 db-summaries=
   adjacency=47s 

El R2 tiene ahora dos vecinos el R1 y el R3

[admin@R2] > routing ospf neighbor print detail 
 0 instance=default router-id=10.10.23.2 address=10.10.23.2 interface=ether2 
   priority=1 dr-address=10.10.23.1 backup-dr-address=10.10.23.2 state="Full" 
   state-changes=5 ls-retransmits=0 ls-requests=0 db-summaries=
   adjacency=4m3s 

 1 instance=default router-id=10.10.12.1 address=10.10.12.1 interface=ether1 
   priority=1 dr-address=10.10.12.1 backup-dr-address=10.10.12.2 state="Full" 
   state-changes=5 ls-retransmits=0 ls-requests=0 db-summaries=
   adjacency=1h10m24s 

El router R3 no está publicando nada solo se ha añadido a la red OSPF 

[admin@R3] > routing ospf instance print 
Flags: X - disabled, * - default 
 0  * name="default" router-id=0.0.0.0 distribute-default=never 
      redistribute-connected=no redistribute-static=no redistribute-rip=no 
      redistribute-bgp=no redistribute-other-ospf=no metric-default=
      metric-connected=20 metric-static=20 metric-rip=20 metric-bgp=auto 
      metric-other-ospf=auto in-filter=ospf-in out-filter=ospf-out 

Vamos a activar la redistribución en R3 

admin@R3] > routing ospf instance set redistribute-connected=as-type-1 numbers=0

Y vemos que el router R1 ha aprendido una ruta nueva 192.168.30.0/24

[admin@R1] > ip route print 
Flags: X - disabled, A - active, D - dynamic, 
C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme, 
B - blackhole, U - unreachable, P - prohibit 
 #      DST-ADDRESS        PREF-SRC        GATEWAY            DISTANCE
 0 ADC  10.10.12.0/30      10.10.12.1      ether1                    0
 1 ADC  10.10.14.0/30      10.10.14.1      ether2                    0
 2 ADo  10.10.23.0/30                      10.10.12.2              110
 3 ADo  10.10.24.0/30                      10.10.12.2              110
 4 ADC  192.168.10.0/24    192.168.10.254  ether4                    0
 5 ADo  192.168.20.0/24                    10.10.12.2              110
 6 ADo  192.168.30.0/24                    10.10.12.2              110

  Entonces tendría que poder llegar a esa red. Comprobamos con un ping 

[admin@R1] > ping 192.168.30.254 src-address=192.168.10.254
  SEQ HOST                                     SIZE TTL TIME  STATUS           
    0 192.168.30.254                             56  63 11ms 
    1 192.168.30.254                             56  63 2ms  
    sent=2 received=2 packet-loss=0% min-rtt=2ms avg-rtt=6ms max-rtt=11ms

Probemos un ping desde el router 3 R3 a la red LAN de R1

[admin@R3] > ping 192.168.10.254 src-address=192.168.30.254
  SEQ HOST                                     SIZE TTL TIME  STATUS           
    0 192.168.10.254                             56  63 4ms  
    1 192.168.10.254                             56  63 2ms  
    sent=2 received=2 packet-loss=0% min-rtt=2ms avg-rtt=3ms max-rtt=4ms 

También puedo llegar a la red LAN del R2

[admin@R3] > ping 192.168.20.254 src-address=192.168.30.254 
  SEQ HOST                                     SIZE TTL TIME  STATUS           
    0 192.168.20.254                             56  64 2ms  
    1 192.168.20.254                             56  64 1ms  
    sent=2 received=2 packet-loss=0% min-rtt=1ms avg-rtt=1ms max-rtt=2ms

En este punto tenemos los routers R1, R2 y R3 hablando OSPF.

En el R4 levantaremos OSPF a ambos lados de manera que si R1 quiere llegar a la LAN de R4 pueda hacerlo de forma directa pero si esta conexión se cae o se desconecta pueda hacerlo a través de R2. 

Que redes tenemos en R2. La que va hacia R3 y la que conecta con R1.
[admin@R2] > routing ospf network print
Flags: X - disabled, I - invalid 
 #   NETWORK            AREA                                                   
 0   10.10.12.0/30      backbone                                               
 1   10.10.23.0/30      backbone 

Agregamos la red que va a R4
                                            
[admin@R2] > routing ospf network add network=10.10.24.0/30 area=backbone 
[admin@R2] > routing ospf network print 
Flags: X - disabled, I - invalid 
 #   NETWORK            AREA                                                   
 0   10.10.12.0/30      backbone                                               
 1   10.10.23.0/30      backbone                                               
 2   10.10.24.0/30      backbone  

Tenemos las 3 redes agregadas.

En R4 no tengo ninguna red agregada:

[admin@R4] > routing ospf network print 
Flags: X - disabled, I - invalid 
 #   NETWORK            AREA   

Vamos a agregar la primera red en R4 que sería a través del R2 la 10.10.24.0/30

[admin@R4] > routing ospf network add network=10.10.24.0/30 area=backbone 
[admin@R4] > routing ospf neighbor print
 0 instance=default router-id=10.10.12.2 address=10.10.24.1 interface=ether3 
   priority=1 dr-address=10.10.24.1 backup-dr-address=0.0.0.0 state="Full" 
   state-changes=5 ls-retransmits=1 ls-requests=0 db-summaries=0 adjacency=2s 

[admin@R4] > routing ospf network print                                   
Flags: X - disabled, I - invalid 
 #   NETWORK            AREA                                                   
 0   10.10.24.0/30      backbone 

Ahora R2 tiene tres vecinos (R4, R3 y R1): 

[admin@R2] > routing ospf neighbor print
 0 instance=default router-id=10.10.14.2 address=10.10.24.2 interface=ether3 
   priority=1 dr-address=10.10.24.1 backup-dr-address=10.10.24.2 state="Full" 
   state-changes=5 ls-retransmits=0 ls-requests=0 db-summaries=
   adjacency=16s 

 1 instance=default router-id=10.10.23.2 address=10.10.23.2 interface=ether2 
   priority=1 dr-address=10.10.23.1 backup-dr-address=10.10.23.2 state="Full" 
   state-changes=5 ls-retransmits=0 ls-requests=0 db-summaries=0 adjacency=5m 

 2 instance=default router-id=10.10.12.1 address=10.10.12.1 interface=ether1 
   priority=1 dr-address=10.10.12.2 backup-dr-address=10.10.12.1 state="Full" 
   state-changes=5 ls-retransmits=0 ls-requests=0 db-summaries=
   adjacency=11m41s

El R4 aún no ha hecho propagación:

[admin@R4] > routing ospf instance print detail 
Flags: X - disabled, * - default 
 0  * name="default" router-id=0.0.0.0 distribute-default=never 
      redistribute-connected=no redistribute-static=no redistribute-rip=no 
      redistribute-bgp=no redistribute-other-ospf=no metric-default=
      metric-connected=20 metric-static=20 metric-rip=20 metric-bgp=auto 
      metric-other-ospf=auto in-filter=ospf-in out-filter=ospf-out 

Vamos a habilitar la propagación en R4:

[admin@R4] > routing ospf instance set redistribute-connected=as-type-1 numbers=0

Y vemos que está redistribuyendo como tipo 1

[admin@R4] > routing ospf instance print detail                                 
Flags: X - disabled, * - default 
 0  * name="default" router-id=0.0.0.0 distribute-default=never 
      redistribute-connected=as-type-1 redistribute-static=no 
      redistribute-rip=no redistribute-bgp=no redistribute-other-ospf=no 
      metric-default=1 metric-connected=20 metric-static=20 metric-rip=20 
      metric-bgp=auto metric-other-ospf=auto in-filter=ospf-in 
      out-filter=ospf-out 

En estos momentos el R1 debe haber aprendido la red 40:

[admin@R1] > ip route print
Flags: X - disabled, A - active, D - dynamic, 
C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme, 
B - blackhole, U - unreachable, P - prohibit 
 #      DST-ADDRESS        PREF-SRC        GATEWAY            DISTANCE
 0 ADC  10.10.12.0/30      10.10.12.1      ether1                    0
 1 ADC  10.10.14.0/30      10.10.14.1      ether2                    0
 2 ADo  10.10.23.0/30                      10.10.12.2              110
 3 ADo  10.10.24.0/30                      10.10.12.2              110
 4 ADC  192.168.10.0/24    192.168.10.254  ether3                    0
 5 ADo  192.168.20.0/24                    10.10.12.2              110
 6 ADo  192.168.30.0/24                    10.10.12.2              110
 7 ADo  192.168.40.0/24                    10.10.12.2              110

Si nos fijamos el R1 está llegando a la red 40 a través del R2 10.10.12.2 y esto lo podemos comprobar con un traceroute:

[admin@R1] > tool traceroute 192.168.40.254 src-address=192.168.10.254  
 # ADDRESS                          LOSS SENT    LAST     AVG    BEST   WORST
 1 10.10.12.2                         0%   42   1.7ms     2.1     1.2      29
 2 192.168.40.254                     0%   42   2.2ms     3.2     1.6    53.9

En el momento que yo habilite el OSPF entre R1 y R4 el mejor camino debe ser a través de 10.10.14.2

Lo que tenemos ahora en R4

[admin@R4] > routing ospf network print
Flags: X - disabled, I - invalid 
 #   NETWORK            AREA                                                   
 0   10.10.24.0/30      backbone 

Agregaremos la red que va hacia el router 1 R1:

[admin@R4] > routing ospf network print         
Flags: X - disabled, I - invalid 
 #   NETWORK            AREA                                                   
 0   10.10.24.0/30      backbone                                               
 1   10.10.14.0/30      backbone  

Falta agregar la red que va hacia el router 4 (R4) en el router 1 (R1).

Flags: X - disabled, I - invalid 
 #   NETWORK            AREA                                                   
 0   10.10.12.0/30      backbone                                               
[admin@R1] > routing ospf network add network=10.10.14.0/30 area=backbone 

Después de agregar la red en el R1

[admin@R1] > routing ospf network print                                   
Flags: X - disabled, I - invalid 
 #   NETWORK            AREA                                                   
 0   10.10.12.0/30      backbone                                               
 1   10.10.14.0/30      backbone       

Ahora el R4 debe tener 2 vecinos R1 y R2

[admin@R4] > routing ospf neighbor print detail 
 0 instance=default router-id=10.10.12.1 address=10.10.14.1 interface=ether2 
   priority=1 dr-address=10.10.14.2 backup-dr-address=10.10.14.1 state="Full" 
   state-changes=4 ls-retransmits=0 ls-requests=0 db-summaries=
   adjacency=1m47s 

 1 instance=default router-id=10.10.12.2 address=10.10.24.1 interface=ether3 
   priority=1 dr-address=10.10.24.1 backup-dr-address=10.10.24.2 state="Full" 
   state-changes=5 ls-retransmits=0 ls-requests=0 db-summaries=
   adjacency=23m13s 

Veamos ahora lo que sucede en R1, llego a la red 40 pero a través de la 10.10.14.2, o sea, de forma directa.

[admin@R1] > ip route print
Flags: X - disabled, A - active, D - dynamic, 
C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme, 
B - blackhole, U - unreachable, P - prohibit 
 #      DST-ADDRESS        PREF-SRC        GATEWAY            DISTANCE
 0 ADC  10.10.12.0/30      10.10.12.1      ether1                    0
 1 ADC  10.10.14.0/30      10.10.14.1      ether2                    0
 2 ADo  10.10.23.0/30                      10.10.12.2              110
 3 ADo  10.10.24.0/30                      10.10.12.2              110
                                           10.10.14.2        
 4 ADC  192.168.10.0/24    192.168.10.254  ether3                    0
 5 ADo  192.168.20.0/24                    10.10.12.2              110
 6 ADo  192.168.30.0/24                    10.10.12.2              110
 7 ADo  192.168.40.0/24                    10.10.14.2              110

Si hacemos un traceroute veremos que ahora llego en un solo salto cuando antes llegaba en dos saltos
[admin@R1] > tool traceroute 192.168.40.254 src-address=192.168.10.254
 # ADDRESS                          LOSS SENT    LAST     AVG    BEST   WORST
 1 192.168.40.254                     0%    4   1.3ms     1.6     1.2     2.6

Mikrotik es genial!.

No hay comentarios:

Publicar un comentario