IPMI 与 BMC 远程管理:从原理到实操完整指南

B站视频
18:42 在 B站 打开

IPMI 与 BMC 远程管理原理与实战

什么是 BMC?

BMC(Baseboard Management Controller,基板管理控制器)是焊接在服务器主板上的一块独立微控制器。与普通业务芯片不同,它有三个核心特点:

  • 独立电源:只要机房供电,BMC 就在线,即使服务器处于关机状态
  • 独立网口:通常是主板背面单独标注 “IPMI” 或 “MGMT” 的 RJ45 口
  • 独立固件:运行自己的 RTOS(实时操作系统),不依赖主机 OS
物理层示意:
┌─────────────────────────────────────┐
│  服务器主板                           │
│                                     │
│  ┌──────────┐     ┌──────────────┐  │
│  │ 主 CPU   │ KCS │   BMC 芯片   │  │
│  │ (Xeon/  │◄───►│  (ASPEED    │  │
│  │  EPYC)  │     │   AST2600)  │  │
│  └──────────┘     └──────┬───────┘  │
│                          │           │
└──────────────────────────┼──────────┘
                           │ 独立网口
                      [管理网络 / OOB VLAN]

IPMI 协议架构

IPMI(Intelligent Platform Management Interface)由 Intel、HP、Dell、NEC 联合制定,目前主流版本是 IPMI 2.0

通信通道

通道类型接口名称使用场景
本地通道KCS(Keyboard Controller Style)主机 OS 内访问 BMC
本地通道SMIC / BT较旧硬件
远程通道LAN(RMCP+)网络远程管理
串口Serial over LAN(SOL)远程串口控制台

IPMI 2.0 的安全改进

相比 1.5 版本,IPMI 2.0 主要增加了:

  1. RAKP 认证:基于 HMAC 的挑战-响应认证
  2. 加密支持:AES-CBC-128 加密 payload
  3. 权限分级:Callback / User / Operator / Administrator 四级

ipmitool 实战命令

视频 09:30 处有完整演示,以下是核心命令速查。

安装

# RHEL / CentOS / Rocky Linux
sudo dnf install ipmitool

# Ubuntu / Debian
sudo apt install ipmitool

# 加载内核模块(本地访问需要)
sudo modprobe ipmi_devintf ipmi_si

常用命令

# 查询机箱状态
ipmitool -I lanplus -H 192.168.100.10 -U admin -P yourpassword chassis status

# 远程重启
ipmitool -I lanplus -H 192.168.100.10 -U admin -P yourpassword chassis power reset

# 强制关机(等效于长按电源键)
ipmitool -I lanplus -H 192.168.100.10 -U admin -P yourpassword chassis power off

# 查看系统事件日志(SEL)
ipmitool -I lanplus -H 192.168.100.10 -U admin -P yourpassword sel list

# 查看传感器数据(温度、风扇转速、电压)
ipmitool -I lanplus -H 192.168.100.10 -U admin -P yourpassword sdr

# 远程挂载 ISO(虚拟媒体,不同厂商命令有差异)
ipmitool -I lanplus -H 192.168.100.10 -U admin -P yourpassword sol activate

iDRAC vs iLO vs 原生 IPMI

各大厂商在 IPMI 标准之上构建了自己的私有扩展:

特性原生 IPMIDell iDRAC 9HPE iLO 6
Web 界面基础完整 HTML5完整 HTML5
虚拟控制台需插件浏览器直连浏览器直连
远程 ISO 挂载受限支持(iDRAC Enterprise)支持
Redfish API不支持支持支持
授权费用免费分级授权分级授权

Redfish 是新一代服务器管理 API 标准(RESTful JSON),正在逐步替代 IPMI,生产环境新采购服务器建议优先用 Redfish。


安全配置建议

BMC 安全是数据中心中最容易被忽视的攻击面:

  1. 物理隔离网络:BMC 网口必须接入独立的 OOB VLAN,不能与业务网络共用
  2. 修改默认密码:出厂密码(如 admin/admin)必须立即更改为强密码
  3. 禁用不用的协议:关闭 Telnet、HTTP(只保留 HTTPS),关闭不需要的 IPMI cipher suite
  4. 固件保持更新:BMC 固件漏洞(如 iDRAC 历史上的多个 CVE)风险极高
  5. 访问审计:开启 BMC 登录日志,接入 SIEM 监控
# 检查当前开启的 cipher suite(不安全的 cipher 0 应当禁用)
ipmitool -I lanplus -H <BMC_IP> -U admin -P pass channel getciphers ipmi

参考资料