Linux

網路故障排除:子網內兩台主機無法通信,其他主機正常

  • July 11, 2013

我正在處理 34 台 Debian 伺服器。其中兩台是有盤機器(從它們的 HD 引導),其餘 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 引導)。

我能做些什麼來解決這個問題?我已經確認沒有防火牆。

PEBKAC。這是我可以描述的唯一方式。

發生這種情況的原因: uni02 中的介面/etc/network/interfaces分配了錯誤的廣播地址,該地址偶然是 uni19 使用的地址。所以我更換了廣播地址,一切都很好。

引用自:https://serverfault.com/questions/522510