Entradas

Distancia Administrativa vs Métrica

¿Qué hace un router?

El objetivo del router es distribuir paquetes por la ruta más adecuada en cada momento. Para ello consulta su tabla FIB, y elige en cada momento que interfaz de salida va a seleccionar para un paquete determinado. En esta consulta interviene la tabla RIB, donde tendrá almacenada la ruta para cada una de las direcciones. Es aquí donde actúan los diferentes parámetros como la longitud del prefijo, la métrica o la distancia administrativa, creando un algoritmo a interpretar. El router puede tener instalada en su tabla de rutas, diferentes direcciones aprendidas por medio de diferentes protocolos de enrutamiento y en base a esto, modificará su algoritmo de selección de ruta.

Tabla FIB: Es la información actual que un router usará para elegir la interfaz correcta por la que enviar un paquete. Esta información se elige de la tabla RIB y de las tablas de adyadcencia para poder encapsular correctamente el paquete.

Tabla RIB: Se deriva del plano de control. No se utiliza para hacer Forwarding. Cada protocolo de enrutamiento tiene su propia tabla RIB y seleccionan sus mejores candidatas para  instalar sus rutas en una tabla RIB global. Una vez instaladas en la tabla RIB global, ya pueden ser usadas para el Forwarding.

¿Qué es la convergencia?

Es el objetivo principal de todos los protocolos de enrutamiento. Cuando un conjunto de enrutadores converge significa que todos sus elementos se han puesto de acuerdo y reflejan la situación real del entorno de red donde se encuentran. La velocidad con la que los protocolos convergen después de un cambio es una buena medida de la eficacia del protocolo de enrutamiento.

¿Qué es la métrica?

La métrica es el análisis, y en lo que se basa el algoritmo del protocolo de enrutamiento dinámico para elegir y preferir una ruta por sobre otra, basándose en eso el protocolo creará la tabla de enrutamiento en el router, publicando sólo las mejores rutas. Un protocolo de enrutamiento utiliza métrica para determinar qué vía utilizar para transmitir un paquete a través de un Intercambio. La métrica utilizada por protocolos de enrutamiento incluyen:

■Numero de saltos: Número de routers por los que pasará un paquete.
■Pulsos: Retraso en un enlace de datos usando pulsos de reloj de PC.
■Coste: Valor arbitrario, basado generalmente en el ancho de banda, el coste económico u otra medida.
■Ancho de banda: Capacidad de datos de un enlace.
■Retraso:
Cantidad de actividad existente en un recurso de red, como un router o un enlace.
■Carga:
Cantidad de actividad existente en un recurso de red, como un router o un enlace.
■Fiabilidad:
Se refiere al valor de errores de bits de cada enlace de red.
■MTU:
Unidad máxima de transmisión. Longitud máxima de trama en octetos que puede ser aceptada por todos los enlaces de la ruta. Los protocolos de enrutamiento almacenar los resultados de estas cifras en una tabla de enrutamiento.

¿Qué es la Distancia Administrativa?

La Distancia Administrativa es otro criterio que se comprueba cuando se usa más de una protocolo de enrutamiento para llegar a una misma red. Sirve para que un router elija la ruta a utilizar para alcanzar esa misma red  La ruta del protocolo de enrutamiento que tenga la distancia administrativa más baja sera la mejor ruta. La distancia administrativa solo tiene un efecto «local» dentro del router y no se propaga ni se anuncia de ninguna manera. Es un criterio de fiabilidad que mide el origen del aprendizaje de esa ruta.

Fabricantes

Como hemos destacado antes, la distancia administrativa es una implementación interna del router y no se propaga, por lo que tenemos que estar muy atentos a cómo lo hace cada fabricante. Huawei, este parámetro lo conoce como Preference

En esta tabla, hemos recopilado un resumen de las distancias administrativas para varios fabricantes líderes en el mercado. Esta tabla nos será muy útil cuando configuremos escenarios multifabricante.

lo0-distancia-administrativa-cheatsheet

En el Máster en Arquitectura de Redes de Operadores de Telecomunicaciones, en el curso HCIA Routing&Switching y en las certificaciones oficiales de MikroTik impartidas en loopback0 (MTCRE), explicamos en profundidad las características de los protocolos de enrutamiento así como sus correctas implementaciones y configuraciones en entornos multifabricante.

Configuración de Wireguard en MikroTik

¿Por qué usar Wireguard?

Wireguard fue diseñado por Jason A. Donenfeld como una alternativa a los túneles VPN ya existentes. Mr Donenfeld tuvo muy claras las premisas para su desarrollo. Debe ser simple y sencillo de usar, con un alto rendimiento, necesita ser criptográficamente seguro, proporcionar una mínima superficie de ataque, y cada detalle y decisión del desarrollo, debe ser considerado y valorado intensamente antes de su aprobación o descarte.

En los sistemas Linux, la solución estándar para los asegurar las comunicaciones de la capa 3 es IPSec. Esto permite el poder proteger protocolos de la capa 4 como TCP y UDP, siendo muy versátil con respecto a los protocolos de capa de aplicación, como SSL y TLS. Puede utilizarse para crear VPN en sus dos modos: transporte y túnel. Es la solución por defecto para la interconexión entre sedes, puesto que está compuesto por un conjunto de RFCs ampliamente testados y sobre los que se sigue trabajando. Combinado con L2TP, nos da la posibilidad de que el concentrador de VPN no tenga que conocer previamente la IP de la conexión remota, por lo que es muy útil para trabajadores itinerantes. Es considerado de uso corporativo.

OpenVPN es otra de las herramientas utilizada para VPN. Creada pensando en todo tipo de usuarios, es una herramienta basada en código libre y usa tanto SSL como TLS para la encriptación. Puede funcionar sobre UDP o sobre TCP multiplexando los túneles SSL creados sobre un solo puerto TCP/UDP. Tiene su propio protocolo de seguridad y no necesita basarse en otras tecnologías como IKE o IPSec. Sin embargo, es bien conocido su problema cuando funciona sobre TCP para establecer el túnel: el rendimiento es aceptable solo mientras haya suficiente exceso de ancho de banda en la red no tunelizada, para así poder garantizar que los timers TCP no expiren. Este fenómeno se conoce como TCP Meltdown.

¿Puedo declarar una vez más mi amor por [WireGuard] y esperar que se fusione pronto? Tal vez el código no sea perfecto, pero lo he ojeado, y comparado con los horrores que son OpenVPN e IPSec, es una obra de arte.

Linus Torvalds, Linux Kernel Mailing List

En definitiva, Wireguard resuelve cantidad de problemas inherentes a las VPN: es fácil de configurar, es estable, es seguro, la conexión se produce rápidamente, el rendimiento es alto…

Descripción

RouterOS soporta una multitud de túneles sin necesidad de licenciamiento adicional: GRE, IPoIP, EoIP y PPP: PPPoE, PPP, PPTP, SSTP, L2TP, OVPN. En el verano de 2020 han añadido soporte para Wireguard en su versión de desarrollo 7.1beta2.

 

wireguard-changelog

 

Descripción del Laboratorio

En este laboratorio, prepararemos un escenario donde podamos unir dos sedes remotas mediante la tecnología Wireguard.

Objetivos de la práctica

  • Conocer el funcionamiento de Wireguard
  • Montar un túnel entre 2 routers
  • Verificar la configuración realizada.

Topología

simple-network

Configuración paso a paso

Antes de comenzar con la configuración, un detalle muy importante a resaltar: estamos trabajando con un sistema operativo que todavía está en fase beta. Esto quiere decir que aún estamos ante una versión en desarrollo que no ha sido lo suficientemente testada, por lo que la recomendación es no utilizarla en entornos críticos.

1. Asignar direcciones IP

R1

[admin@R1] > ip address/ add interface=ether1 address=192.168.1.10/24 disabled=no
[admin@R1] > ip route/add dst-address=0.0.0.0/0 gateway=192.168.1.1

R2

[admin@R2] > ip address/ add interface=ether1 address=192.168.1.11/24 disabled=no
[admin@R2] > ip route/add dst-address=0.0.0.0/0 gateway=192.168.1.1

Es un escenario se ha montado sobre en una red local, por lo que ambos routers compartirán gateway y estableceremos el túnel a través de ella. Será nuestro «internet». Aunque la topología sea sencilla, ahora es el momento de ejecutar un ping y comprobar que los routers responden entre sí.

2. Configurar Wireguard

R1

[admin@R1] > interface/wireguard/add name=wg1 listen-port=56710
[admin@R1] > :put [/interface/wireguard/get 0 public-key]

Con el último comando obtenemos la clave pública generada por R1. La llamaremos CLAVE-PUBLICA-R1. Esta clave la introduciremos a continuación en el peer del R2 entrecomillada » » puesto que al tratarse de una cadena con caracteres especiales, nos puede inducir al error.

R2

[admin@R2] > interface/wireguard/add name=wg1 listen-port=56711
[admin@R2] > interface/wireguard/peers/add interface=wg1 endpoint=192.168.1.10:56710 allowed-address=0.0.0.0/0 public-key="CLAVE-PUBLICA-R1"
[admin@R2] > :put [/interface/wireguard/get 0 public-key]

Hemos creado el peer permitiendo 0.0.0.0/0 (todas las redes) por lo que, dependiendo de la configuración requerida, lo prudente es permitir solo las redes deseadas. Con el último comando obtenemos la clave pública generada por R2. La llamaremos CLAVE-PUBLICA-R2. Esta clave la introduciremos a continuación en el peer del R1 entrecomillada » » puesto que al tratarse de una cadena con caracteres especiales, nos puede inducir al error.

R1

[admin@R1] > interface/wireguard/peers/add interface=wg1 endpoint=192.168.1.11:56711 allowed-address=0.0.0.0/0 public-key="CLAVE-PUBLICA-R2"

Ya tenemos nuestro túnel funcionando. Ahora para probar la conectividad, le asignaremos IP a cada una de las interfaces creadas.

3. Asignar direcciones IP al túnel Wireguard

R1

[admin@R1] > ip address/ add interface=wg1 address=10.0.0.10/24 disabled=no

R2

[admin@R2] > ip address/ add interface=wg1 address=10.0.0.11/24 disabled=no

Con esta sencilla configuración, ya tenemos conectividad en capa 3 sobre el túnel. A partir de aquí, ya podríamos enrutar sobre esta nueva red, proporcionando así conectividad en sedes remotas. Con la configuración planteada, no es muy complicado cambiar los parámetros correspondientes a un escenario en el que los propios MikroTik gestionen las IP públicas.

Recordando nuevamente que estamos ante una versión beta, resaltamos que el escenario ha sido configurado mediante terminal exclusivamente. Mediante Winbox hay ciertos parámetros que aún no son accesibles por lo que es probable que la configuración se genere con errores.

Comprobación

→ Nos aseguramos de la correcta configuración en utilizando la herramienta incorporada al routerOS Bandwidth Test.

winbox-wireguard-bwtest

 

Conclusión

Proporcionar conectividad VPN es una de las múltiples funcionalidades para lo que MikroTik nos ofrece una plataforma sólida. Aunque tradicionalmente ha sido un fabricante muy orientado al sector ISP/WISP, la incorporación de Wireguard es una clara apuesta de la marca para continuar posicionándose en el sector corporativo. Con Wireguard, una compañía puede tanto establecer un servicio multisede como proporcionar acceso a trabajadores remotos o roadwarriors sin tener que depender exclusivamente de IPSec, OpenVPN, etc. En su web podemos encontrar cada uno de los clientes para las diferentes plataformas más usuales.

En el Máster en Arquitectura de Redes de Operadores de Telecomunicaciones, y en las certificaciones oficiales de MikroTik impartidas en loopback0 (MTCNAMTCRE), explicamos en profundidad los diferentes tipos de túneles y VPN, así como sus pros y contras.

La tabla RAW en MikroTik

¿Por qué usar la tabla RAW? O como mitigar un ataque DoS de manera eficiente

La entrada del blog que tiene la Oficina de Seguridad del Internauta española, explica perfectamente la descripción de los ataques DoS. De esta descripción, cabe destacar lo siguiente:

«En los ataques DoS se generan una cantidad masiva de peticiones al servicio desde una misma máquina o dirección IP, consumiendo así los recursos que ofrece el servicio hasta que llega un momento en que no tiene capacidad de respuesta y comienza a rechazar peticiones, esto es cuando se materializa la denegación del servicio.

En el caso de los ataques DDoS, se realizan peticiones o conexiones empleando un gran número de ordenadores o direcciones IP. Estas peticiones se realizan todas al mismo tiempo y hacia el mismo servicio objeto del ataque. Un ataque DDoS es más difícil de detectar, ya que el número de peticiones proviene desde diferentes IP´s y el administrador no puede bloquear la IP que está realizando las peticiones, como sí ocurre en el ataque DoS.»

La plataforma RouterOS de MikroTik, posee un cortafuegos de estado completo (stateful firewall) que, entendiendo su funcionamiento en profundidad, nos permite mitigar este tipo de ataques.

Descripción

MikroTik describe en su wiki el funcionamiento de la tabla RAW como la que permite omitir o eliminar paquetes de forma selectiva antes de que se produzca el seguimiento de la conexión (connection tracking), de manera que reduce la carga de la CPU significativamente. Es por esto que es una herramienta muy útil para mitigar los ataques de denegación de servicio.

Cómo podemos acceder a la tabla Raw

Para acceder a la tabla Raw a través de WinBox, se accede entrando en el menú lateral a IPFirewall donde se abrirá una pestaña y elegiremos la opción Raw y ahí podremos crear tablas Raw haciendo click en el mas.

mikrotik-ip-firewall-raw

 

Diferencias entre la tabla Raw y Filter Rules

  • Si observamos bien la imagen siguiente, en la que se muestra la comparación entre tabla Filter Rules y tabla Raw, veremos que los campos se parecen, hasta In Interface List y Out Interface List.
  • La tabla Filter Rules es diferente, ya que consta de una parte de Marcado y otra de Conexión.
  • La tabla Filter Rules, permite definir reglas mucho más precisas con respecto al «matching» y a la acción a realizar.

mikrotik-ip-firewall-raw-vs-filter

 

Pero, ¿esto por qué? Comparando con la tabla NAT

  • Si observamos la tabla Raw, veremos que en la opción Chain (cadena), hay solo dos opciones, prerouting y output (Figura 2), donde el realizar el marcado de paquetes y la conexión se nos antoja innecesario ya que, según la arquitectura del Packet Flow, el funcionamiento del prerouting y el output se produce previo al marcado de paquetes y la conexión y no después.mikrotik-raw-chain

 

mikrotik-prerouting-output

  • En cambio, en la opción Chain (cadena) de la tabla NAT veremos que aparecen dos opciones, que son dstnat y srcnat, y podemos apreciar que la acción se realiza después de que se haga el marcado de conexiones y Mangle.

mikrotik-nat-chain

 

mikrotik-prerouting-postrouting

Conclusión

La funcionalidad del cortafuegos de RouterOS es una de las características en las que merece la pena detenerse a comprender.

Configurando correctamente la tabla RAW, mejoramos la eficiencia del procesado de las reglas ya que la toma de decisiones, hará un recorrido más sencillo por el packet flow.

Con este recorrido más sencillo, optimizamos la carga de trabajo que le estamos forzando a la CPU. Como final de este artículo y un detalle en el que siempre hacemos hincapié (aunque sea obvio). RouterOS posee un cortafuegos que, configurado eficientemente nos va a ayudar en varios escenarios, pero ¡RouterOS es un router! Su funcionalidad principal es la de enrutar, no la de cortafuegos. Los diferentes fabricantes de firewalls existentes, diseñan los cortafuegos con electrónica específica destinada únicamente a la inspección profunda de los paquetes y a la toma de decisiones con respecto a ellos. Cada dispositivo tiene su función concreta por lo que es necesario planear la situación y configuración en la red de cada uno de ellos de manera que se dediquen óptimamente a su trabajo específico.

En el Máster en Arquitectura de Redes de Operadores de Telecomunicaciones y en las certificaciones oficiales de MikroTik impartidas en loopback0 (tanto MTCTCE como MTCSE), explicamos en profundidad las características de cortafuegos y sus «mejores prácticas».