2个版本
0.1.1 | 2024年1月6日 |
---|---|
0.1.0 | 2024年1月6日 |
#1253 in 硬件支持
135KB
3K SLoC
rust-ipmi
支持IPMI V2/RMCP+的LAN rust客户端
前言
这是一个为了学习rust而进行的业余项目,不是一个用于生产的库。如果您需要一个稳定、功能丰富的IPMI LAN客户端,请考虑ipmi-tool - 这是一个已经维护了超过十年的命令行工具。
⚠️ 安全警告 ⚠️
通过LAN的IPMI存在多个相对较详细的安全漏洞。以下是一些加强安全性的建议
- 更改默认的IPMI用户名
- 将端口623/UDP限制在受限制的防火墙下的服务器上
- 不要直接将您的服务器暴露给WAN
背景
rust-ipmi是一个用于远程管理/监控具有IPMI硬件支持的系统的原生rust客户端。IPMI是一个允许软件通过BMC(基板管理控制器)与系统交互和通信的规范。BMC是一个硬件组件,它通过LAN和串行使计算机机箱、主板和存储设备能够交互。
这个库专注于IPMI LAN协议。有关通过LAN的IPMI的一些一般信息
- 这是一个基于网络的IPMI实现,因此网络数据包将通过UDP在端口623发送到BMC LAN控制器并接收。
- 数据包结构通常类似于以太网帧 -> IP/UDP -> RMCP头部 -> IPMI头部 -> IPMI有效负载
- 英特尔推出了IPMI v2和RMCP+,引入了加密有效负载
依赖关系
~3MB
~64K SLoC