Script en MikroTik para reiniciar antenas Ubiquiti cuando no hay clientes conectados

Reinicio Automático de Equipos Ubiquiti AC desde MikroTik

Optimización y estabilidad para redes WISP

En entornos WISP, es crucial garantizar la estabilidad de la red y la conexión continua de los clientes. Sin embargo, en muchos casos, los equipos Ubiquiti de la serie AC presentan un problema recurrente: los clientes son desconectados y el dispositivo no permite que se vuelvan a conectar hasta que se reinicie manualmente. Esto genera inconvenientes tanto para los usuarios como para los administradores de red, ya que es necesario intervenir constantemente para restaurar el servicio.

Para evitar este problema, podemos automatizar el proceso de reinicio utilizando un script en MikroTik. Este script se encarga de monitorear si hay clientes conectados al equipo Ubiquiti y, en caso de detectar que no hay ninguno, ejecutar un comando remoto para reiniciarlo. De esta manera, garantizamos una respuesta automática ante fallos y reducimos la necesidad de intervención manual.

Cómo funciona este método

  • MikroTik monitorea la cantidad de clientes conectados al equipo Ubiquiti AC.
  • Si detecta que no hay clientes activos, ejecuta un comando remoto vía SSH para reiniciar el dispositivo.
  • El equipo Ubiquiti se reinicia y permite que los clientes puedan volver a conectarse.
  • Este proceso se ejecuta automáticamente en intervalos de tiempo definidos para garantizar la estabilidad de la conexión.

Configuración necesaria

Para que este script funcione correctamente, es necesario que MikroTik pueda acceder al equipo Ubiquiti vía SSH sin necesidad de ingresar contraseña. Esto se logra utilizando autenticación mediante claves RSA. Si aún no has configurado esta opción, te recomiendo seguir el tutorial que publiqué anteriormente sobre Conecta MikroTik y Ubiquiti con Claves RSA de Forma Segura - Método 2025. Ahí explico cómo generar y configurar las claves correctamente.

Una vez que tienes la autenticación vía SSH configurada, puedes proceder con la implementación del script en MikroTik para gestionar el reinicio automático de los equipos Ubiquiti AC.

Código del Script

A continuación, te dejo el script que puedes ejecutar en MikroTik para monitorear los clientes conectados y reiniciar el equipo Ubiquiti si no hay ninguno. Además, agregamos una opción para copiar fácilmente el código.

    
# Define variables
:local ubiquitiIP "192.168.77.20" ;   # IP del equipo Ubiquiti
:local ubiquitiUser "admi";           # Usuario SSH del equipo Ubiquiti

# Comando SSH para obtener la cantidad de clientes conectados
:local sshCommand "wstalist";

# Ejecutar el comando SSH y obtener el resultado
:local result  
:set result [/system ssh-exec address=$ubiquitiIP user=$ubiquitiUser command=$sshCommand as-value]
:local output ($result->"output")

:if ([:len $output] <= 4) do={
   # Reiniciar el equipo Ubiquiti
    /system ssh-exec address=$ubiquitiIP user=$ubiquitiUser command="reboot";
   :log info "Se mando a reinicar el Equipo $ubiquitiIP , no tenia ninguna estacion conectada";
}
    

Nota: Sustituye la IP y credenciales por las de tu equipo Ubiquiti.


Si tienes dudas o sugerencias, no dudes en dejar un comentario. ¡Espero que esta solución te ayude a mejorar la estabilidad de tu red WISP!

Artículo Anterior Artículo Siguiente