我运行 3 个 Debian 服务器,每个服务器都有自己的 IPMI。所有 IP 都位于同一个子网内,网关也相同。问题是,每个服务器都可以 ping 通自己的 IPMI,但不能 ping 通其他 2 个服务器的 IPMI。
也就是说,所有 3 个 IPMI 和服务器都可 ping 通,并且可以通过其 IP 从外部进行访问。
每台服务器有 2 个 NIC,eth0 是通向外部的网络,eth1 用于服务器之间的内部流量。
我的网络配置如下:
eth0
1.2.3.84 (Server1)
1.2.3.85 (Server2)
1.2.3.86 (Server3)
1.2.3.71 (IPMI Server1)
1.2.3.76 (IPMI Server2)
1.2.3.66 (IPMI Server3)
1.2.3.65 (Gateway)
255.255.255.224 (Netmask)
eth1
10.10.10.1 (Server1)
10.10.10.2 (Server2)
10.10.10.3 (Server3)
这/etc/网络/接口(此示例中为 Server1)
auto eth0
iface eth0 inet static
address 1.2.3.84
netmask 255.255.255.224
gateway 1.2.3.65
# default route to access subnet
up route add -net 1.2.3.64 netmask 255.255.255.224 gw 1.2.3.65 eth0
auto eth1
iface eth1 inet static
address 10.10.10.1
netmask 255.255.255.0
路线-n(在服务器1上)
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
1.2.3.64 1.2.3.65 255.255.255.224 UG 0 0 0 eth0
1.2.3.64 0.0.0.0 255.255.255.224 U 0 0 0 eth0
10.10.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
0.0.0.0 1.2.3.65 0.0.0.0 UG 0 0 0 eth0
有什么想法,为什么无法从其他服务器访问 IPMI?
编辑
使用的 IPMI 是“英特尔远程管理模块 (RMM)”,它使用配置用于管理并与操作系统共享的共享 NIC(根据手册)。
该服务器 - 以及子网之外的任何外部服务器 - 都可以毫无问题地连接到 IMPI。
Server1 的 RMM 的网络配置是:
IP Address: 1.2.3.71
Subnet Mask: 255.255.255.224
Default Gateway: 1.2.3.65
从服务器到其自己的 IPMI 的跟踪路由显示以下内容
traceroute to 1.2.3.71 (1.2.3.71), 30 hops max, 60 byte packets
1 static.25.184.x.y.clients.your-server.de (y.x.184.25) 0.921 ms 0.914 ms 0.941 ms
2 static.71.3.2.1.clients.your-server.de (1.2.3.71) 10.457 ms 10.460 ms 10.446 ms
答案1
我认为你最大的问题是(曾经是):
# default route to access subnet
up route add -net 1.2.3.64 netmask 255.255.255.224 gw 1.2.3.65 eth0
这会导致为物理连接(本地)的网络定义路由,而不是路由(需要网关/路由)。此路由优先于链路本地流量(它首先出现在路由表中)。
这样配置的系统将无法直接与路由网络上的其他主机通信,因为它会将所有流量导向网关,并依靠网关来转发流量。
1.2.3.65 似乎没有将数据包从接收它们的接口/网络转发出去(即数据包来自 1.2.3.64/27,目的地是 1.2.3.64/27 网络,因此显然不需要转发)。这阻止了服务器与 1.2.3.64/27 网络上的其他主机进行间接通信。如果没有直接通信能力和间接通信能力(从网关反弹),则无法进行通信。
请注意,服务器可以在 10.10.10.0/24 网络上相互通信,该网络运行正常,这可能是 /etc/hosts 或 DNS 中为主机配置的 IP 地址。我怀疑单个服务器无法访问 1.2.3.64/27 网络 IP 地址上的其他服务器。
如果删除为 1.2.3.64/27 配置的路由,则为每个系统(RMM 和服务器)配置的默认网关应该是您需要的所有路由。
唯一奇怪的是,RMM 正在响应发往它的流量(第 3 层),即使它是针对网关寻址的(第 2 层)。我的猜测是,由于它们共享一个接口,因此 RMM 会在数据包通过时对其进行拦截,而不管 MAC 地址之类的愚蠢信息。交换机尊重 MAC 地址,不广播数据包,因此 RMM 看不到发往网关的其他物理设备的数据包。