Páginas

viernes, 7 de febrero de 2020

Rutas estáticas en Mikrotik

Rutas estáticas en Mikrotik


Enrutamiento utilizando GNS3 en MacBook Pro High Sierra.


El enrutamiento es un proceso de la capa 3
del modelo OSI que define hacia donde será enviado el tráfico (los paquetes) y es imprescindible para que múltiples redes se puedan comunicar entre sí.

Los routers no necesitan configuración para poder alcanzar redes conectadas directamente, tanto en el enrutamiento estático como el enrutamiento dinámico se requieren para que un router pueda aprender sobre cualquier ruta remota.

El ruteo es un proceso que trabaja en dos vías. Si configuro el enrutamiento hacia un router ese router también tiene que tener configurado el enrutamiento para que los paquetes puedan regresar hasta el origen.

RIB (Routing Information Base)

Contiene las rutas agrupadas en tablas de ruteo separadas basadas en sus valores de routing-mark, todas las rutas que no poseen routing-mark se almacenan en la tabla principal de enrutamiento (main table). RIB es el lugar donde toda la información acerca del enrutamiento IP es almacenada (rutas estáticas, políticas de ruteo, redes conectadas directamente, redes aprendidas por protocolos de enrutamiento).

RIB es única para cada router y compartida con los protocolos. Una ruta se inserta en la RIB, siempre que algún protocolo aprende una nueva ruta. RIB en RouterOS no es visible para el usuario y solo se puede limpiar esa base de datos reiniciándose el router.

RIB se utiliza para filtrar la información de de enrutamiento, calcular la mejor ruta para cada destino, construir y actualizar la Forwarding Information Base, y para distribuir las rutas entre diferentes protocolos de enrutamiento.

FIB (Forwarding Information Base)

La FIB es una base de datos que contiene una copia de la información necesaria para el enrutamiento de paquetes. Se utiliza para tomar decisiones de envíos de paquetes. Cada protocolo de enrutamiento excepto BGP tienen sus propias tablas internas de rutas, porque BGP almacena la información completa de ruteo de todos los peers en el RIB.

La FIB contiene todas las rutas que potencialmente pueden ser anunciadas a routers vecinos mediante protocolos de enrutamiento dinámico. En RouterOS por defecto todas las rutas activas están en la tabla principal que aparece en /IP Route, incluyendo las rutas aprendidas por los protocolos enrutamiento dinámico.

FIB utiliza la siguiente información del paquete para determinar su destino:
Dirección de origen
Dirección de destino
Interfaz de origen
Marca de enrutamiento (routing-mark)
ToS - no es utilizado por RouterOS en reglas de políticas de enrutamiento pero es clave para la búsqueda de enrutamiento en la caché.

Posibles decisiones de enrutamiento de la FIB:

Recibir paquetes localmente
Descartar paquetes
Enviar el paquete a una dirección IP específica por una interfaz determinada.

Ruta por defecto:

Se aplica a todas las direcciones destino y se conoce como el Gateway de último recurso. Si el router tiene una ruta por defecto la búsqueda de Routing Lookup nunca fallará. La ruta por defecto se identifica como 0.0.0.0/0.

 dst-address=0.0.0.0/0

Rutas conectadas:

Se crean automáticamente para cada red IP que tiene al menos una interfaz habilitada y conectada, esto se especifica en la configuración /IP Address, RIB rastrea el status de las rutas conectadas, pero no las modifica.

Estas rutas se crearán con las letras DAC y la distancia por defecto es 0.

El tener enrutamiento hace que tengamos un solo NAT entre el equipo del cliente y el equipo de borde. Esto quiere decir, que el borde sea el que maneje toda la parte de NAT (enmascaramiento) en un solo punto dentro de toda la red. Agregando rutas estáticas



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 el R1:
[admin@R1] > ip address add address=10.10.12.1/30 interface=ether2
[admin@R1] > ip address add address=10.10.14.1/30 interface=ether3
[admin@R1] > ip address add address=192.168.10.254/24 interface=ether1

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

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

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


Para poder llegar a la red 192.168.20.0/24 agregamos la red de destino a través del gateway 10.10.12.2 que el que conecta con el R2. Hemos establecido el camino de como llegar desde R1 hasta R2. También tenemos que agregar el camino desde el R2 hasta el R1.

[admin@R1] > ip route add dst-address=192.168.20.0/24 gateway=10.10.12.2
[admin@R2] > ip route add dst-address=192.168.10.0/24 gateway=10.10.12.1

Si hacemos un ip route print veremos que se nos ha agregado una nueva ruta A S (Active Static)

[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      ether2                    0
 1 ADC  10.10.23.0/30      10.10.23.1      ether1                    0
 2 ADC  10.10.24.0/30      10.10.24.1      ether3                    0
 3 A S  192.168.10.0/24                    10.10.12.1                1
 4 ADC  192.168.20.254/24  192.168.20.254  ether4 

[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      ether2                    0
 1 ADC  10.10.14.0/30      10.10.14.1      ether3                    0
 2 ADC  192.168.10.254/24  192.168.10.254  ether1                    0
 3 A S  192.168.20.0/24                    10.10.12.2                1

Comprobamos la conectividad desde la 10 (R1) hasta la 20 (R2). LAN to LAN

[admin@R1] > ping src-address=192.168.10.254 192.168.20.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 

Hacemos lo mismo desde la 20 (R2) hacia la 10 (R1)
[admin@R2] > ping src-address=192.168.20.254 192.168.10.254
  SEQ HOST                                     SIZE TTL TIME  STATUS           
    0 192.168.10.254                             56  64 1ms  
    1 192.168.10.254                             56  64 1ms  
    sent=2 received=2 packet-loss=0% min-rtt=1ms avg-rtt=1ms max-rtt=1ms 

Ya tenemos interconectadas las redes LAN detrás de los routers R1 y R2 - 192.168.10.0/24 y 192.168.20.0/24.

Vamos a habilitar la comunicación entre el R2 y el R3.

[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      ether2                                 
 1   10.10.24.1/30      10.10.24.0      ether3                                 
 2   10.10.23.1/30      10.10.23.0      ether1                                 
 3   192.168.20.254/24  192.168.20.254  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      ether1                                 
 1   192.168.30.254/24  192.168.30.0    ether2 

Tenemos conectividad entre las dos interfaces que unen R1 (ether1) con R3 (ether1)
[admin@R3] > ping 10.10.23.1
  SEQ HOST                                     SIZE TTL TIME  STATUS           
    0 10.10.23.1                                 56  64 10ms 
    1 10.10.23.1                                 56  64 3ms  
    sent=2 received=2 packet-loss=0% min-rtt=3ms avg-rtt=6ms max-rtt=10ms 

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

Ahora vamos realizar la configuración para que la red LAN 192.168.10.254 (R1) pueda llegar a la red LAN 192.168.30.254 de R2.

Agregamos desde R1 la ruta a la red 30 y hacemos un traceroute (hace una traza salto por salto y me dice que el primer salto es el router número 2 pero no llega al router número 3).
[admin@R1] > ip route add dst-address=192.168.30.0/24 gateway=10.10.12.2   
[admin@R1] > ping 192.168.30.254
  SEQ HOST                                     SIZE TTL TIME  STATUS           
    0 10.10.12.2                                 84  64 15ms  net unreachable  
    1 10.10.12.2                                 84  64 4ms   net unreachable  
    2 10.10.12.2                                 84  64 1ms   net unreachable  
    3 10.10.12.2                                 84  64 3ms   net unreachable  
    sent=4 received=0 packet-loss=100% 


[admin@R1] > tool traceroute 192.168.30.254
 # ADDRESS                          LOSS SENT    LAST     AVG    BEST   WORST
 1 10.10.12.2                         0%    4   1.5ms     3.9     1.5      11
 2                                    0%    0     0ms

R2 no sabe como llegar a la red 30 de R3. Sabe llegar a la 10 

[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      ether2                    0
 1 ADC  10.10.23.0/30      10.10.23.1      ether1                    0
 2 ADC  10.10.24.0/30      10.10.24.1      ether3                    0
 3 A S  192.168.10.0/24                    10.10.12.1                1
 4 ADC  192.168.20.254/32  192.168.20.254  ether4                    0

Entonces agregamos una nueva ruta para llegar a la red 30

[admin@R2] > ip route add dst-address=192.168.30.0/24 gateway=10.10.23.2
[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      ether2                    0
 1 ADC  10.10.23.0/30      10.10.23.1      ether1                    0
 2 ADC  10.10.24.0/30      10.10.24.1      ether3                    0
 3 A S  192.168.10.0/24                    10.10.12.1                1
 4 ADC  192.168.20.254/32  192.168.20.254  ether4                    0
 5 A S  192.168.30.0/24                    10.10.23.2                1

El router R3 no sabe como llegar a la red 20 ni a la red 10. 

[admin@R3] > 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.23.0/30      10.10.23.2      ether1                    0
 1 ADC  192.168.30.0/24    192.168.30.254  ether2                    0

Por tanto debemos agregar la correspondiente ruta en R3 para habilitar la conectividad entre las LAN pertenecientes a los routers R3 y R2. El R3 tiene una ruta y sabe regresar a la red 20.

[admin@R3] > ip route add dst-address=192.168.20.0/24 gateway=10.10.23.1
[admin@R3] > 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.23.0/30      10.10.23.2      ether1                    0
 1 A S  192.168.20.0/24                    10.10.23.1                1
 2 ADC  192.168.30.0/24    192.168.30.254  ether2                    0
[admin@R3] > ping 192.168.20.254
  SEQ HOST                                     SIZE TTL TIME  STATUS           
    0 192.168.20.254                             56  64 3ms  
    1 192.168.20.254                             56  64 2ms  
    sent=2 received=2 packet-loss=0% min-rtt=2ms avg-rtt=2ms max-rtt=3m

Ahora vamos a agregar una ruta para la red 10, desde el R3 y como siempre utilizando el router del último salto que en este caso es la ip 10.10.23.1.

[admin@R3] > ip route add dst-address=192.168.10.0/24 gateway=10.10.23.1 
[admin@R3] > 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.23.0/30      10.10.23.2      ether1                    0
 1 A S  192.168.10.0/24                    10.10.23.1                1
 2 A S  192.168.20.0/24                    10.10.23.1                1
 3 ADC  192.168.30.0/24    192.168.30.254  ether2                    0

[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 3ms  
    1 192.168.10.254                             56  63 2ms  ç

    sent=2 received=2 packet-loss=0% min-rtt=2ms avg-rtt=2ms max-rtt=3ms 

En este punto vamos a hacer un traceroute desde la 10 (R1) hasta la 30 en R3.

[admin@R1] > tool traceroute src-address=192.168.10.254 192.168.30.254
 # ADDRESS                          LOSS SENT    LAST     AVG    BEST   WORST
 1 10.10.12.2                         0%  205   1.3ms     1.4     1.2     5.6
 2 192.168.30.254                     0%  205   1.8ms       2     1.6    12.5

En el primer salto llega al router 2 y en el segundo al router 3. Tenemos conectividad total entre las dos redes. 

[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 5ms  
    1 192.168.10.254                             56  63 2ms  
    sent=2 received=2 packet-loss=0% min-rtt=2ms avg-rtt=3ms max-rtt=5ms 

Hacemos un traceroute desde la R3 a R1.
[admin@R3] > tool traceroute src-address=192.168.30.254 192.168.10.254
 # ADDRESS                          LOSS SENT    LAST     AVG    BEST   WORST
 1 10.10.23.1                         0%    3   1.2ms     1.7     1.2       2
 2 192.168.10.254                     0%    3   1.8ms       2     1.8     2.2

Va hacia R2 a través de router del último salto (10.10.23.1) y luego a la LAN de R1

Todo perfecto. En este punto nos falta el R4.
Agregamos las rutas al R4. Primero con IP address print vemos que no tenemos rutas estáticas para llegar a las LAN de R1, R2 ni R3 agregamos las rutas correspondientes:

[admin@R4] > ip address print
Flags: X - disabled, I - invalid, D - dynamic 
 #   ADDRESS            NETWORK         INTERFACE                              
 0   10.10.24.2/30      10.10.24.0      ether1                                 
 1   10.10.14.2/30      10.10.14.0      ether3                                 
 2   192.168.40.254/24  192.168.40.0    ether2                                 
[admin@R4] > ip route add dst-address=192.168.20.0/24 gateway=10.10.24.1
[admin@R4] > ip route add dst-address=192.168.10.0/24 gateway=10.10.14.1  
[admin@R4] > ip route add dst-address=192.168.30.0/24 gateway=10.10.24.1  
[admin@R4] > 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.14.0/30      10.10.14.2      ether3                    0
 1 ADC  10.10.24.0/30      10.10.24.2      ether1                    0
 2 A S  192.168.10.0/24                    10.10.14.1                1
 3 A S  192.168.20.0/24                    10.10.24.1                1
 4 A S  192.168.30.0/24                    10.10.24.1                1
 5 ADC  192.168.40.0/24    192.168.40.254  ether2                    0

Como la comunicación en enrutamiento es de doble vía agregamos la ruta a R4 en R1. Un ip route print nos comprueba que no tenemos la ruta hacia la red 40 (R4) por tanto, la agregamos

[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      ether2                    0
 1 ADC  10.10.14.0/30      10.10.14.1      ether3                    0
 2 ADC  192.168.10.0/24    192.168.10.254  ether1                    0
 3 A S  192.168.20.0/24                    10.10.12.2                1
 4 A S  192.168.30.0/24                    10.10.12.2                1

[admin@R1] > ip route add dst-address=192.168.40.0/24 gateway=10.10.14.2
[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      ether2                    0
 1 ADC  10.10.14.0/30      10.10.14.1      ether3                    0
 2 ADC  192.168.10.0/24    192.168.10.254  ether1                    0
 3 A S  192.168.20.0/24                    10.10.12.2                1
 4 A S  192.168.30.0/24                    10.10.12.2                1
 5 A S  192.168.40.0/24                    10.10.14.2                1

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

Abrimos la consola del R2 y agregamos la ruta al R4

[admin@R2] > ip address add address=192.168.20.254/24 interface=ether4

[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      ether2                    0
 1 ADC  10.10.23.0/30      10.10.23.1      ether1                    0
 2 ADC  10.10.24.0/30      10.10.24.1      ether3                    0
 3 A S  192.168.10.0/24                    10.10.12.1                1
 4 ADC  192.168.20.0/24    192.168.20.254  ether4                    0
 5 A S  192.168.30.0/24                    10.10.23.2                1
 6 A S  192.168.40.0/24                    10.10.24.2                1

Nos falta hacer un ping para comprobar conectividad entre las redes R2 y R4

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

Y por último nos falta agregar la red LAN del R4 en el R3.

[admin@R3] > ip route add dst-address=192.168.40.0/24 gateway=10.10.23.1
[admin@R3] > 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.23.0/30      10.10.23.2      ether1                    0
 1 A S  192.168.10.0/24                    10.10.23.1                1
 2 A S  192.168.20.0/24                    10.10.23.1                1
 3 ADC  192.168.30.0/24    192.168.30.254  ether2                    0
 4 A S  192.168.40.0/24                    10.10.23.1                1
[admin@R3] > ping 192.168.40.254 src-address=192.168.30.254
  SEQ HOST                                     SIZE TTL TIME  STATUS           
    0 192.168.40.254                             56  63 7ms  
    1 192.168.40.254                             56  63 2ms  
    sent=2 received=2 packet-loss=0% min-rtt=2ms avg-rtt=4ms max-rtt=7ms 

Esto es todo en cuanto a enrutamiento estático. Tenemos conectividad entre todas las redes.

Mikrotik es genial!.

No hay comentarios:

Publicar un comentario