Script MikroTik para Detectar y Gestionar el Ancho de Banda: Una Guía Exhaustiva

El ancho de banda es un recurso fundamental en cualquier empresa, permitiendo el acceso a Internet y sustentando las operaciones diarias. Sin embargo, su correcta distribución y gestión puede convertirse en un desafío recurrente. Asegurar que el ancho de banda se destine a las actividades verdaderamente importantes para la organización es una responsabilidad clave para el encargado de la red. MikroTik ofrece herramientas potentes para abordar esta necesidad, principalmente a través de las colas simples y los árboles de colas. Este artículo se centrará en las colas simples, explorando su funcionalidad, creación y aplicaciones prácticas, así como en el uso de scripts para una gestión proactiva del ancho de banda.

Diagrama de flujo de gestión de ancho de banda en MikroTik

Comprendiendo las Colas Simples en MikroTik

Las colas simples en MikroTik son una herramienta versátil diseñada para controlar y limitar el tráfico de red según diversos criterios. Su principal utilidad radica en la capacidad de:

  • Limitar la transferencia de datos: Se puede establecer restricciones de velocidad para direcciones IP específicas, subredes completas, protocolos particulares, puertos o cualquier otro parámetro de tráfico. Esto es esencial para evitar que un solo usuario o servicio consuma la totalidad del recurso disponible.
  • Controlar el tráfico peer-to-peer (P2P): El tráfico P2P, a menudo asociado con descargas y compartición de archivos, puede ser un gran consumidor de ancho de banda. Las colas simples permiten limitar o priorizar este tipo de tráfico para mitigar su impacto en otras operaciones críticas.
  • Priorizar el flujo de paquetes: No todo el tráfico es igual. Las colas simples permiten dar preferencia a ciertos paquetes sobre otros, asegurando que aplicaciones críticas como la voz sobre IP (VoIP) o el acceso a bases de datos críticas reciban el ancho de banda necesario, incluso en momentos de alta congestión.
  • Configurar ráfagas de velocidad: Para mejorar la experiencia de navegación web, se pueden configurar ráfagas de velocidad. Esto permite que, por un corto período, un usuario o una aplicación puedan exceder su límite de velocidad normal, proporcionando una sensación de mayor fluidez sin comprometer la estabilidad general de la red a largo plazo.
  • Aplicar condiciones de tiempo: El control del ancho de banda no tiene por qué ser estático. Las colas simples admiten la configuración de condiciones de tiempo, permitiendo, por ejemplo, limitar la velocidad durante las horas pico de trabajo y relajar las restricciones fuera de ese horario.
  • Compartir tráfico de manera jerárquica: La funcionalidad "PADRE-HIJO" permite distribuir el tráfico disponible entre varios usuarios o grupos de usuarios de forma equitativa o según prioridades definidas.

Creación de una Cola Simple para una Dirección IP Específica

La creación de una cola simple en MikroTik es un proceso intuitivo, especialmente cuando se utiliza la interfaz gráfica Winbox. Los pasos generales son los siguientes:

  1. Acceso a la Configuración de Colas: Dentro de Winbox, navegue hasta la sección QUEUES.
  2. Agregar una Nueva Cola: Haga clic en el signo + para iniciar la creación de una nueva cola.
  3. Definir Parámetros: Para este ejercicio, aplicaremos la configuración a una dirección IP específica, por ejemplo, 10.3.2.55. Se definirán límites de velocidad: 10 Mbps para la descarga (download) y 2 Mbps para la subida (upload).

Una vez configurada la cola, un indicador visual dentro de Winbox mostrará el porcentaje de velocidad consumido en relación con el límite establecido. Este indicador es crucial para monitorear en tiempo real el uso del ancho de banda.

Indicadores de Colores en Colas Simples

Para una rápida apreciación del consumo de ancho de banda, las colas simples utilizan un sistema de colores:

  • Verde (0% - 50%): Indica que el tráfico utilizado se encuentra dentro del rango bajo de lo permitido.
  • Amarillo (51% - 75%): Señala que el consumo de tráfico está en un nivel intermedio.
  • Rojo (76% - 100%): Advierte que el límite de ancho de banda establecido está siendo alcanzado o superado.

Captura de pantalla de Winbox mostrando la creación de una cola simple con límites de velocidad

Creación de una Cola Simple para una Red Completa

En lugar de aplicar límites a hosts individuales, es posible configurar colas simples para una red completa. Esto se logra especificando el rango de direcciones IP de la subred. Por ejemplo, para aplicar límites a toda la red 10.3.2.0/24, se ingresaría esta dirección de red en el campo correspondiente.

En este escenario, todos los dispositivos dentro de esa subred compartirán colectivamente los límites de velocidad configurados. Para ilustrar, podríamos establecer 10 Mbps de subida y 100 Mbps de bajada para toda la red 10.3.2.0/24.

Colas Simples para Interfaces Completas

MikroTik también permite aplicar configuraciones de cola a interfaces de red completas. En el campo TARGET, se puede seleccionar una interfaz específica de la lista desplegable. Esto es útil para gestionar el ancho de banda de toda la comunicación que entra o sale de una interfaz particular.

Scripts MikroTik para Notificaciones de Ancho de Banda Excedido

Aunque las colas simples son excelentes para gestionar el tráfico, es posible que, incluso con políticas de control de tráfico configuradas, el ancho de banda se agote. En tales situaciones, tener un sistema de notificación proactivo es invaluable. Un script MikroTik puede configurarse para enviar alertas cuando se excede un umbral de ancho de banda predefinido en una interfaz.

Este tipo de script puede enviar una notificación, por ejemplo, a través de Telegram, indicando la interfaz afectada y el umbral superado. La secuencia de comandos para una notificación de ancho de banda excedido (velocidad de descarga o carga) es un ejemplo práctico de cómo los scripts pueden mejorar la supervisión de la red.

# Ejemplo de script para notificación de ancho de banda excedido:local TelegramMessageText "Interface: $Interface - bandwidth exceeded ($Threshold)."# Aquí iría la lógica para enviar el mensaje a Telegram

Es importante notar que el disparador de exceso de ancho de banda puede generar muchas notificaciones. Por ello, el script debe incluir lógica para controlar la frecuencia con la que se envían estas alertas, evitando así la saturación de notificaciones.

De Esclavo a Maestro del Scripting Mikrotik Parte 1

Monitoreo y Diagnóstico del Ancho de Banda

Bandwidth Test en MikroTik (Btest)

El Bandwidth Test (Btest) es una herramienta integrada en MikroTik RouterOS que permite medir la capacidad máxima de transferencia de datos de una interfaz de red. Es fundamental para evaluar el rendimiento de la red y verificar si la velocidad de conexión se ajusta a las expectativas.

Pasos para usar Bandwidth Test:

  1. Acceso a la Herramienta: En Winbox, diríjase a Tools > Bandwidth Test.
  2. Configuración de la Prueba: Especifique el tipo de prueba: Upload (subida) o Download (bajada). Deberá indicar la dirección IP de destino, usuario y contraseña del router con el que se realizará la prueba.
  3. Inicio de la Prueba: Presione Start. La herramienta medirá la velocidad y mostrará los resultados.

Ejemplo de Bandwidth Test usando línea de comandos:

/tool bandwidth-test address=192.168.88.1

Este comando inicia una prueba de ancho de banda hacia la IP especificada. Se pueden añadir parámetros adicionales como duration (duración), protocol (TCP o UDP) y direction (upload, download, o both).

/tool bandwidth-test address=192.168.88.1 duration=30s protocol=tcp direction=both

Consideraciones: El Bandwidth Test puede consumir recursos significativos del dispositivo y la red. Úselo con precaución en entornos de producción.

Captura de pantalla de la herramienta Bandwidth Test en Winbox

Speed Test en MikroTik

A diferencia del Bandwidth Test, que opera dentro de la red local, el Speed Test utiliza servidores externos para evaluar la velocidad de su conexión a Internet.

Pasos para usar Speed Test:

  1. Acceso a la Herramienta: En Winbox, vaya a Tools > Speed Test.
  2. Configuración de la Prueba: Seleccione un servidor de prueba (por nombre o dirección IP).
  3. Inicio de la Prueba: Haga clic en Start.

Los resultados mostrarán la velocidad de carga y descarga, latencia y pérdida de paquetes, permitiendo comparar la velocidad real con la contratada con su proveedor.

Ejemplo de Speed Test usando línea de comandos:

/tool speed-test address=192.168.88.1

Se pueden ajustar parámetros como test-duration, user, password, y connection-count. Es crucial asegurarse de que el servidor de pruebas de ancho de banda esté habilitado en el dispositivo remoto.

Herramienta Torch

La herramienta Torch, ubicada en Tools > Torch en Winbox, es invaluable para identificar qué está consumiendo el ancho de banda en un momento dado. A diferencia de Bandwidth Test o Speed Test, Torch proporciona una visión en tiempo real del tráfico por IP, puerto y protocolo.

Al utilizar Torch, se observa el tráfico por IP de origen y destino. Si bien se puede identificar la IP involucrada en un alto consumo, determinar la máquina específica dentro de la red local puede requerir pasos adicionales.

Ejemplo de diagnóstico con Torch:

Supongamos que observamos un alto tráfico de descarga. Torch podría mostrar una IP de origen externa (por ejemplo, 31.216.145.118 de MEGA) conectada a la IP WAN de nuestro Mikrotik (192.168.1.10). Posteriormente, al analizar la primera línea de datos, podemos ver que la IP externa se conecta a una IP local (192.168.2.157). Esto nos indica que la IP local es la que está descargando.

Con esta información, se podría crear una regla de QoS o incluso bloquear la conexión de esa IP local. Para identificar al usuario, se podría intentar resolver el nombre de la IP (si el servidor DNS responde) o utilizar herramientas como nmap para obtener más detalles sobre la máquina (como el sistema operativo o servicios en ejecución). Si la IP 192.168.2.157 pertenece a ERIC-NOTEBOOK, sabríamos que es esta máquina la que está consumiendo gran parte del ancho de banda al descargar desde MEGA.

Quality of Service (QoS) y su Aplicación

Quality of Service (QoS) es una técnica esencial en la gestión de redes que permite priorizar ciertos tipos de tráfico sobre otros. Su objetivo es asegurar que las aplicaciones críticas reciban el ancho de banda necesario para funcionar eficientemente, incluso en redes congestionadas.

La implementación de QoS en MikroTik se realiza principalmente a través de las colas (simples y de árbol). Al definir políticas de priorización, se puede garantizar que el tráfico de voz, video conferencias o acceso a aplicaciones empresariales críticas tenga preferencia sobre actividades menos urgentes.

Por ejemplo, el tráfico de YouTube, que utiliza principalmente los protocolos HTTP/HTTPS sobre el puerto TCP 443, puede ser identificado y priorizado o limitado según las necesidades de la red. Sin embargo, es importante considerar que el filtrado avanzado, como el de Layer7, puede consumir recursos significativos de la CPU del router.

Scripts y Tareas Programadas en MikroTik

Los scripts en MikroTik son herramientas potentes para automatizar tareas repetitivas o complejas. Se utilizan para realizar acciones que de otro modo requerirían intervención manual constante.

Creación y Ejecución de Scripts

Para utilizar scripts en MikroTik, se accede al equipo a través de Winbox o SSH. La creación de un nuevo script se realiza mediante el botón + en la sección de Scripts. El recuadro azul indica el propietario del script.

Los scripts soportan operaciones aritméticas básicas (+, -, *, /, %) y lógicas (<, >, =, |, ^, &, <<, >>). También disponen de variables y comandos integrados como:

  • .pick: Para extraer rangos de elementos.
  • Log: Para escribir mensajes en el log del sistema.
  • Execute: Para ejecutar scripts en segundo plano.
  • Parse: Para interpretar cadenas de texto y extraer comandos.

Tareas Programadas

Además de la ejecución manual o condicional, los scripts pueden programarse para ejecutarse en momentos específicos. Para ello, se accede a la sección de Scheduler (tareas programadas) y se añade una nueva tarea con el botón +.

Los parámetros clave incluyen:

  • Interval: El intervalo de tiempo en el que se ejecutará el script.
  • Policy: Los permisos de ejecución de la tarea.
  • On Event: Aquí se llama al script previamente creado (por ejemplo, un script de backup).

Diagrama conceptual de scripts y tareas programadas en MikroTik

De esta manera, se pueden automatizar configuraciones, mantenimientos o monitoreos de forma programada, optimizando la administración del router MikroTik.

Conclusión Parcial

La gestión del ancho de banda en MikroTik es un aspecto crucial para el rendimiento y la eficiencia de cualquier red empresarial. A través de las colas simples, el Bandwidth Test, el Speed Test y herramientas de diagnóstico como Torch, los administradores de red tienen a su disposición un conjunto robusto de funcionalidades. La automatización mediante scripts y tareas programadas eleva aún más la capacidad de control y respuesta ante situaciones de congestión o uso anómalo del ancho de banda. Dominar estas herramientas permite no solo identificar cuellos de botella, sino también optimizar la configuración de la red y asegurar una experiencia de usuario satisfactoria.

tags: #script #mikrotik #detectar #ancho #banda