Linux – Two Linux servers with public IP addresses and IPMI LAN

ipmilinux

I'm experimenting with two servers with public IP addresses to get LAN connection with IPMI. For IPMI I'm using local IP addresses (same NIC).

ipmitool -I open lan set 1 ipaddr 192.168.2.50
Setting LAN IP Address to 192.168.2.50
ipmitool -I open lan set 1 netmask 255.255.255.0
Setting LAN Subnet Mask to 255.255.255.0
ipmitool -I open lan set 1 snmp SOMESTRING
Setting LAN SNMP Community String to SOMESTRING
ipmitool -d /dev/ipmi0 user set name 2 admin
ipmitool -d /dev/ipmi0 user set password 2 SOMESTRING
ipmitool -d /dev/ipmi0 channel setaccess 1 2  callin=on ipmi=on link=on privilege=4
ipmitool -d /dev/ipmi0 lan set 1 arp respond on
ipmitool -d /dev/ipmi0 lan set 1 arp generate on
ipmitool -d /dev/ipmi0 lan set 1 arp interval 5

Two computers with IPMI LAN addresses 192.168.2.50 and 192.168.2.51
I configured, but I'm just getting:

ipmitool -I lan -U admin -H 192.168.2.51 -a chassis power status
Password: 
Error: Unable to establish LAN session
Unable to get Chassis Power Status

Even if I'm using same computer with same IPMI address (192.168.2.50). I get same error message.
I'm used strace tool to check. UDP socket gets connection timeout.

Tried reset BMC but with no results.

ipmitool mc reset cold

Any suggestions?

EDIT:

We have CISCO switch for our servers. Computers 1 and computer 2 connected to same switch. Computer 1 has public IP 193.219.X.Y1 and computer 2 has public IP 193.219.X.Y2. Computer's 1 IPMI address 192.168.2.50 and computers's 2 IPMI address 192.168.2.51. I can't use public IP address for IPMI because they are limited.

Thanks

Best Answer

You need another computer on the same LAN with an IP address that is in the same subnet as those of the IPMI BMC's.

You just said you're using a computer with the same IPMI address. Your BMC should have a completely different address to the computer it's running on and for that matter any other machine on the network or else you'll get a clash. It doesn't matter that's it's using a shared NIC.

i.e IPMI of the server should be 192.168.2.50 and the server should be "something that's not 192.168.2.50".


Assuming the above is correct check that on your server that contains the IPMI BMC that the OpenIPMI packages are properly installed.

Check if the /dev/ipmi0 device file exists. If it doesn't. Create it like this:

SuSE, Red Hat or CentOS: "/etc/init.d/ipmi start"
Debian 4: "/usr/share/ipmitool/ipmi.init.basic"
Debian 5: "modprobe ipmi_devintf; modprobe ipmi_si"

Then try the following as root:

ipmitool lan set 1 ipsrc static
ipmitool lan set 1 ipaddr 192.168.2.50
ipmitool lan set 1 netmask 255.255.255.0
ipmitool lan set 1 arp respond on
ipmitool lan set 1 access on

Check the changes: ipmitool lan print 1

Warm reset the BMC

The ipsrc static line is critical as it may still use DHCP after applying all the other settings.

All this was based on the following link which I used originally to get it going for me. Along with I think the warm reset.

Note: As mentioned in the comments below. Some BMC's require the default gateway to be set. I found that to be true for Supermicro servers but thought that was a one off. It seems it may be a common problem.

Set the default gateway with:

 ipmitool lan set 1 defgw ipaddr 192.168.50.xxx