Zum Inhalt springen
UPSmonitor 247-IT

247-IT Ratgeber

NUT unter Windows: USV per Network UPS Tools überwachen

Network UPS Tools (NUT) ist der herstellerneutrale Standard, um USVs im Netz abzufragen. Der NUT-Server läuft meist auf einem NAS, einer Firewall oder einem Linux-Rechner, Windows ist in der Regel nur Client. Wie das Zusammenspiel funktioniert, wie Sie die Verbindung von Windows aus testen und worauf Sie bei der Sicherheit achten müssen.

01 Grundlagen Treiber, Server, Clients — und was über die Leitung geht.

So funktioniert NUT

NUT besteht aus drei Teilen. Ein Treiber spricht mit der USV, per USB, seriell oder SNMP. Der Server upsd stellt die Messwerte im Netz bereit, standardmäßig auf TCP-Port 3493. Clients fragen diese Werte ab und entscheiden, ob sie herunterfahren. NUT unterstützt so mehrere tausend USV-Modelle, auch solche ohne eigene Netzwerkkarte.

Der Rechner, an dem die USV per USB hängt, heißt Primary (früher „Master“). Er fährt zuletzt herunter und kann allen anderen per FSD (Forced Shutdown) signalisieren, dass es Zeit wird. Alle anderen Clients sind Secondaries (früher „Slave“).

Die wichtigsten NUT-Variablen und Statuswerte
Variable / Status Bedeutung
battery.chargeAkkuladung in Prozent
battery.runtimegeschätzte Restlaufzeit in Sekunden
ups.loadAuslastung in Prozent
input.voltageEingangsspannung in Volt
ups.status = OLam Netz (online)
ups.status = OBBatteriebetrieb (on battery)
ups.status = LBAkku fast leer (low battery), meist zusammen mit OB: „OB LB“
ups.status = FSDerzwungenes Herunterfahren, vom Primary gesetzt
02 Der NUT-Server Wo die USV angeschlossen ist, läuft auch der Server.

Wo der NUT-Server typischerweise läuft

Den Server betreibt man dort, wo die USV per USB angeschlossen ist. In kleineren Umgebungen ist das oft ein Gerät, das ohnehin rund um die Uhr läuft:

NAS (Synology, QNAP)

Beide bringen einen NUT-Server mit. Bei Synology heißt die Option „Netzwerk-USV-Server aktivieren“, dazu werden die IP-Adressen der Clients freigegeben. Synology verwendet dabei den USV-Namen ups und fest vorgegebene Zugangsdaten, die in der Community gut dokumentiert sind.

Firewall (pfSense, OPNsense)

Über das NUT-Paket bzw. Plugin: Die Firewall ist meist das Gerät, das bei Stromausfall am längsten laufen soll, und eignet sich deshalb gut als Primary.

Linux, Proxmox, Raspberry Pi

Paket nut bzw. nut-server. Konfiguriert wird in ups.conf (Treiber), upsd.conf (Netzwerk) und upsd.users (Benutzer).

Ein minimaler Linux-Server, der im Netz lauscht und einen Lese-Benutzer kennt:

# /etc/nut/upsd.conf
LISTEN 0.0.0.0 3493

# /etc/nut/upsd.users
[monitor]
    password = EinLangesPasswort
    upsmon secondary

Statt 0.0.0.0 besser nur die Adresse im Management-Netz eintragen, siehe Abschnitt 04. Unter Windows selbst betreibt man selten einen NUT-Server, Windows ist fast immer Client.

03 Windows als Client Welcher Client passt zu welcher Aufgabe.

NUT-Clients für Windows

Windows-Clients im Vergleich
Client Was er macht Passt, wenn …
WinNUT-ClientOpen Source, kostenlos Fragt einen NUT-Server ab und fährt den eigenen Windows-Rechner herunter. einzelne Windows-PCs oder -Server ohne Abhängigkeiten.
UPS Hyper-V Shutdown Monitorkommerziell, 30 Tage testen Fragt einen oder mehrere NUT-Server ab und fährt Hyper-V-Hosts samt VMs in fester Reihenfolge herunter, ohne Agenten auf den Hosts. Hyper-V Umgebungen mit mehreren Hosts, VMs und Abhängigkeiten.

Ob ein Windows-Rechner den NUT-Server erreicht, lässt sich ohne Zusatzsoftware mit PowerShell prüfen. Die Befehle fragen alle Variablen der USV ups ab:

Test-NetConnection nas.firma.local -Port 3493

$c = New-Object Net.Sockets.TcpClient('nas.firma.local', 3493)
$w = New-Object IO.StreamWriter($c.GetStream()); $w.AutoFlush = $true
$r = New-Object IO.StreamReader($c.GetStream())
$w.WriteLine('LIST VAR ups')
do { $l = $r.ReadLine(); $l } until ($l -match '^(END LIST|ERR)')
$c.Close()

Kommt ERR UNKNOWN-UPS, stimmt der USV-Name nicht. ERR ACCESS-DENIED oder ein Timeout bedeuten meist, dass die IP-Adresse des Clients auf dem Server nicht freigegeben ist oder eine Firewall Port 3493 blockiert.

04 Sicherheit NUT spricht standardmäßig Klartext.

NUT im Netz absichern

Das NUT-Protokoll ist ein einfaches Textprotokoll. Ohne zusätzlich eingerichtetes TLS gehen Messwerte, Benutzername und Passwort unverschlüsselt über das Netz. Wer schreibenden Zugriff hat, kann Befehle an die USV senden, etwa einen Selbsttest starten oder sie ausschalten. Deshalb:

  1. Nur im Management-Netz lauschen — in upsd.conf die Adresse des Management-Netzes statt 0.0.0.0 eintragen und Port 3493 per Firewall auf die Clients beschränken.
  2. Getrennte Benutzer — ein Benutzer nur zum Lesen (upsmon secondary), ein eigener mit instcmds nur dort, wo wirklich Befehle wie ein Selbsttest nötig sind.
  3. Eigene Passwörter — keine Standard-Zugangsdaten aus Anleitungen übernehmen, wo das Gerät eigene zulässt.
  4. Clients freigeben statt öffnen — auf NAS und Firewall nur die IP-Adressen der Clients zulassen.
05 Umsetzung NUT als Quelle für die Hyper-V-Abschaltung.

NUT im UPS Hyper-V Shutdown Monitor

Im UPS Hyper-V Shutdown Monitor wählen Sie als Protokoll NUT und tragen Server, Port (3493), USV-Namen und, falls verlangt, Benutzer und Passwort ein. Ein Test-Knopf zeigt sofort, ob die Verbindung steht.

  1. Messwerte — Akkuladung, Restlaufzeit, Status, Eingangsspannung und Last aus den NUT-Variablen, als Grundlage für die Schwellwerte.
  2. FSD hat Vorrang — meldet der NUT-Server „FSD“, löst die Abschaltung sofort aus, unabhängig von den übrigen Schwellwerten.
  3. Geordnete Hyper-V-Abschaltung — VMs und Hosts in der festgelegten Reihenfolge, wie im Ratgeber Hyper-V VMs bei Stromausfall herunterfahren beschrieben.
  4. Mehrere NUT-Server und USVs — jede USV schützt nur die ihr zugeordneten Hosts.
  5. USV-Selbsttest per NUT — manuell oder geplant über test.battery.start; dafür braucht der NUT-Benutzer das Recht instcmds.

Die Software verbindet sich per unverschlüsseltem NUT-Protokoll, deshalb gehört der NUT-Server in ein vertrauenswürdiges Netz (Abschnitt 04).

06 Checkliste Werkzeugunabhängig.

NUT-Einrichtung prüfen

  1. USV-Name bekannt — der Name aus ups.conf bzw. vom NAS (bei Synology ups).
  2. Server lauscht im Netz — nicht nur auf 127.0.0.1; Test-NetConnection von jedem Client aus erfolgreich.
  3. Clients freigegeben — IP-Adressen auf dem Server bzw. NAS eingetragen.
  4. Werte plausibel — Restlaufzeit und Ladung mit dem Display der USV vergleichen.
  5. Primary fährt zuletzt — der Rechner mit dem USB-Kabel muss laufen, bis alle Clients heruntergefahren sind.
  6. Einmal testen — im Wartungsfenster oder im Testmodus der Abschaltsoftware.
07 Fragen Kurze Antworten auf häufige Fragen.

Häufige Fragen

Was ist NUT (Network UPS Tools)?

NUT ist eine freie, herstellerneutrale Software, die USVs über Treiber per USB, seriell oder SNMP ausliest und die Messwerte über einen Netzwerkdienst auf TCP-Port 3493 bereitstellt. Clients im Netz fragen diese Werte ab und fahren bei Stromausfall geordnet herunter.

Brauche ich unter Windows einen eigenen NUT-Server?

Meist nicht. Der NUT-Server läuft dort, wo die USV angeschlossen ist, oft auf einem NAS, einer Firewall oder einem Linux-Rechner. Windows-Rechner sind Clients und fragen diesen Server über das Netz ab.

Welchen Port verwendet NUT?

Standardmäßig TCP-Port 3493. Er muss vom Client zum Server erreichbar sein, sollte aber auf das Management-Netz beschränkt bleiben, weil das Protokoll ohne zusätzlich eingerichtetes TLS unverschlüsselt ist.

Was bedeutet der Status „OB LB“?

„OB“ steht für Batteriebetrieb (on battery), „LB“ für einen fast leeren Akku (low battery). Zusammen heißt das: Der Strom ist ausgefallen und der Akku nähert sich dem Ende. Spätestens jetzt muss die geordnete Abschaltung laufen.

Geordnete Abschaltung selbst einrichten

30 Tage kostenlos, alle Funktionen inklusive. Mit Testmodus und Probelauf, damit der erste echte Stromausfall nicht der erste Test ist.