Konfiguracja IPMI pod Linuksem

Z Thomas-Krenn-Wiki
Przejdź do nawigacji Przejdź do wyszukiwania

Komenda ipmitool (http://ipmitool.sourceforge.net/) może zostać wykorzystana w Linuksie miedzy innymi do konfiguracji modułu IPMI serwera.

Wymagania sprzętowe i programowe

Następujący przykład pokazuje konfigurację IPMI w sewerze z systemem Linuks. Do przeprowadzenia konfiguracji konieczny jest Devicefile /dev/ipmi0. Jeżeli on jeszcze nie istnieje, to można go w następujący sposób utworzyć:

  • SuSE/Red Hat/CentOS: /etc/init.d/ipmi start (wymagany pakiet OpenIPMI, pakiet OpenIPMI-tools jest potrzebny również póżniej).
  • Debian 4: /usr/share/ipmitool/ipmi.init.basic (w przypadku wystąpienia błędu ipmi_kcs_drv not found należy w skrypcie wykomentować zapytanie if przy pomocy odpowiednich znaczników, por. [1])
  • Debian 5: modprobe ipmi_devintf; modprobe ipmi_si

Poniżej opisana procedura została przetestowana (ipmitool w wersji 1.8.7) na serwerze Intel SR2500 pod systemem CentOS 4. Konfiguracja na innych systemach ze wsparciem IPMI powinna funkcjonować podobnie.

Konfiguracja sieciowa

Konfiguracja pierwszego połączenia sieciowego - w ten sposób skonfigurowany adres IP jest osiągalny na pierwszym porcie karty sieciowej serwera. Standardgateway wymaga obok konfiguracji adresu IP również adresu MAC.

[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

W konfiguracji sieciowej status Set in Progress nie jest automatycznie zmieniany w Set Complete. Może to zostać przeprowadzone za pośrednictwem komendy raw (por. 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

[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 ~]# 

Konta użytkowników

Tworzenie konta użytkownika z uprawnieniami administratora.

[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 ~]# 

Teraz serwer za pośrednictwem tego konta może być zarządzany zdalnie, jak opisano w art. wykorzystanie Ipmitool do zdalnego zarządzania serwerem.

Użytkownik z uprawnieniami USER privilege level

W przypadku kiedy konto użytkownika ma być wykorzystywane jedynie do odczytu wartości sensorów, może do tego zostać wykorzystany własny privilege level. Użytkownik korzystający z tego konta nie może np. wyłączyć lub włączyć serwera. W następującym przykładzie zostaje założone konto tego typu o nazwie monitor:

[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 ~]# 

Znaczenie różnych numerów privilege jest wyświetlane przy uruchomieniu ipmitool channel bez żadnego parametru:

[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 ~]# 

Właśnie utworzone konto użytkownika (monitor) jest przyporządkowane do USER privilege level. Aby użytkownik tego konta miał możliwość dostępu do lokalnej sieci, należy dla grupy użytkowników (USER privilege level) aktywować uwierzytelnienie MD5:

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

W ten sposób MD5 zostaje również odnotowane w User Auth Type Enable dla tego połaczenia sieciowego:

[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 ~]# 

Powiązane artykuły

IPMI Serial over LAN (SOL)
Ipmimonitoring z FreeIPMI i jego wersje
Korzystanie ze zintegrowanego firewalla w IPMI na płytach głównych Supermicro