impi_core
更新时间: 2026/02/27
在Gitcode上查看源码

黑白名单

开启功能后限制那些命令不需要转发,核心时4条ipmi命令和2棵AVL树 规则比较多,具体如下:

  1. 黑名单最多支持255条IPMI命令,白名单最多支持255条IPMI命令,存入数据库时黑白名单上限阈值为512;
  2. 向黑名单中添加/删除IPMI命令的IPMI命令不能添加到黑名单中;
  3. 所有和黑白名单功能相关的IPMI命令,不能通过BT通道执行,只能通过网络通道执行;
  4. 白名单只能限制BT通道发送的IPMi命令,不能限制网络通道发送的IPMI命令;
  5. 白名单既能限制BT通道发送的IPMi命令,也能限制网络通道发送的IPMI命令;
  6. 黑白名单要掉电持久化;
  7. 两个名单相互独立,只能开启一种;
  8. 往名单里添加已存在的命令时,操作日志会记录“已存在该命令”和“添加成功”2条日志;
  9. 防火墙功能开启需要清空名单时,要同时清空黑白名单;
  10. 非装备模式下才判断黑白名单。

eg:

json
"RestrictedIPMICmdList_SetSerialConnectionCommand": {
    "ReadWrite": "0x01",
    "NetFuncion": "0x30",
    "Command": "0x91",
    "ChanProtocol": "0xff", // 受限通道,0xff表示所有通道,0x08表示带内(bt)通道,0x01表示带外通道
    "Data": ["0xdb", "0x07", "0x00", "0x17", "0xff", "0x07"], // ipmi命令data部分,0xff表示全匹配
    "ShiedFalg": 0 // 表示是否支持命令,0表示默认不支持命令,1表示默认支持命令
}