La risorsa Italiana per pfSense

2 gennaio 2025

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:

  1. Installazione del pacchetto NUT su pfSense
  2. Configurazione dell'SNMP sulla Network Card dell'UPS
  3. Conifgurazione utente per lo shutdown sulla Network Card dell'UPS 
  4. Configurazione del NUT su pfSense 


Eccoli nel dettaglio


Installazione del pacchetto NUT su pfSense

Da System > Package Manager > Available Packages > cercare e installare il pacchetto NUT


Configurazione dell'SNMP sulla Network Card dell'UPS

Loggarsi via web sulla Network Card e attivare l'SNMP v1 e configurare l'accesso in lettura al firewall:

  • 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

Loggarsi via web sulla Network Card e crreare l'utente dedicato

  • Configuration > Security > Local Users > Management > Add User
  1. Enable:​ Si
  2. Username: shutdown
  3. Password: sceglierne una sicura e univoca
  4. User Type: device
  5. Descrizione: utente per shutdown firewall
  6. Next - Apply


Configurazione del NUT su pfSense 

Una volta preparato tutto lato Network Card, non ci resta che configurare il pacchettoNUT che troviamo sotto Services > UPS

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 = auto

community = nome_community_snmp_UPS

snmp_version = v1

pollfreq = 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.

Nome

Email *

Messaggio *