1

我有一个带有 Supermicro 服务器的机架,每个服务器都带有 IPMI 接口。我可以从我的笔记本连接到任何 IPMI web/cli 界面。除了 IPMI 接口所在的 Supermicro 服务器之外,我还能够从任何 Supermicro 服务器 ping 任何 IPMI 接口。

一个更好地解释我的问题的示例:
服务器 A、B、C 可以 ping 服务器 D 的 IPMI 接口,但服务器 D 无法 ping 服务器 D 的 IPMI 接口
服务器 B、C、D 可以 ping 服务器 A 的 IPMI 接口,但是服务器 A 无法 ping 服务器 A 的 IPMI 接口
等等

看起来每个 IPMI 接口都会丢弃来自 IPMI 所在服务器的 NIC 的数据包。有人知道为什么吗?我在任何 IPMI 界面上都看不到任何设置或限制。
我需要它用于 SNMP。我想ipmitool sdr通过 SNMP 获取信息。

4

1 回答 1

0

那是因为 supermicro 服务器使用共享的 NC-SI 连接。NC-SI 表示网络控制器边带接口,它允许主机上运行的操作系统和 BMC 共享一个物理网络接口。我不知道您的超微服务器的确切型号,但很明显它具有这样的 NC-SI 连接:

共享网卡

IPMI 接口不会丢弃来自服务器的任何流量,因为它根本不接收该流量。NC-SI 表示物理网卡和 LAN 连接器由 BMC 和 CPU 共享。那么当您从主机操作系统向同一服务器中的 BMC 发送请求时会发生什么?

  • 主机操作系统知道 IP 地址,因此它从通过 ARP 搜索 MAC 地址开始。操作系统创建一个带有广播目标 MAC 的 ARP 请求,并将其传递给网络接口卡。
  • 网络接口卡向网络交换机发送 ARP 请求。
  • 交换机将 ARP 请求转发到除收到请求的端口之外的所有端口。
  • 没有人回复 ARP 请求,因为 BMC 没有收到任何东西。

可以应用一些解决方法:

  • 连接到本地 BMC 时,使用 IPMI over IPMB 而不是 IPMI over IP。
  • 从不同的 IP 范围或不同的 VLAN 分配 BMC 和服务器 IP 地址,并为服务器与其 BMC 之间的流量强制执行 L3 路由。
  • 购买专用的 BMC NIC。一些服务器型号允许这样做。
于 2020-11-16T15:36:02.830 回答