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