WiFi 範圍擴展器和 ARP 請求失敗

WiFi 範圍擴展器和 ARP 請求失敗

我正在處理網絡,如下所述 - BT HomeHub 5 和 Netgear EX6150 WiFi 擴展器。網路上還有其他點,但為了簡潔起見,我將它們省略了,所有粉紅色虛線都是 WiFi。

網路圖

我看到的問題是 PC 1不能將不會) 與 PC 2 通信,但與我的手機通信將要。當然,我的手機能夠直接跳過並連接到擴展器,目前我不能排除這一點。

同樣的情況代表 PC 1 嘗試與 WiFi 擴充器上的其他主機通訊。

所有主機都可以存取網際網路。


我發現擴展器將“蒙格「 MAC 位址,但我不太能弄清楚為什麼。例如,PC 2 的 MAC 位址是88:b1:11:f4:e0:66,但路由器的介面(以及連接到路由器的主機)將看到它以 進行通訊02:0f:b5:f4:e0:66。裡面有一段寫得很糟糕手動的第33頁,而且似乎沒有辦法將其關閉。我看不出有任何技術原因,目前我認為這是問題的關鍵部分。


是時候講技術了。

  • PC 1 是192.168.1.74/ 1c:3e:84:c8:0c:08(由作業系統報告)
  • PC 2 是192.168.1.16/ 88:b1:11:f4:e0:66(由作業系統報告)

我的手機將愉快地掃描網路(使用),發現主機,並對其執行 ping 操作...如前所述,PC 1 不會。

我嘗試手動將 PC 2 的位址資訊新增至 PC 1 的 ARP 表:

C:\WINDOWS\system32>netsh interface ip add neighbors 14 192.168.1.16 02-0f-b5-f4-e0-66


C:\WINDOWS\system32>arp -a

Interface: 192.168.1.74 --- 0xe
  Internet Address      Physical Address      Type
  ...
  192.168.1.16          02-0f-b5-f4-e0-66     static
  ...

C:\WINDOWS\system32>ping 192.168.1.16

Pinging 192.168.1.16 with 32 bytes of data:
Request timed out.
Request timed out.
Request timed out.
Request timed out.

Ping statistics for 192.168.1.16:
    Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),

C:\WINDOWS\system32>

所以這顯然不是只是ARP 問題。

從 PC 2 的角度來看,我tcpdump在 ping 過程中進行了以下操作:

$ tcpdump -enr dump.cap
11:37:45.730405 1c:3e:84:c8:0c:08 > 88:b1:11:f4:e0:66, ethertype IPv4 (0x0800), length 74: 192.168.1.74 > 192.168.1.16: ICMP echo request, id 1, seq 1317, length 40
11:37:45.730468 88:b1:11:f4:e0:66 > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 42: Request who-has 192.168.1.74 tell 192.168.1.16, length 28
11:37:45.764667 1c:3e:84:c8:0c:08 > 88:b1:11:f4:e0:66, ethertype ARP (0x0806), length 42: Reply 192.168.1.74 is-at 1c:3e:84:c8:0c:08, length 28
11:37:45.764678 88:b1:11:f4:e0:66 > 1c:3e:84:c8:0c:08, ethertype IPv4 (0x0800), length 74: 192.168.1.16 > 192.168.1.74: ICMP echo reply, id 1, seq 1317, length 40

在 ICMP 回顯請求之前沒有任何內容who-has,因為我們已經手動列出了這一點...但 PC 2 在成功的 ARP 查詢後明確響應回顯回复1c:3e:84:c8:0c:08- 好東西 - 但 PC 1 聲稱從未收到它。

另外,在 ping 之後,PC 2 在其 ARP 表中具有 PC 1 的位址(我之前將其刪除):

$ arp -n
Address                  HWtype  HWaddress           Flags Mask            Iface
...
192.168.1.74             ether   1c:3e:84:c8:0c:08   C                     wlp3s0
...

在 PC 1 和 PC 2 上使用 Wireshark 重複執行 ping 操作tcpdump會顯示以下內容(請參閱下方的轉儲):

  • 來自 PC 1 → PC 2 的流量似乎沒問題
    • 沒有對來源進行 MAC 修改
  • 只有在廣播時才會接收來自 PC 2 → PC 1 的流量(例如:ARP 請求)
    • 那裡來源的 MAC 修改

電腦1

$ tcpdump -enr pc1_dump4.cap
reading from file pc1_dump4.cap, link-type EN10MB (Ethernet)
12:17:59.525610 1c:3e:84:c8:0c:08 > 02:0f:b5:f4:e0:66, ethertype IPv4 (0x0800), length 74: 192.168.1.74 > 192.168.1.16: ICMP echo request, id 1, seq 1330, length 40
12:17:59.641049 02:0f:b5:f4:e0:66 > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 42: Request who-has 192.168.1.74 tell 192.168.1.16, length 28
12:17:59.641080 1c:3e:84:c8:0c:08 > 02:0f:b5:f4:e0:66, ethertype ARP (0x0806), length 42: Reply 192.168.1.74 is-at 1c:3e:84:c8:0c:08, length 28
12:18:04.345340 1c:3e:84:c8:0c:08 > 02:0f:b5:f4:e0:66, ethertype IPv4 (0x0800), length 74: 192.168.1.74 > 192.168.1.16: ICMP echo request, id 1, seq 1331, length 40
12:18:09.346886 1c:3e:84:c8:0c:08 > 02:0f:b5:f4:e0:66, ethertype IPv4 (0x0800), length 74: 192.168.1.74 > 192.168.1.16: ICMP echo request, id 1, seq 1332, length 40
12:18:14.347539 1c:3e:84:c8:0c:08 > 02:0f:b5:f4:e0:66, ethertype IPv4 (0x0800), length 74: 192.168.1.74 > 192.168.1.16: ICMP echo request, id 1, seq 1333, length 40

電腦2

$ tcpdump -enr pc2_dump4.cap
reading from file dump4.cap, link-type EN10MB (Ethernet)
12:18:02.206931 1c:3e:84:c8:0c:08 > 88:b1:11:f4:e0:66, ethertype IPv4 (0x0800), length 74: 192.168.1.74 > 192.168.1.16: ICMP echo request, id 1, seq 1330, length 40
12:18:02.206995 88:b1:11:f4:e0:66 > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 42: Request who-has 192.168.1.74 tell 192.168.1.16, length 28
12:18:02.289242 1c:3e:84:c8:0c:08 > 88:b1:11:f4:e0:66, ethertype ARP (0x0806), length 42: Reply 192.168.1.74 is-at 1c:3e:84:c8:0c:08, length 28
12:18:02.289254 88:b1:11:f4:e0:66 > 1c:3e:84:c8:0c:08, ethertype IPv4 (0x0800), length 74: 192.168.1.16 > 192.168.1.74: ICMP echo reply, id 1, seq 1330, length 40
12:18:07.122444 1c:3e:84:c8:0c:08 > 88:b1:11:f4:e0:66, ethertype IPv4 (0x0800), length 74: 192.168.1.74 > 192.168.1.16: ICMP echo request, id 1, seq 1331, length 40
12:18:07.122484 88:b1:11:f4:e0:66 > 1c:3e:84:c8:0c:08, ethertype IPv4 (0x0800), length 74: 192.168.1.16 > 192.168.1.74: ICMP echo reply, id 1, seq 1331, length 40
12:18:12.037691 1c:3e:84:c8:0c:08 > 88:b1:11:f4:e0:66, ethertype IPv4 (0x0800), length 74: 192.168.1.74 > 192.168.1.16: ICMP echo request, id 1, seq 1332, length 40
12:18:12.037729 88:b1:11:f4:e0:66 > 1c:3e:84:c8:0c:08, ethertype IPv4 (0x0800), length 74: 192.168.1.16 > 192.168.1.74: ICMP echo reply, id 1, seq 1332, length 40
12:18:17.170982 1c:3e:84:c8:0c:08 > 88:b1:11:f4:e0:66, ethertype IPv4 (0x0800), length 74: 192.168.1.74 > 192.168.1.16: ICMP echo request, id 1, seq 1333, length 40
12:18:17.171025 88:b1:11:f4:e0:66 > 1c:3e:84:c8:0c:08, ethertype IPv4 (0x0800), length 74: 192.168.1.16 > 192.168.1.74: ICMP echo reply, id 1, seq 1333, length 40

如果我反轉方向(PC 2 向 PC 1 發送回顯請求),則 PC 1 永遠不會看到該請求。

停用 Windows 防火牆沒有幫助。

作為最後的手段,透過乙太網路將 PC 1 連接到路由器可以解決該問題...但是,這目前不是可接受的解決方案。

有人可以幫忙嗎?

相關內容