====== IPMI (Intelligent Platform Management Interface) ====== Das [[wpde>Intelligent Platform Management Interface |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 [[wpde>Intelligent Platform Management Interface|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 ===== * [[http://www.admin-magazin.de/Das-Heft/2010/03/Die-Intelligente-Platform-Management-Interface-IPMI?utm_source=ADMIN-Magazin-Newsletter&utm_campaign=9921ee3acd-ADMIN_14_2012-04-04&utm_medium=email|Die Intelligente Platform Management Interface – IPMI]] * [[http://www.thomas-krenn.com/de/wiki/IPMI_Sensor_Monitoring_Plugin|IPMI Sensor Monitoring Plugin]] ===== 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 [[ftp://ftp.supermicro.com/utility/IPMICFG/|IPMIcfg]] (lauffähig unter DOS & Linux) Die [[http://www.supermicro.com/SwDownload/SwSelect_Free.aspx|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: [[http://www.thomas-krenn.com/de/wiki/IPMI_Passwort_zur%C3%BCcksetzen|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 tdownloadDownloads IPMI configuration to a text file. * -conf tuploadUploads IPMI configuration from a text file. * -fd noption: 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 offDisables the VLAN. ==== Verbindung mit IPMIView ==== Ältere Supermicro-Mainboards (vor X10) unterstützen keine HTML5/IPMI-Konsole sondern nur den java-webstarter oder IPMIView. - **Download Direktlink**: https://www.supermicro.com/about/policies/disclaimer.cfm?url=/wdl/utility/IPMIView/ [[https://www.supermicro.com/en/solutions/management-software/ipmi-utilities|Downloadseite]] - 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.jarODER 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: [[https://www.thomas-krenn.com/de/tkmag/wp-content/uploads/2017/08/ipmitool-cheat-sheet-v1.0.pdf|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: [[http://www.supermicro.com/products/nfo/files/IPMI/Best_Practices_BMC_Security.pdf|Best Practices for managing servers with IPMI features enabled in Datacenters]], [[http://fish2.com/ipmi/remote-pw-cracking.html|ipmi password cracking]].