Linux

網路介面未註冊 ARP 響應

  • November 13, 2014

我有一個帶有兩個 NIC 的伺服器,它執行的是 Ubuntu Server 14.04。第一個是介面“p3p1”,它連接到子網 192.168.1.0/24,IP 為 192.168.1.100。第二個是介面“em1”,它連接到子網 192.168.100.0/24,IP 為 192.168.100.1。

我的伺服器可以ping通192.168.1.0/24子網的所有主機,但是無法ping通192.168.100.0/24的主機。

當我嘗試 ping 到子網 192.168.100.0/24 上的主機 (192.168.100.20) 時,我可以看到我的伺服器的 ARP 請求和主機的 ARP 響應告訴伺服器他的 MAC 地址。但是當我嘗試查看伺服器的 arp 表時,它告訴我們:

"? (192.168.100.20) at <incomplete> on em1"

當我嘗試使用主機 (192.168.1.20) ping 到伺服器 (192.168.100.1) 時,我可以看到主機的 ARP 請求,但我沒有得到伺服器的響應。

如果我在伺服器 ARP 表中手動添加主機的 MAC 地址,則 ping 可以正常工作。

我認為 ARP 服務對“em1”介面不起作用,但我不知道如何修復。

有我的配置:

ARP表

thegorlie@serv-io ~> arp -a
? (192.168.100.20) at <incomplete> on em1
? (192.168.1.1) at e0:ce:c3:f5:be:56 [ether] on p3p1
? (192.168.1.14) at 08:3e:8e:dd:05:e7 [ether] on p3p1

如果配置

em1       Link encap:Ethernet  HWaddr 74:d4:35:e7:62:16
         inet addr:192.168.100.1  Bcast:192.168.100.255  Mask:255.255.255.0
         inet6 addr: xxxx::xxxx:35ff:fee7:6216/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:0 errors:0 dropped:0 overruns:0 frame:0
         TX packets:72 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000
         RX bytes:0 (0.0 B)  TX bytes:5422 (5.4 KB)
         Interrupt:20 Memory:f7e00000-f7e20000

lo        Link encap:Local Loopback
         inet addr:127.0.0.1  Mask:255.0.0.0
         inet6 addr: ::1/128 Scope:Host
         UP LOOPBACK RUNNING  MTU:65536  Metric:1
         RX packets:909 errors:0 dropped:0 overruns:0 frame:0
         TX packets:909 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0
         RX bytes:91970 (91.9 KB)  TX bytes:91970 (91.9 KB)

p3p1      Link encap:Ethernet  HWaddr 74:d4:35:e7:62:14
         inet addr:192.168.1.100  Bcast:192.168.1.255  Mask:255.255.255.0
         inet6 addr: xxxx:xxxx:xxxx:3a80:76d4:35ff:fee7:6214/64 Scope:Global
         inet6 addr: xxxx::xxxx:xxxx:fee7:6214/64 Scope:Link
         inet6 addr: xxxx:xxxx:xxxx:3a80:2d32:f878:e435:69ec/64 Scope:Global
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:0 errors:0 dropped:27756 overruns:0 frame:0
         TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000
         RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
         Interrupt:19

ARP手動請求

thegorlie@serv-io ~> arping -c 1 -I em1 192.168.100.20
ARPING 192.168.100.20 from 192.168.100.1 em1
Sent 1 probes (1 broadcast(s))
Received 0 response(s)

伺服器 ping 主機時在主機上擷取 Wireshark

Giga-Byt_e7:62:16   Broadcast   ARP 60  Who has 192.168.100.20?  Tell 192.168.100.1
Sony_c8:7a:a3   Giga-Byt_e7:62:16   ARP 42  192.168.100.20 is at 30:f9:ed:c8:7a:a3
Giga-Byt_e7:62:16   Broadcast   ARP 60  Who has 192.168.100.20?  Tell 192.168.100.1
Sony_c8:7a:a3   Giga-Byt_e7:62:16   ARP 42  192.168.100.20 is at 30:f9:ed:c8:7a:a3
Giga-Byt_e7:62:16   Broadcast   ARP 60  Who has 192.168.100.20?  Tell 192.168.100.1
Sony_c8:7a:a3   Giga-Byt_e7:62:16   ARP 42  192.168.100.20 is at 30:f9:ed:c8:7a:a3

主機 ping 伺服器時主機上的 Wireshark 擷取

Sony_c8:7a:a3   Broadcast   ARP 42  Who has 192.168.100.1?  Tell 192.168.100.20
Sony_c8:7a:a3   Broadcast   ARP 42  Who has 192.168.100.1?  Tell 192.168.100.20
Sony_c8:7a:a3   Broadcast   ARP 42  Who has 192.168.100.1?  Tell 192.168.100.20
Sony_c8:7a:a3   Broadcast   ARP 42  Who has 192.168.100.1?  Tell 192.168.100.20
Sony_c8:7a:a3   Broadcast   ARP 42  Who has 192.168.100.1?  Tell 192.168.100.20

我發現了問題。

問題是有一些錯誤的驅動程序。我下載了嵌入在主機板 (GA-Z97N-WIFI) 中的乙太網卡 (Intel® Ethernet Connection I217-V) 的最新版本的驅動程序並安裝了它。它沒有問題。

引用自:https://unix.stackexchange.com/questions/166933