BMC IP 配置脚本:一站式完成配置与验证
用 ipmitool 配置 BMC 静态 IP、掩码、网关,直接复制对应命令即可(通道默认用 1,绝大多数服务器适用)。
一、查看当前 BMC 配置(确认通道)
配置前建议先查看当前 BMC 网络配置,确认通道号(默认通道1,多数服务器适用):
# 查看通道1的BMC网络配置(最常用)
ipmitool lan print 1
# 查看所有通道(确认你的通道号,一般是1)
ipmitool channel info
二、配置静态 IP(完整流程)
手动分步配置静态 IP,按顺序执行以下命令(通道1为例,需自定义IP、掩码、网关):
# 1. 设为静态IP模式(必须先执行)
ipmitool lan set 1 ipsrc static
# 2. 设置IP地址(替换为你的BMC IP)
ipmitool lan set 1 ipaddr 192.168.0.100
# 3. 设置子网掩码(替换为你的子网掩码)
ipmitool lan set 1 netmask 255.255.255.0
# 4. 设置默认网关(替换为你的网关)
ipmitool lan set 1 defgw ipaddr 192.168.0.1
# 5. 重启BMC生效(关键步骤,配置后必须执行)
ipmitool bmc reset cold
三、配置 DHCP(自动获取 IP)
若无需静态IP,可配置为 DHCP 自动获取,执行以下命令:
ipmitool lan set 1 ipsrc dhcp
ipmitool bmc reset cold
四、验证配置
BMC 重启完成后(约10秒),执行以下命令验证配置是否生效:
# 查看通道1配置(确认IP、掩码、网关是否正确)
ipmitool lan print 1
五、常见说明
-
通道 1:专用 BMC 管理口(绝大多数服务器默认,无需修改);
-
通道 2/8:共享网口(少数机型,如 Dell 部分服务器),将所有命令中的
1替换为对应通道号即可; -
必须重启 BMC:所有网络配置修改后,需执行
ipmitool bmc reset cold重启 BMC,配置才能生效,旧 IP 会同步失效; -
重启 BMC 仅影响管理口通信,不影响服务器系统正常运行,可放心执行。
六、整合版一键 BMC IP 配置脚本
为提升操作效率,整合「查看配置+设置静态IP」功能,创建一键脚本,无需分步执行命令,适配所有常见服务器通道。
6.1 脚本内容
创建脚本文件 bmc_network_config.sh,复制以下内容:
#!/bin/bash
# 一键查看/配置 BMC 静态 IP、子网掩码、网关
# 使用方法:
# 1. 仅查看当前配置:sudo bash bmc_network_config.sh show [通道号,默认1]
# 2. 配置静态IP:sudo bash bmc_network_config.sh set <BMC_IP> <子网掩码> <网关> [通道号,默认1]
# 检查是否以 root 权限运行
if [ $UID -ne 0 ]; then
echo "请用 sudo 或 root 权限运行!"
exit 1
fi
# 定义查看配置函数
show_bmc_config() {
local CHANNEL=${1:-1}
echo "========================================"
echo "BMC 网络配置(通道 $CHANNEL)"
echo "========================================"
ipmitool lan print $CHANNEL | grep -E "Channel|IP Address Source|IP Address|Subnet Mask|Default Gateway IP|MAC Address"
echo "========================================"
}
# 定义设置配置函数
set_bmc_config() {
local BMC_IP=$1
local NETMASK=$2
local GATEWAY=$3
local CHANNEL=${4:-1}
echo "========================================"
echo "开始配置 BMC 网络(通道 $CHANNEL)"
echo "IP地址:$BMC_IP"
echo "子网掩码:$NETMASK"
echo "网关:$GATEWAY"
echo "========================================"
# 1. 设置为静态IP模式
echo -n "🔧 设置静态IP模式..."
ipmitool lan set $CHANNEL ipsrc static > /dev/null 2>&1
if [ $? -eq 0 ]; then
echo "成功"
else
echo "失败"
exit 1
fi
# 2. 设置IP地址
echo -n "🔧 设置IP地址 $BMC_IP..."
ipmitool lan set $CHANNEL ipaddr $BMC_IP > /dev/null 2>&1
if [ $? -eq 0 ]; then
echo "成功"
else
echo "失败"
exit 1
fi
# 3. 设置子网掩码
echo -n "🔧 设置子网掩码 $NETMASK..."
ipmitool lan set $CHANNEL netmask $NETMASK > /dev/null 2>&1
if [ $? -eq 0 ]; then
echo "成功"
else
echo "失败"
exit 1
fi
# 4. 设置网关
echo -n "🔧 设置网关 $GATEWAY..."
ipmitool lan set $CHANNEL defgw ipaddr $GATEWAY > /dev/null 2>&1
if [ $? -eq 0 ]; then
echo "成功"
else
echo "失败"
exit 1
fi
# 5. 冷重启BMC生效(关键)
echo -n "🔧 重启BMC(约10秒)..."
ipmitool bmc reset cold > /dev/null 2>&1
sleep 10 # 等待BMC重启完成
echo "完成"
# 6. 验证配置结果
echo "========================================"
echo "📋 配置后验证结果(通道 $CHANNEL):"
show_bmc_config $CHANNEL
echo "========================================"
echo "🎉 BMC IP 配置完成!请执行 ping $BMC_IP 验证连通性。"
}
# 主逻辑:解析命令参数
case $1 in
show)
# 仅查看配置:bash script.sh show [通道号]
show_bmc_config $2
;;
set)
# 配置静态IP:bash script.sh set IP 掩码 网关 [通道号]
if [ $# -lt 4 ]; then
echo "参数不足!"
echo "用法:sudo bash $0 set <BMC_IP> <子网掩码> <网关> [通道号,默认1]"
echo "示例:sudo bash $0 set 192.168.0.100 255.255.255.0 192.168.0.1 1"
exit 1
fi
set_bmc_config $2 $3 $4 $5
;;
*)
# 显示帮助
echo "一键 BMC 网络配置脚本"
echo "用法1(查看配置):sudo bash $0 show [通道号,默认1]"
echo "用法2(配置静态IP):sudo bash $0 set <BMC_IP> <子网掩码> <网关> [通道号,默认1]"
echo ""
echo "示例1:查看通道1配置 → sudo bash $0 show"
echo "示例2:配置通道1 → sudo bash $0 set 192.168.0.100 255.255.255.0 192.168.0.1"
echo "示例3:配置通道8 → sudo bash $0 set 192.168.0.100 255.255.255.0 192.168.0.1 8"
exit 1
;;
esac
6.2 脚本使用步骤
步骤1:赋予脚本执行权限
chmod +x bmc_network_config.sh
步骤2:查看当前 BMC 配置(推荐先执行)
# 查看默认通道1的配置
sudo bash bmc_network_config.sh show
# 查看通道8的配置(如Dell服务器共享网口)
sudo bash bmc_network_config.sh show 8
步骤3:配置静态 IP(核心功能)
# 示例:配置 IP=192.168.0.100,掩码=255.255.255.0,网关=192.168.0.1,通道=1
sudo bash bmc_network_config.sh set 192.168.0.100 255.255.255.0 192.168.0.1
# 示例:配置通道8(自定义通道)
sudo bash bmc_network_config.sh set 192.168.0.100 255.255.255.0 192.168.0.1 8
七、总结
-
文档包含「手动分步配置」和「一键脚本配置」两种方式,可根据需求选择:手动配置适合熟悉命令的用户,脚本配置适合快速操作、批量部署;
-
一键脚本整合了权限检查、参数校验、配置验证功能,避免新手误操作,配置完成后自动验证结果;
-
关键注意事项:
-
所有操作必须用 root 权限运行(前缀加 sudo);
-
BMC 冷重启会断开当前 IPMI 连接,但不影响服务器系统运行;
-
通道号默认1(多数服务器专用管理口),少数机型用8(共享网口),可先通过
show命令确认; -
配置完成后,建议用
ping <BMC_IP>验证连通性,确保配置生效。
-
评论交流
欢迎留下你的想法