私が取り組んでいるネットワークは、以下に示すとおり、BT HomeHub 5 と Netgear EX6150 WiFi エクステンダーです。ネットワーク上には他にもポイントがありますが、簡潔にするために省略しています。ピンクの破線はすべて WiFi です。
私が見ている問題は、PC 1できない(しない)はPC2と通信しますが、私の携帯電話意思もちろん、私の携帯電話にはエクステンダーに直接接続する機能があり、それがここで役割を果たしている可能性を現時点では排除できません。
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
(OS によって報告される) - PC 2 は
192.168.1.16
/88:b1:11:f4:e0:66
(OS によって報告される)
私の携帯電話は喜んでネットワークをスキャンします(フィン)、ホストを検出し、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 の問題。
tcpdump
PC 2 の観点からこれを見ると、 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 は1c:3e:84:c8:0c:08
ARP クエリが成功した後にエコー応答で明らかに応答します (これは良いことです)。しかし、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変更
PC1 パソコン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
PC2 パソコン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 をイーサネットでルーターに接続すると問題は解決しますが、これは現時点では受け入れられる解決策ではありません。
誰か助けてくれませんか?