子网内某些 IP 无法访问

子网内某些 IP 无法访问

我运行 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 看不到发往网关的其他物理设备的数据包。

相关内容