USVs mit OPNsense und NUT-Plugin überwachen
0Die Open-Source-Firewall OPNsense lässt sich leicht mit Plugins erweitern und kann dann eine Vielzahl weiterer Aufgaben übernehmen. Dieser Beitrag beschreibt, wie sich unterbrechungsfreie Stromversorgungen (USVs) mit OPNsense überwachen lassen.
Das Open-Source-Projekt OPNsense ist mehr als eine Firewall. Mit Plugins kann die Software um viele Funktionen erweitert werden, die sich in erster Linie um Sicherheit, Monitoring und Verfügbarkeit drehen. Der Großteil der Plugins wird von der Community für die Community entwickelt. Das heißt, hinter jedem Plugin steht ein nützlicher Anwendungszweck, also ein Bedürfnis aus dem praktischen IT-Leben.
Dieser Artikel soll demonstrieren, wie sich mit OPNsense und dem NUT-Plugin unterbrechungsfreie Stromversorgungen (USV bzw. englisch UPS) überwachen lassen, so dass im Falle eines Stromausfalls noch genügend Zeit bleibt, die Server ordnungsgemäß herunterzufahren. Er setzt ein installiertes OPNsense-System voraus. Allgemeine Informationen zu OPNsense finden Sie in unserem Thomas-Krenn-Wiki.
Zur Überwachung der USV dient das Plugin NUT, das zur langen Liste der stabilen OPNsense-Plugins gehört. Es kann wie alle diese Plugins direkt aus der Oberfläche von OPNsense heraus installiert und aktiviert werden. Die Bezeichnung NUT steht für Network UPS Tools. Dies ist ein eigenständiges (und sehr altes) Open-Source-Projekt, das aus einer Sammlung von Skripten und Treibern für USVs verschiedener Hersteller besteht. Das OPNsense-Plugin stellt hier im Wesentlichen nur eine Anbindung an das OPNsense-Kernsystem sicher.
Das NUT-Plugin aktivieren und einrichten
Der Grundgedanke dabei ist, dass ein System über ein USB-Kabel mit der USV verbunden wird und den aktuellen Status abruft. So kann z.B. festgestellt werden, ob der Strom weg ist und wie viel Ladung der Akku noch hat. Das Besondere daran ist, dass die Firewall sich bei einer Ladung von zehn Prozent selbst kontrolliert herunterfahren kann, um somit ein korruptes Filesystem zu verhindern.
Das Programm bietet mit Standalone und Netclient zwei verschiedene Modi an. Bei Standalone wird die Firewall selbst an die USV gehängt und kann so auch anderen Geräten, die die Network UPS Tools installiert haben, Zugriff auf die USV gewähren. Sie installieren das Plugin über System – Firmware – Plugins und finden es anschließend im Bereich Services. Dort setzen Sie den Mode auf Standalone und geben der USV einen Namen. Achtung: Das Plugin darf jetzt noch nicht aktiviert werden, sondern erst, wenn die anderen Einstellungen gesetzt sind, da der Dienst sonst in eine Timeout-Schleife fällt und nicht mehr reagiert. Dieser Fehler wurde noch nicht behoben, obwohl er bei den NUT-Entwicklern bekannt ist. Sie wechseln zum Reiter UPS Type und wählen im Dropdown-Menü den Treiber USBHID-Driver. Dieser unterstützt viele USVs von APC und weiteren Herstellern. Die extra Argumente sind bereits korrekt gesetzt und es muss nur Enable aktiviert werden.
Jetzt sollte zur Sicherheit kontrolliert werden, ob das USB-Kabel an der USV angeschlossen ist. Dann geht es wieder zurück zu General Settings, um das Plugin zu aktivieren. Anschließend sollten im Reiter Diagnostics die Leistungsdaten der USV erscheinen und sich alle zehn Sekunden aktualisieren.
Client-Modus mit NAT konfigurieren
Sollte bereits ein anderes Gerät mit der USV verbunden sein und die NUT-Tools auf diesem laufen, kann sich die Firewall auch im Modus Netclient mit dem dortigen Dienst verbinden. Hierzu wird als Treiber Netclient gewählt und dort die IP sowie Username und Passwort angegeben und anschließend in General Settings der Modus ausgewählt und aktiviert. Über General Settings – NUT Account Settings können auch lokale Zugangsdaten eingetragen werden. Dann benötigen Sie nur einen Port Forward, der die externen Anfragen an localhost weiterleitet und schon können andere Geräte über die OPNsense Firewall mit der USV kommunizieren. Dafür wird in Firewall – NAT – Port Forward einfach ein neuer Eintrag hinzugefügt, mit Interface „LAN“, Source „LAN net“, Destination „LAN address“, Port 3493 und Redirect target 127.0.0.1.
Fazit
Das OPNsense-Plugin erspart es also nicht nur, sich mit NUT auf der Kommandozeile auseinanderzusetzen, sondern erlaubt durch die Integration mit der Firewall-Funktionalität auch die schnelle Konfiguration im Client-Modus für entfernte Rechner mit USV.