🛠 Script para Reiniciar Antenas Ubiquiti desde MikroTik (Fácil y Efectivo)

Automatizando Reinicios de Antenas Ubiquiti desde MikroTik con SSH y Claves RSA

En este post, te mostraré cómo configurar un script en MikroTik para realizar reinicios automáticos de antenas Ubiquiti a través de SSH, utilizando una clave RSA para la autenticación. Si aún no has configurado la clave RSA en tu MikroTik y en las antenas Ubiquiti, revisa primero este post donde explico cómo hacerlo.


Requisitos

  • Un router MikroTik con acceso a la terminal y permisos de administrador.
  • Antenas Ubiquiti configuradas para aceptar conexiones SSH.
  • Clave RSA configurada en MikroTik y añadida a las antenas Ubiquiti.

Paso 1: Crear el Script en MikroTik

Desde Winbox

  1. Abre Winbox y conéctate a tu MikroTik.
  2. Ve al menú System y selecciona Scripts.
  3. Haz clic en Add (+) para crear un nuevo script.
  4. En el campo Name, ingresa reboot_ubiquiti.
  5. En Policy, marca las opciones ftp, read, write y policy.
  6. En la sección Source, copia y pega el siguiente código:

# Definimos un array con las IPs a verificar (ajusta según tus necesidades)
:local ips {"192.168.70.30";
                "192.168.70.31";
                "192.168.70.32"}

# Iteramos sobre cada IP del array
:foreach ip in=$ips do={
    :log info "== Procesando IP: $ip =="
    
    # Realizamos el ping de verificación
    :local pingResult [/ping address=$ip count=1 as-value]
    :local status ($pingResult->"status")
    
    :if ($status != "timeout") do={
        :log info "IP $ip alcanzable. Intentando reinicio..."
        
        # Intentamos ejecutar el reinicio por SSH con manejo de errores
        :do {
            /system ssh-exec address=$ip user=admin command=reboot
            :log info "Reinicio exitoso en $ip"
        } on-error={
            :log error "Fallo SSH en $ip - Error: $error"
        }
        
    } else={
        :log warning "IP $ip inalcanzable - Sin acción"
    }
    
    :delay 30s
    :log info "------------------------------"
}

:log info "Proceso completado para todas las IPs"
  1. Guarda los cambios haciendo clic en OK.

Explicación del Código:

  • Lista de IPs: Se almacena en un array (ips) con todas las antenas Ubiquiti que deben reiniciarse.
  • Verifica la conectividad: Se envían 3 paquetes de ping a cada antena en la lista.
  • Si responde: Se conecta por SSH y envía el comando reboot.
  • Si no responde: Se registra un mensaje de advertencia en el log.

Asegúrate de reemplazar las IPs dentro del array con las de tus antenas Ubiquiti y admin con el usuario correspondiente.


Paso 2: Crear una Tarea Programada (Schedule)

Para ejecutar el script automáticamente, crea una tarea programada en MikroTik:

Desde Winbox:

  1. Ve al menú System y selecciona Scheduler.
  2. Haz clic en Add (+) para crear una nueva tarea.
  3. En Name, escribe auto_reboot.
  4. En Interval, selecciona 1d (un día) o el tiempo deseado.
  5. En Start Time, ingresa la hora en la que deseas que se ejecute, por ejemplo, 03:00:00.
  6. En On Event, escribe reboot_ubiquiti.
  7. Guarda los cambios haciendo clic en OK.

Conclusión

Con este método, puedes mantener tus antenas Ubiquiti en óptimo rendimiento sin intervención manual. La verificación previa con ping evita intentos innecesarios de conexión a dispositivos que puedan estar fuera de línea.

Recuerda verificar periódicamente el funcionamiento del script y la conexión SSH para evitar fallos en la automatización.

Si tienes dudas o quieres compartir tu experiencia, déjalo en los comentarios. ¡Nos vemos en el próximo post!

Artículo Anterior Artículo Siguiente