I had an issue the other day – I needed to configure the iDRAC on several Dell servers that were running ESXi, but I couldn’t reboot the systems to get into the BIOS. There are plenty of tools and documents on how to configure the iDRAC on a server running Windows, or even Linux, but ESXi is somewhat of an outlier.
After lots of googling, I finally came across http://blog.rchapman.org/post/17480234232/configuring-bmc-drac-from-esxi-or-linux by Ryan Chapman. Here, he shows how to use a tool, IPMITOOL, to configure the iDRAC. My steps were a little different than his, so I decided to document it here in case anyone needs it in the future.
BTW – This process requires a Linux machine to compile the tool. I am using Ubuntu 14.04 – Trusty Tahr
First – Install the necessary build components
This installs not only the build tools, but the multilib package allows a system (64bit in my case) create packages for other platforms (32 bit)
sudo apt-get install build-essential gcc-multilib
Second – Download the tool source
There are newer versions of this tool available, but this is the version that Ryan used, so I followed suit
wget http://softlayer-dal.dl.sourceforge.net/project/ipmitool/ipmitool/1.8.11/ipmitool-1.8.11.tar.gz
tar zxvf ipmitool-1.8.11.tar.gz
cd ipmitool-1.8.11/
Third – Prepare the code/compiler
./configure CFLAGS=-m32 LDFLAGS=-static
Fourth – Compile
Assuming everything completed without error, there should now be a file src/ipmitool. We need to copy this to our ESXi host to execute.
First – You need to enable the SSH service and firewall ports on the ESXi host
Second – Copy the file
scp src/ipmitool root@10.23.0.101:/scratch/
Third – SSH to the ESXi host
Fourth – Configure the iDRAC
This was different for me than from the example. When I tried to execute ./ipmitool shell, I received an error. Instead, I found that I could configure each option from the command line.
root@C2100:~ # cd /scratch/
root@C2100:/vmfs/volumes/4f364c4f-5e22faef-0987-e89a8f229d27 # ./ipmitool shell
root@C2100:/vmfs/volumes/4f364c4f-5e22faef-0987-e89a8f229d27 # ./ipmitool lan set 1 ipaddr 10.1.1.151
root@C2100:/vmfs/volumes/4f364c4f-5e22faef-0987-e89a8f229d27 # ./ipmitool lan set 1 netmask 255.255.255.0
root@C2100:/vmfs/volumes/4f364c4f-5e22faef-0987-e89a8f229d27 # ./ipmitool lan set 1 defgw ipaddr 10.1.1.1
root@C2100:/vmfs/volumes/4f364c4f-5e22faef-0987-e89a8f229d27 # ./ipmitool lan set 1 auth ADMIN MD5,PASSWORD
root@C2100:/vmfs/volumes/4f364c4f-5e22faef-0987-e89a8f229d27 # ./ipmitool lan set 1 arp respond on
root@C2100:/vmfs/volumes/4f364c4f-5e22faef-0987-e89a8f229d27 # ./ipmitool lan set 1 arp generate on
root@C2100:/vmfs/volumes/4f364c4f-5e22faef-0987-e89a8f229d27 # ./ipmitool lan set 1 arp interval 5
root@C2100:/vmfs/volumes/4f364c4f-5e22faef-0987-e89a8f229d27 # ./ipmitool lan set 1 access on
root@C2100:/vmfs/volumes/4f364c4f-5e22faef-0987-e89a8f229d27 # ./ipmitool user set name 2 root
root@C2100:/vmfs/volumes/4f364c4f-5e22faef-0987-e89a8f229d27 # ./ipmitool user set password 2 BuggyP@ssw0rd
root@C2100:/vmfs/volumes/4f364c4f-5e22faef-0987-e89a8f229d27 # ./ipmitool channel setaccess 1 2 callin=on link=on privilege=4
root@C2100:/vmfs/volumes/4f364c4f-5e22faef-0987-e89a8f229d27 # ./ipmitool user enable 2
root@C2100:/vmfs/volumes/4f364c4f-5e22faef-0987-e89a8f229d27 # ./ipmitool lan print 1
Set in Progress : Set Complete
Auth Type Support : NONE MD2 MD5 PASSWORD
Auth Type Enable : Callback : MD2 MD5
IP Address Source : Static Address
Subnet Mask : 255.255.255.0
MAC Address : 00:22:19:27:53:10
SNMP Community String : public
IP Header : TTL=0x40 Flags=0x40 Precedence=0x00 TOS=0x10
Default Gateway IP : 0.0.0.0
Default Gateway MAC : 00:00:00:00:00:00
Backup Gateway IP : 0.0.0.0
Backup Gateway MAC : 00:00:00:00:00:00
802.1q VLAN ID : Disabled
RMCP+ Cipher Suites : 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14
Cipher Suite Priv Max : aaaaaaaaaaaaaaa