ipmitool可远程开关机、查温度,但前提是bmc硬件在线、网络连通、用户权限匹配,三者缺一不可;需用-i lanplus远程操作,-i open仅适用于本地直连,且须确保bmc网络配置启用、访问权限开放及固件功能开启。

能直接用 ipmitool 远程开关机、查温度,前提是 BMC 硬件在线、网络通、用户权限配对——缺一不可,不是装了工具就能用。
远程电源控制必须确认的三件事
执行 ipmitool -H 10.10.20.170 -U root -P password power on 失败,大概率卡在这三个环节:
- BMC 物理网口没接线,或和服务器主网卡共用但未启用共享模式(BIOS 中需开启 “Shared LAN” 或 “Dedicated IPMI Port”)
- 目标 IP 地址不是 BMC 的地址,而是服务器系统 IP;BMC 地址必须单独配置,且与管理网络连通(
ping 10.10.20.170要通) - 用户 UID 不匹配:
ipmitool user list 1显示 UID=2 是 admin 用户,但命令里用了-U root——实际应为-U admin或对应 UID 的用户名
强制重启推荐用 power cycle 而非先 power off 再 power on,避免 BMC 状态同步延迟导致第二次命令不生效。
ipmitool sensor list 查不到 CPU 温度?先看通道和驱动
ipmitool -I open sensor list 返回空或报错 Unable to establish IPMI v2 / RMCP+ session,说明没走对通道:
- 本地直连 BMC(不走网络)必须用
-I open,且内核模块已加载:lsmod | grep ipmi应见ipmi_msghandler、ipmi_devintf、ipmi_si - 远程查传感器必须用
-I lanplus(不是lan),否则多数 BMC 拒绝返回 SDR 数据 - 传感器 ID 因厂商而异:
CPU0Temp在戴尔常见,浪潮可能是Proc 1 Temp,先运行ipmitool -I lanplus -H IP -U U -P P sdr list看真实名称再sensor get "xxx"
为什么 ipmitool lan print 显示 access off?
即使 BMC IP 配好了,lan print 中 IP Address Source 是 Static,但 Access Mode 显示 Disabled,远程命令全会失败:
- 这是默认安全策略,必须显式启用:
ipmitool lan set 1 access on - 部分 BMC(如 Supermicro)还需打开 channel 1 的用户权限:
ipmitool channel setaccess 1 2 link=on ipmi=on callin=on privilege=4(UID=2 对应 admin) - 如果执行后仍无效,检查 BIOS 中是否禁用了 “IPMI Over LAN” 或 “BMC Network Stack” 选项
远程 SOL 控制台连不上?关键在协议和认证
ipmitool -H IP -I lanplus -U admin -P pwd sol activate 卡在 “Waiting for SOL activation…” 是最常见故障:
- SOL 必须用
-I lanplus,-I lan不支持 - BMC 固件需启用 SOL 功能(BIOS 中找 “Serial Over LAN” 或 “SOL Console” 并设为 Enabled)
- 客户端终端要支持 VT100/ANSI:
screen /dev/ttyS0 115200不行,得用ipmitool自带的 SOL 会话,或配合minicom -D /dev/ttyS0 -b 115200(仅限本地串口)
真正容易被忽略的是:SOL 流量走的是独立 UDP 端口(默认 623),防火墙或交换机 ACL 若只放行 TCP,SOL 就永远连不上。











