software:ipmi

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.

  • IPMI – Intelligent Platform Management Interface
  • SOL – Serial Over LAN
  • SMDC – Server Management Daughter Card
  • BMC – Baseboard Management Controller
  • KVM – Keyboard Video Mouse
  • 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
  • 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.

Wenn das System per (Hardware-) Firewall abgeschirmt wird, muss Port 623 (UDP) geöffnet werden

Auf dem System in der die IPMI-Karte eingebaut ist:

  1. Download von IPMIcfg (lauffähig unter DOS & Linux) Die Registrierungssseite kann damit übersprungen werden.
  2. auf den Server kopieren, entpacken
  3. aus dem Ordner linux/64bit das Programm starten: ./ipmicfg-linux.x86_64.static -fd (Bei Erfolg: Reset to the factory default completed.)
  4. aktuelle IP anzeigen (DHCP ist Voreinstellung) mit ./ipmicfg-linux.x86_64.static -m
  5. mit ADMIN/ADMIN einloggen

siehe auch: IPMI Passwort zurücksetzen.

  • 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.

Ältere Supermicro-Mainboards (vor X10) unterstützen keine HTML5/IPMI-Konsole sondern nur den java-webstarter oder IPMIView.

  1. 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!

  2. Standard-Java vom System:
    #!/bin/sh
    java -jar IPMIView20.jar

    ODER die mitgelieferte JRE:

    #!/bin/sh
    jre/bin/java -jar IPMIView20.jar
  3. chmod +x start.sh && ./start.sh
  4. IP bzw. der FQDN der IPMI-Karte muss bekannt sein
  5. Username und Passwort ist standardmäßig „ADMIN“

:!: 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:

  1. interaktiv (-a oder wenn nichts angegeben wurde)
  2. aus einer Passwortdatei gelesen werden (-f Dateiname)
  3. als Parameter übergeben werden: -p Passwort - das Passwort wird in der Prozessliste auftauchen auftauchen, ist also aus Sicherheitsgründen nicht zu empfehlen
  4. in der Umgebungsvariable „IPMI_PASSWORD“ mit -E

Beispiel - Server einschalten mit ipmitools:

ipmitool -I lanplus -H $Hostname_ODER_IP -U ADMIN power on
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
  1. Standardpasswörter ändern!
  2. Benutzerrollen zuweisen, nicht alle mit vollen Rechten ausstatten wenn nicht nötig
  3. eigenen IP-Adressbereich / eigenes VLAN für diese Verwaltungsaufgaben einrichten
  4. diesen Adressbereich per Firefall absichern bzw. Überwachungsregeln einrichten
  5. 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.