在华为刀片服务器上:离线安装 ipmitool 并固定 BMC 管理口 IP 的完整记录
环境:华为刀片服务器,操作系统 CentOS Linux 7.9 (Core) x86_64,内网无外网访问,只能通过 U 盘等方式离线安装软件。
这次的目标很简单,但过程不算短:
- 在 完全离线的 CentOS 7.9 上安装
ipmitool; - 用
ipmitool查出华为刀片的 BMC(管理口)IP; - 把原本 DHCP 获取的管理口 IP 固定下来(保持不变,但改为静态配置);
- 顺带解决 “跳板机 ping 不到管理口”、“ipmitool timeout” 等一系列小坑。
下面按时间线把过程梳理一下。
一、确认系统版本和架构:别一上来就装错包
在离线环境下安装 RPM 包,第一步必须搞清楚系统版本和架构,否则 100% 会装错。
在服务器上执行:
1 | cat /etc/centos-release |
得到结果:
1 | CentOS Linux release 7.9.2009 (Core) |
这两个信息非常关键:
- 说明这是 CentOS 7 系列,而不是 Stream 9;
- 架构是 x86_64,所以必须找
...x86_64.rpm的包。
后面所有 rpm 选择,都要和这个对应:el7 + x86_64。
二、找到正确的 ipmitool RPM:ipmitool-1.8.18-9.el7_7.x86_64.rpm
在 CentOS 7 的官方/镜像仓库里,找到了这样一个包:
1 | ipmitool-1.8.18-9.el7_7.x86_64.rpm |
几个关键信息:
el7_7:适配 CentOS/RHEL 7.7 及后续小版本(7.9 用也没问题);x86_64:架构正确;- 包说明里也写着:“ipmitool rpm build for : CentOS 7”。
用 U 盘把这个 rpm 拷到服务器 /home/centos,切到 root,尝试安装:
1 | su - |
这次的报错非常简洁:
1 | 错误:依赖检测失败: |
这就正常了:缺一个依赖而已,不是“整代不兼容”。
三、补齐依赖:离线安装 OpenIPMI 系列包
ipmitool 依赖 OpenIPMI-modalias,而 OpenIPMI-modalias 又依赖 OpenIPMI / OpenIPMI-libs。
所以在有网的机器上,需要额外下载这几个包(版本号可略有不同,只要是 el7 + x86_64 即可):
OpenIPMI-2.0.23-*.el7.x86_64.rpmOpenIPMI-libs-2.0.23-*.el7.x86_64.rpmOpenIPMI-modalias-2.0.23-*.el7.x86_64.rpm
同样用 U 盘拷到服务器上的某个目录(例如 /root/rpms):
1 | mkdir -p /root/rpms |
一次性安装:
1 | rpm -ivh OpenIPMI-*.rpm ipmitool-1.8.18-9.el7_7.x86_64.rpm |
如果没有其它依赖报错,就算成功安装 OpenIPMI + ipmitool 了。
验证一下:
1 | ipmitool -V |
输出类似:
1 | ipmitool version 1.8.18 |
到这里,离线安装 ipmitool 的任务就完成了。
四、用 ipmitool 查管理口 IP
加载一下 IPMI 内核模块(有些系统自动加载,有些需要手动):
1 | modprobe ipmi_msghandler |
然后直接查询 BMC(管理口)网络配置,一般用 channel 1:
1 | ipmitool lan print 1 |
输出类似:
1 | Set in Progress : Set Complete |
这行:
1 | IP Address : 192.168.11.13 |
就是这次要找的 管理口(BMC/iBMC/iMana)的 IP 地址。
注意:这个 IP 不等于 OS 网卡的 IP,它是独立的管理网口。
五、为什么本机能 ping 通,跳板机 ping 不通?
继续在 CentOS 上看网卡:
1 | ip addr |
可以看到 OS 的业务网口 eno3 是:
1 | inet 192.168.11.14/25 dev eno3 proto dhcp |
Windows 跳板机则是:
1 | IPv4 Address : 192.168.11.29 |
从 IP/掩码上看:
- BMC:
192.168.11.13/25 - OS:
192.168.11.14/25 - 跳板:
192.168.11.29/25
三者同网段。但是现象是:
- CentOS 本机能 ping
192.168.11.13; - 跳板机能 ping
192.168.11.14,但 ping 不到192.168.11.13。
这非常典型——说明:
- BMC 管理口实际上在一个“管理 VLAN / 管理网”里,逻辑上虽然是这个网段,但交换机 / 路由 / ACL 对办公网是有限制的;
- OS 到 BMC 是“板上通道 + 同交换机”,所以通;
- 办公网到管理网被隔离,所以 ping 不通。
这种场景非常常见于机房:BMC 管理网和业务网隔离。
六、绕过网络隔离:用 SSH 端口转发访问 BMC Web
虽然跳板机不能直接 ping BMC,但是能通过 OS(192.168.11.14)做“跳板”。
在跳板机上执行(假设用户是 centos):
1 | ssh -L 8443:192.168.11.13:443 centos@192.168.11.14 |
8443是本地监听端口;192.168.11.13:443是 BMC 的 HTTPS 服务;centos@192.168.11.14是登录到服务器的账户。
登陆成功之后,这个 ssh 窗口保持打开,在跳板机的浏览器里访问:
1 | https://127.0.0.1:8443 |
浏览器会提示证书不受信任,点“继续访问”即可——看到的就是 BMC 的 Web 登录界面。
用 PuTTY 的话,就是在
Connection → SSH → Tunnels里配置:
Source port: 8443
Destination: 192.168.11.13:443
类型选 Local,加进去,再打开会话即可。
通过这种方式,即使管理网对办公网封锁,我们依然可以通过服务器本机访问 BMC。
七、把 DHCP 改为静态 IP(仍然使用 192.168.11.13)
当用 ipmitool lan print 1 看到:
1 | IP Address Source : DHCP Address |
此时管理口是从 DHCP 拿到 192.168.11.13,未来有可能因为 DHCP 变化而改变 IP。
要求是:
“我就想一直用 192.168.11.13,这个 IP 不要变。”
可以用 ipmitool 把 IP 源从 DHCP 改成 static,并显式写入 IP/掩码/网关:
1 | # 改成静态地址模式 |
再查一遍:
1 | ipmitool lan print 1 |
确认变成:
1 | IP Address Source : Static Address |
到这里,管理口 IP 就变成静态 192.168.11.13 了。
八、改完 IP 后短暂 ping 不通、ipmitool timeout 的处理
在改为 static 的过程中,遇到过短时间内:
ping 192.168.11.13不通;ipmitool lan print 1/ipmitool mc info报错 timeout。
这其实是正常现象:
BMC 在应用新的网络配置或重启自身控制器时,会有一小段“不可用窗口”。
常用救援步骤:
-
在 OS 上执行一次 BMC 冷重启:
1
ipmitool mc reset cold
-
等 1–2 分钟,再尝试:
1
2ipmitool lan print 1
ping -c 4 192.168.11.13 -
如果
lan print能正常输出,且IP Address Source仍然是Static Address,说明配置已保存; -
即便
mc reset cold那条命令本身显示 timeout,也不代表没重启,通常 BMC 已经在重启了,只是通道断了响应。
这次的结果是:
等了一会儿之后,BMC 恢复了响应,静态 192.168.11.13 可以正常 ping 通和 Web 访问。
总结
这次从零开始,在一台离线的华为刀片服务器上:
- 确认了系统版本和架构是 CentOS 7.9 x86_64;
- 下载并离线安装了 ipmitool-1.8.18-9.el7_7.x86_64 和相关 OpenIPMI 依赖;
- 使用
ipmitool lan print 1成功查到 BMC 管理口 IP:192.168.11.13(原先为 DHCP); - 分析出业务网和管理网的隔离问题,通过 SSH 本地端口转发 实现从跳板机访问 BMC Web;
- 将 BMC IP 从 DHCP 改为静态
192.168.11.13并成功应用; - 处理了 BMC 配置变更过程中短暂 ping 不通、
ipmitool timeout的现象,并通过mc reset cold+ 等待让管理口恢复。
最终达成的状态是:
- 管理口 IP 已固定为 192.168.11.13,可长期用于远程管理;
- 通过
ssh -L 8443:192.168.11.13:443 centos@192.168.11.14+https://127.0.0.1:8443,可以在任何能 ssh 到服务器的机器上访问 BMC; - 日后若 OS 登录口需要固定 IP,更推荐通过 DHCP 保留地址(网管侧配置),而不是在生产环境里随意改网卡为静态。







