En esta entrada vamos a ejecutar el procedimiento para la instalación de un servidor NUT y configurar clientes. Esto nos va a permitir automatizar el correcto apagado de los equipos en caso de una interrupción de la energía eléctrica.

Network UPS Tools (NUT) es un software para diseñado para el monitoreo de fuentes de energía. Soporta varias marcas y expone por red un servicio de protocolo estandarizado.
NUT soporta más de 140 fabricantes y más de 1000 modelos de dispositivos. Podemos verificar la compatibilidad en https://networkupstools.org/stable-hcl.html
En un software de código abierto licenciado bajo la GPL.
Procedimiento para configurar Servidor NUT (Network UPS Tools):
Previo a la instalación debemos asegurarnos de tener el sistema actualizado, esto lo aseguramos con los siguientes comandos.
sudo apt update
sudo apt full-upgrade
Ahora vamos a proceder a instalar y configurar NUT
sudo apt install nut sudo vi /etc/nut/ups.conf
Sobre el final del /etc/nut/ups.conf agregar las líneas
[apc-1100] driver= usbhid-ups port = auto
Reiniciar porque falla la carga del driver
sudo reboot
Con el sistema otra vez en línea ejecutar
sudo upsdrvctl start

Se debe configurar el archivo nut.conf para definir el modo en el cual se va a ejecutar el servicio. Los modos soportados son:
- none: Configuración por defecto, servicio deshabilitado
- standalone: Se utiliza cuando es un solo equipo alimentado desde la UPS.
- netserver: Cuando hay varios servidores / dispositivos alimentados desde la UPS y el este es el que esta conectado a la UPS por USB.
- netclient: Equipo alimentado por la UPS pero sin administración de la misma.
Para este ejemplo vamos a configurar el equipo en modo «netserver».
sudo vi /etc/nut/nut.conf
E incorporamos la siguiente línea definiendo el modo en el cual va a funcionar nut en este equipo (netserver -> Servidor de estado de UPS de red).
MODE=netserver
En el archivo /etc/nut/upsd.conf debemos editar e incorporar las ips sobre las cuales escuchará el servicio. En este caso definó el loopback y la ip del servidor representada en xxx.xxx.xxx.xxx
sudo vi /etc/nut/upsd.conf
Incorporando estas líneas
LISTEN 127.0.0.1 3493
LISTEN 10.0.0.53 3493
sudo systemctl start nut-server sudo systemctl status nut-server

El siguiente paso es configurar los usuarios con los que trabajará el servicio. Para esto se debe editar el archivo upsd.user
sudo vi /etc/nut/upsd.user
E incorporar las siguientes líneas sobre el pie del mismo
[monadmin] password = secretoadmin actions = SET FSD instcmds = ALL upsmon master [monslave] password = secretoesclavo upsmon slave
Para verificar el correcto funcionamiento de la configuración podemos ejecutar el siguiente comando adecuando el nombre de la UPS que configuramos. Este comando muestra las variables de estado de la ups.
sudo upsc apc-1100@localhost

Si queremos evitar despertarnos a los saltos ante el primer corte de luz, podemos deshabilitar el pitido de alerta de la UPS.
sudo upscmd apc-1100 beeper.disable
Procedimiento para configurar Cliente NUT (Network UPS Tools):
Previo a la instalación debemos asegurarnos de tener el sistema actualizado, esto lo aseguramos con los siguientes comandos.
sudo apt update
sudo apt full-upgrade
La instalación del cliente nut la realizamos con la siguiente instrucción.
sudo apt install nut-client
Finalizada la descarga se debe proceder a configurar el cliente. El primer archivo a editar es el /etc/nut/nut.conf
sudo vi /etc/nut/nut.conf
E incorporamos la siguiente línea definiendo el modo en el cual va a funcionar nut en este equipo (netclient -> cliente de red).
MODE=netclient
Y en el archivo /etc/nut/upsmon.conf debemos incorporar la linea donde definimos la UPS que alimenta a este equipo, el equipo que la administra y las credenciales para establecer la conexión (línea 85 en mi versión de NUT).
sudo vi /etc/nut/upsmon.conf
Línea a incorporar:
MONITOR apc-1100@XXX.XXX.XXX.XXX 1 monslave secretoesclavo slave

Para que el sistema tome los cambios debemos reiniciar el servicio nut-client
sudo systemctl start nut-client
Y verificamos que nada explote pidiendo el estado del servicio
sudo systemctl status nut-client
