Gestire lo spegnimento pilotato di una appliance pfSense tramite NUT con UPS APC
Quando si installa pfSense su una macchina fisica conviene proteggerlo dagli sbalzi o le mancanze di corrente tramite un UPS.
Oggi vediamo come gestire questo tipo di configurazione in uno scenario in cui il pfSense è collegato a un UPS della APC.
L'UPS APC è dotato di scheda di rete per la gestione remota via web (NMC2 o NMC3).
I passi da seguire sono i seguenti:
- Installazione del pacchetto NUT su pfSense
- Configurazione dell'SNMP sulla Network Card dell'UPS
- Conifgurazione utente per lo shutdown sulla Network Card dell'UPS
- Configurazione del NUT su pfSense
Eccoli nel dettaglio
Installazione del pacchetto NUT su pfSense
Configurazione dell'SNMP sulla Network Card dell'UPS
- Configuration > Network > SNMPv1 > Access > Abilitare
- Configuration > Network > SNMPv1 > Access Control > Creare la community e inserire l'ip del firewall
Configurazione utente per lo shutdown sulla Network Card dell'UPS
- Configuration > Security > Local Users > Management > Add User
- Enable: Si
- Username: shutdown
- Password: sceglierne una sicura e univoca
- User Type: device
- Descrizione: utente per shutdown firewall
- Next - Apply
Configurazione del NUT su pfSense
Services > UPS > UPS Settings
- UPS Type: Remote snmp
- UPS NAme: il nome dell'ups a cui ci colleghiamo
- Enable Notifications: Si
- Remote IP address: IP dell'UPS
- Extra Arguments to driver (optional):
mibs = autocommunity = nome_community_snmp_UPSsnmp_version = v1pollfreq = 30
ignorelb
override.battery.charge.warning = XX //stimare dal runtime e poi verificare col test di shutdown. E' la soglia di warning pre shutdown calcolata in % della carica della batteria dell'UPS
override.battery.charge.low = YY //stimare dal runtime e poi verificare col test di shutdown. Questa è la % di carica dell'UPS raggiunta la quale parte lo shutdown del firewall
- In Advanced
Additional configuration lines for upsmon.conf:
NOTIFYFLAG ONLINE SYSLOG+EXEC
NOTIFYFLAG ONBATT SYSLOG+EXEC
NOTIFYFLAG LOWBATT SYSLOG+EXEC
NOTIFYFLAG FSD SYSLOG+EXEC
NOTIFYFLAG COMMOK SYSLOG+EXEC
NOTIFYFLAG COMMBAD SYSLOG+EXEC
NOTIFYFLAG SHUTDOWN SYSLOG+EXEC
NOTIFYFLAG REPLBATT SYSLOG+EXEC
NOTIFYFLAG NOCOMM SYSLOG+EXEC
NOTIFYFLAG NOPARENT SYSLOG+EXEC
SHUTDOWNCMD "/sbin/shutdown -p +0
- Additional configuration lines for upsd.users
shutdown //lo username dell'utente creato sulla network card (es. "shutdown")
password = la password dell'utente "shutdown"
upsmon slave
Al termine della configurazione è opportuno testarne la bontà e validare le soglie percentuali con un test di spegnimento programmato.