We use IPMI support in LibreNMS on many of our servers to gather additional hardware data such as temperatures and it works well.
However I recently repurposed a small rack mount Intel server and while doing so I updated the BIOS / BMC to the latest versions and LibreNMS cannot successfully query IPMI on this server…
When I run capture discovery I can see it failing, and when I try this from the command line I can duplicate it (some details modified)
ipmitool -H 10.0.1.251 -p 623 -U user -P password -I lanplus sensor Error in open session response message : invalid role Error: Unable to establish IPMI v2 / RMCP+ session
After a little searching I found the reason for it in this discussion:
Cipher Suite 3 is disabled by default since BMC firmware 1.90 and only keep Cipher Suite 17 opened by default. Due to this, the extra parameter "-C 17" is required for ipmitool to work via LAN.
So apparently ipmitool defaults to a cipher suite that is disabled in later Intel BMC firmware. Sure enough, if I add -C 17 to the impitool options it works:
ipmitool -H 10.0.1.251 -p 623 -U user -P password -I lanplus sensor -C 17 Pwr Unit Status | 0x0 | discrete | 0x0000| na | na | na | na | na | na IPMI Watchdog | 0x0 | discrete | 0x0000| na | na | na | na | na | na FP NMI Diag Int | 0x0 | discrete | 0x0000| na | na | na | na | na | na SMI Timeout | 0x0 | discrete | 0x0000| na | na | na | na | na | na System Event Log......................... etc
The question is, how can the IPMI command line options be customised in LibreNMS ? I don’t see an obvious way to do this. Furthermore, it’s unclear whether this option would break compatibility on older BMC firmware (it seems likely that it might) so really this option would need to be added only for specific devices as needed.
Anyone run into this issue before and found a solution to customising the IPMI command line options ?