IPMI (Intelligent Platform Management Interface)
Das Intelligent Platform Management Interface (IPMI) ist eine Sammlung von standardisierten Schnittstellen in Computer-Hardware und Firmware, die benutzt wird, um den Computer zu warten und zu verwalten. Außerdem wird es eingesetzt, um automatische Berichte über auftretende Fehler zu erzeugen. Der IPMI-Standard ist eine Entwicklung der Hardware-Hersteller Intel, Hewlett-Packard, NEC und Dell.
Mittels IPMI-Karte kann man einen Rechner aus der Ferne über eine verschlüsselte Verbindung (ab IMPMI 2.0 Standard RMCP+) administrieren. Es ist quasi eine Remote KVM Lösung. Dazu muss der Rechner nicht angeschaltet sein, nur Spannung muss anliegen.
Mit IPMI hat der Administrator eine zusätzliche Möglichkeit out-of-band (über einen extra „Kanal“) auf den Rechner zuzugreifen, selbst wenn die Konfiguration des Betriebsystemes falsch ist (z.B. Netzwerkkonfiguration) oder abgestürzt ist. Auch Einstellungen im BIOS oder Reset, Anschalten des Rechner etc. ist möglich solange der Rechner (und damit die IPMI-Komponenten) grundsätzlich mit Spannung versorgt werden.
Die IPMI-Karte wird als erstes initialisiert und muss eine Netzwerk-Verbindung (Netzwerkkabel) haben. Die IP-Adresse wird (je nach Mainboard) im BIOS des Rechners oder mittels der Software eingestellt.
Begriffe bei IPMI
- IPMI – Intelligent Platform Management Interface
- SOL – Serial Over LAN
- SMDC – Server Management Daughter Card
- BMC – Baseboard Management Controller
- KVM – Keyboard Video Mouse
Funktionen
- Verwaltung des Rechners sobald Spannung anliegt, das eigentliche Betriebssystem muss noch nicht korrekt eingerichtet sein.
- Reset und Start des Rechners per Mausklick
- Fernsteuerung der Tastatur
- Bildschirmübertragung und Steuerung incl. BIOS
- lokale Laufwerke und ISO-Abbilder können am entfernten Rechner eingebunden werden.
- Monitorung der Temperatur, Lüfter, etc. mit Ereignis Logbuch
Voraussetzungen
- eine funktionierende TCP/IP-Anbindung
- extra zu bezahlene IPMI-Karte (Aufpreis ~100eur)
- Mainboard dessen Grafikchip kompatibel ist
- im Netzwerk (des Kunden) muss eine IP-Adresse extra reserviert und auf der IPMI-Karte eingerichtet werden.
Links
Konfiguration
Wenn das System per (Hardware-) Firewall abgeschirmt wird, muss Port 623 (UDP) geöffnet werden
IPMI-Karte zurücksetzen
Auf dem System in der die IPMI-Karte eingebaut ist:
- Download von IPMIcfg (lauffähig unter DOS & Linux) Die Registrierungssseite kann damit übersprungen werden.
- auf den Server kopieren, entpacken
- aus dem Ordner
linux/64bit
das Programm starten: ./ipmicfg-linux.x86_64.static -fd (Bei Erfolg: Reset to the factory default completed.) - aktuelle IP anzeigen (DHCP ist Voreinstellung) mit ./ipmicfg-linux.x86_64.static -m
- mit ADMIN/ADMIN einloggen
siehe auch: IPMI Passwort zurücksetzen.
IP-Adresse einstellen
- von Supermicro-CD starten
- Taste drücken bei erster Meldung
- mit „IPMICFG“ Einstellungen vornehmen, Optionen von ipmicfg:
- „
-m
“ zeigt MAC-Adresse und aktuelle IP -m 192.168.123.123
setzt die IP 192.168.123.123
-k 255.255.255.0
setzt die Subnetzmaske 255.255.255.0
-g 192.168.123.1
setzt das Gateway 192.168.123.1
-dhcp on|off
- ./IPMICFG-Linux.x86_64 -vlan
-conf tdownload
Downloads IPMI configuration to a text file.
-conf tupload
Uploads IPMI configuration from a text file.
-fd n
option: 1 | Preserves User configurations option: 2 | Restores to factory default and default password option: 3 | Sets user defaults to ADMIN/ADMIN
-vlan on [VLAN tag]
Enables the VLAN and sets the VLAN tag. If VLAN tag is not given, it uses the previously saved value.
-vlan off
Disables the VLAN.
Verbindung mit IPMIView
Ältere Supermicro-Mainboards (vor X10) unterstützen keine HTML5/IPMI-Konsole sondern nur den java-webstarter oder IPMIView.
- Java8 installieren:
apt install openjdk-8-jre
ODER die mitgelieferte JRE nehmen Achtung: Neuere Java-Versionen (z.B. 11) können keine grafische Konsole starten!
- Standard-Java vom System:
#!/bin/sh java -jar IPMIView20.jar
ODER die mitgelieferte JRE:
#!/bin/sh jre/bin/java -jar IPMIView20.jar
chmod +x start.sh && ./start.sh
- IP bzw. der FQDN der IPMI-Karte muss bekannt sein
- Username und Passwort ist standardmäßig „ADMIN“
ipmitool
Bei Supermicro-Boards ist der Standard-Benutzer „ADMIN“ mit Passwort „ADMIN“, das sollte geändert werden!
Liste von IPMI-Befehlen: ipmitool Cheat Sheet
ipmitool -I lanplus -U ADMIN -H $Hostname_ODER_IP IPMI_Befehl
-I lanplus -U BENUTZER -H Hostname_ODER_IP IPMI_Befehl
Das Passwort durch vier Methoden übergeben werden:
- interaktiv (
-a
oder wenn nichts angegeben wurde) - aus einer Passwortdatei gelesen werden (
-f Dateiname
) - als Parameter übergeben werden:
-p Passwort
- das Passwort wird in der Prozessliste auftauchen auftauchen, ist also aus Sicherheitsgründen nicht zu empfehlen - in der Umgebungsvariable „IPMI_PASSWORD“ mit
-E
Beispiel - Server einschalten mit ipmitools:
ipmitool -I lanplus -H $Hostname_ODER_IP -U ADMIN power on
IPMI Befehle Power
Befehl | Wirkung |
---|---|
ipmitool power status | Power-Status on/off abfragen |
ipmitool power on | Server einschalten |
ipmitool power off | Server sofort ausschalten |
ipmitool power soft | Server via ACPI ausschalten |
ipmitool power reset | Power reset sofort durchführen |
ipmitool power cycle | Power cycle (off/on) durchführen |
Stromverbrauch DCMI power reading
ipmitool dcmi power reading
Alternativ:
./IPMICFG-Linux.x86_64 -pminfo
IPMI-Absicherung
- Standardpasswörter ändern!
- Benutzerrollen zuweisen, nicht alle mit vollen Rechten ausstatten wenn nicht nötig
- eigenen IP-Adressbereich / eigenes VLAN für diese Verwaltungsaufgaben einrichten
- diesen Adressbereich per Firefall absichern bzw. Überwachungsregeln einrichten
- regelmäßig auf Sicherheitslücken/BMC-Firmware-updates überprüfen
siehe auch: Best Practices for managing servers with IPMI features enabled in Datacenters, ipmi password cracking.