Reinicio automático AP’s UNIFI

En alguna ocasión los AP’s de UNIFI nos salen en la consola que están funcionando, pero los usuarios se quejan que no pueden conectar, etc.

No sé exactamente el motivo pero se soluciona reiniciando el AP que le lleva unos minutos hacerlo.

Para no tener que hacerlo a mano puedes instalando unas aplicaciones, ejecutando un script y configurandolo en el contrab que se ejecute de manera automática y reinice los AP’s.

Lo primero que hay que hacer es tener una IP fija en todos los AP’s y que sean correlativas ya que el script se ejecuta siguiendo un número de IPs correlativas.

Nos conectamos por SSH a nuestro servidor de UNIFI y ejecutamos los siguiente comandos para poder instalar el software necesario:

sudo apt-get update
sudo apt-get install cron-apt
sudo apt-get install cronutils
sudo apt-get install sshpass

Una vez instalado todo ejecutamos el script manualmente para asegurarnos que funciona y además añadir las IP’s en la lista de host autorizados o el script fallará cuando lo ejecutemos desde el contrab.

for ip in 192.168.9.{30..32}; do sshpass -p password_ssh_consola ssh -oStrictHostKeyChecking=no usuario_ssh_consola@$ip reboot; done

Si todo va bien veremos una línea por cada IP que ejecuta como esta:

Warning: Permanently added ‘192.168.9.30’ (RSA) to the list of known hosts.

Por ultimo nos queda añadir la programacion en el contrab para que lo ejecute por ejemplo a las 03:45 am creando un archivo con el comando anterior que ejecutaremos programado en el crontab. Hay que asegurarse que una vez se edita el crontab se reinicie el servicio para que funcione.

Creamos un archivo
nano reinicio.sh

El contenido sería:
#!/bin/bash
for ip in 192.168.9.{30..32}; do sshpass -p password_ssh_consola ssh -oStrictHostKeyChecking=no usuario_ssh_consola@$ip reboot; done

Cambiamos los permisos al archivo creado
chmod +x reinicio.sh

Reiniciamos el servicio del Cron

De esta manera el sistema de manera automática reiniciará los AP’s dentro del rango definido a la hora programada.