我管理着 34 台 Debian 服务器。其中两台是带磁盘的机器(从硬盘启动),其余 32 台是无磁盘的 PXE 客户端。
两台带有磁盘的机器称为 uni01 和 uni02。uni01 通过 NFS 将单个系统映像发送到执行网络启动的节点(它还运行 DHCP + TFTP)。
该网络是 A 类子网(掩码 255.255.252.0)。问题是,一特定节点 (uni19) 无法连接 uni02。它们位于同一子网中,除此主机外,其他主机都可以正常连接。
root@uni19:~# traceroute uni02
traceroute to uni02 (10.248.212.216), 30 hops max, 60 byte packets
1 uni19 (10.248.212.255) 2997.791 ms !H 2997.789 ms !H 2997.784 ms !H
但是 arping 适用于 uni02:
root@uni02:/home/einar# arping uni19
ARPING 10.248.212.255
60 bytes from 10:1f:74:2c:78:aa (10.248.212.255): index=0 time=172.946 usec
60 bytes from 10:1f:74:2c:78:aa (10.248.212.255): index=1 time=208.391 usec
不适用于 uni19:
root@uni19:~# arping uni02
ARPING 10.248.212.216
^C
--- 10.248.212.216 statistics ---
4 packets transmitted, 0 packets received, 100% unanswered (0 extra)
路由表:
root@uni19:~# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default uni01 0.0.0.0 UG 0 0 0 eth0
10.248.212.0 * 255.255.252.0 U 0 0 0 eth0
root@uni02:~# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default uni01 0.0.0.0 UG 0 0 0 eth0.682
10.248.212.0 * 255.255.252.0 U 0 0 0 eth0.682
10.248.216.0 10.248.212.1 255.255.255.0 UG 0 0 0 eth0.682
10.248.217.0 10.248.212.1 255.255.255.0 UG 0 0 0 eth0.682
uni01 和 uni02 使用 VLAN 的特定接口,但所有其他主机都已切换到同一个 VLAN 才能进行通信(事实上,uni01 也在同一个 VLAN 上,但所有服务器都能够进行 PXE 启动)。
我该怎么做才能解决这个问题?我已经确认没有防火墙。
答案1
PEBKAC。这是我唯一能描述的方式。
发生这种情况的原因是:分配/etc/network/interfaces
的错误的广播地址到 uni02 中的接口,碰巧该地址是 uni19 使用的地址。因此我替换了广播地址,一切正常。