IPMI Konfiguration unter Linux mittels ipmitool

Aus Thomas-Krenn-Wiki
Wechseln zu: Navigation, Suche

Unter Linux kann der Befehl ipmitool (http://ipmitool.sourceforge.net/) unter anderem zur IPMI Konfiguration eines Servers verwendet werden.

Hardware und Software Voraussetzungen

Das folgende Beispiel zeigt die Konfiguration von IPMI auf einem Linux-Server. Damit die Konfiguration durchgeführt werden kann, muss das Devicefile /dev/ipmi0 vorhanden sein. Falls dieses noch nicht vorhanden ist, können Sie es wie folgt erstellen:

  • unter SuSE/Red Hat/CentOS: /etc/init.d/ipmi start (erfordert das Package OpenIPMI, das Package OpenIPMI-tools ist für ipmitool später auch erforderlich)
  • unter Debian 4: /usr/share/ipmitool/ipmi.init.basic (Falls hierbei eine Fehlermeldung kommt ipmi_kcs_drv not found müssen Sie die entsprechende if-Abfrage im Script auskommentieren, siehe auch [1])
  • unter Debian 5: modprobe ipmi_devintf; modprobe ipmi_si
  • unter FreeBSD: kldload ipmi

Die unten beschriebene Vorgehensweise wurde auf einem Intel SR2500 unter CentOS 4 mit ipmitool version 1.8.7 getestet. Grundsätzlich sollte die Konfiguration auf anderen Systemen mit IPMI Unterstützung ähnlich funktionieren.

LAN Konfiguration

Hier wird der erste IPMI LAN channel konfiguriert - somit ist die konfigurierte IP Adresse am ersten LAN Port des Servers erreichbar. Für das Standardgateway muss neben der IP Adresse des Gateways auch dessen MAC Adresse konfiguriert werden.

[root@sr2500 ~]# ipmitool lan set 1 ipsrc static
[root@sr2500 ~]# ipmitool lan set 1 ipaddr 192.168.1.211
Setting LAN IP Address to 192.168.1.211
[root@sr2500 ~]# ipmitool lan set 1 netmask 255.255.255.0
Setting LAN Subnet Mask to 255.255.255.0
[root@sr2500 ~]# ipmitool lan set 1 defgw ipaddr 192.168.1.254
Setting LAN Default Gateway IP to 192.168.1.254
[root@sr2500 ~]# ipmitool lan set 1 defgw macaddr 00:0e:0c:aa:8e:13
Setting LAN Default Gateway MAC to 00:0e:0c:aa:8e:13
[root@sr2500 ~]# ipmitool lan set 1 arp respond on
Enabling BMC-generated ARP responses
[root@sr2500 ~]# ipmitool lan set 1 auth ADMIN MD5
[root@sr2500 ~]# ipmitool lan set 1 access on

Bei der LAN-Konfiguration wird Set in Progress bei älteren ipmitool Versionen nicht automatisch auf Set Complete gesetzt. Dies kann manuell über ein raw-Kommando gemacht werden (siehe dazu auch http://www.mail-archive.com/ipmitool-devel@lists.sourceforge.net/msg00095.html)

[root@sr2500 ~]# ipmitool lan print 1
Set in Progress         : Set In Progress
[...]
[root@sr2500 ~]# ipmitool raw 0x0c 1 1 0 0

ipmitool lan print 1

Mit ipmitool lan print 1 können Sie die Konfiguration überprüfen:

[root@sr2500 ~]# ipmitool lan print 1
Set in Progress         : Set Complete
Auth Type Support       : NONE MD5 PASSWORD 
Auth Type Enable        : Callback : 
                        : User     : 
                        : Operator : 
                        : Admin    : MD5 
                        : OEM      : 
IP Address Source       : Static Address
IP Address              : 192.168.1.211
Subnet Mask             : 255.255.255.0
MAC Address             : 00:0e:0c:ea:92:a2
SNMP Community String   : 
IP Header               : TTL=0x40 Flags=0x40 Precedence=0x00 TOS=0x10
BMC ARP Control         : ARP Responses Enabled, Gratuitous ARP Disabled
Gratituous ARP Intrvl   : 2.0 seconds
Default Gateway IP      : 192.168.1.254
Default Gateway MAC     : 00:0e:0c:aa:8e:13
Backup Gateway IP       : 0.0.0.0
Backup Gateway MAC      : 00:00:00:00:00:00
RMCP+ Cipher Suites     : None
Cipher Suite Priv Max   : XXXXXXXXXXXXXXX
                        :     X=Cipher Suite Unused
                        :     c=CALLBACK
                        :     u=USER
                        :     o=OPERATOR
                        :     a=ADMIN
                        :     O=OEM
[root@sr2500 ~]# 

Benutzer Konfiguration

Nun wird noch ein Benutzer mit Admin-Rechten eingerichet.

[root@sr2500 ~]# ipmitool user set name 2 admin
[root@sr2500 ~]# ipmitool user set password 2
Password for user 2: 
Password for user 2: 
[root@sr2500 ~]# ipmitool channel setaccess 1 2 link=on ipmi=on callin=on privilege=4
[root@sr2500 ~]# ipmitool user enable 2
[root@sr2500 ~]# 

Der Server kann nun remote mit diesem Benutzer gesteuert werden, wie in Ipmitool zur Remotesteuerung von Server nutzen beschrieben.

Benutzer mit USER privilege level

Wenn ein Benutzer nur zum Abfragen von Sensordaten genutzt werden soll kann dazu ein eigener privilege level genützt werden. Dieser Benutzer hat dann z.B. keine Rechte den Server ein- oder auszuschalten. Im folgenden Beispiel wird dazu ein Benutzer mit dem Namen monitor erstellt:

[root@sr2500 ~]# ipmitool user set name 3 monitor
[root@sr2500 ~]# ipmitool user set password 3
Password for user 3: 
Password for user 3: 
[root@sr2500 ~]# ipmitool channel setaccess 1 3 link=on ipmi=on callin=on privilege=2
[root@sr2500 ~]# ipmitool user enable 3
[root@sr2500 ~]# ipmitool channel getaccess 1 3
Maximum User IDs     : 15
Enabled User IDs     : 2

User ID              : 3
User Name            : monitor
Fixed Name           : No
Access Available     : call-in / callback
Link Authentication  : enabled
IPMI Messaging       : enabled
Privilege Level      : USER
[root@sr2500 ~]# 

Die Bedeutung der unterschiedlichen privilege Nummern werden angezeigt wenn ipmitool channel ohne weitere Parameter aufgerufen wird:

[root@sr2500 ~]# ipmitool channel
Channel Commands: authcap   <channel number> <max privilege>
                  getaccess <channel number> [user id]
                  setaccess <channel number> <user id> [callin=on|off] [ipmi=on|off] [link=on|off] [privilege=level]
                  info      [channel number]
                  getciphers <ipmi | sol> [channel]

Possible privilege levels are:
   1   Callback level
   2   User level
   3   Operator level
   4   Administrator level
   5   OEM Proprietary level
  15   No access
[root@sr2500 ~]# 

Der soeben erstelle Benutzer (mit dem Namen 'monitor') ist dem USER privilege level zugeordnet. Damit mit diesem Benutzer ein LAN Zugriff möglich ist, aktivieren Sie für diese Benutzergruppe (USER privilege level) die MD5 Authentifizierung für den LAN Zugriff:

[root@sr2500 ~]# ipmitool lan set 1 auth USER MD5
[root@sr2500 ~]# 

Somit wird nun MD5 auch beim User Auth Type Enable für den LAN Channel 1 aufgelistet:

[root@sr2500 ~]# ipmitool lan print 1
Set in Progress         : Set Complete
Auth Type Support       : NONE MD5 PASSWORD 
Auth Type Enable        : Callback : 
                        : User     : MD5 
                        : Operator : 
                        : Admin    : MD5 
                        : OEM      : 
IP Address Source       : Static Address
IP Address              : 192.168.1.211
Subnet Mask             : 255.255.255.0
MAC Address             : 00:0e:0c:ea:92:a2
SNMP Community String   : 
IP Header               : TTL=0x40 Flags=0x40 Precedence=0x00 TOS=0x10
BMC ARP Control         : ARP Responses Enabled, Gratuitous ARP Disabled
Gratituous ARP Intrvl   : 2.0 seconds
Default Gateway IP      : 192.168.1.254
Default Gateway MAC     : 00:0e:0c:aa:8e:13
Backup Gateway IP       : 0.0.0.0
Backup Gateway MAC      : 00:00:00:00:00:00
RMCP+ Cipher Suites     : 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14
Cipher Suite Priv Max   : XXXXXXXXXXXXXXX
                        :     X=Cipher Suite Unused
                        :     c=CALLBACK
                        :     u=USER
                        :     o=OPERATOR
                        :     a=ADMIN
                        :     O=OEM
[root@sr2500 ~]# 

Bitte verwenden Sie die Option "-L USER" für das ipmitool Kommando wenn Sie einen User mit USER Rechten verwenden. Ohne dieser Option erhalten Sie ggf. folgende Fehlermeldung:

Activate Session error: Requested privilege level exceeds limit


Foto Werner Fischer.jpg

Autor: Werner Fischer

Werner Fischer, tätig im Bereich Communications / Knowledge Transfer bei Thomas-Krenn, hat sein Studium zu Computer- und Mediensicherheit an der FH Hagenberg abgeschlossen. Er ist regelmäßig Autor in Fachzeitschriften und Speaker bei Konferenzen wie LinuxCon, OSDC, OSMC, LinuxTag u.v.m. Seine Freizeit gestaltet er sehr abwechslungsreich. In einem Moment absolviert er seinen Abschluss im Klavierspielen, im anderen läuft er beim Linzmarathon in der Staffel mit oder interessiert sich für OpenStreetMap.


Das könnte Sie auch interessieren

FreeIPMI internal IPMI error
IPMI KVM Konsole bleibt schwarz oder liefert No Signal
Supermicro IPMI Product IDs