1

Я работаю в сети, как описано ниже - BT HomeHub 5 и Netgear EX6150 WiFi extender. В сети есть и другие точки, хотя для краткости я их пропустил, а все розовые пунктирные линии - WiFi.

Диаграмма сети

Проблема, которую я вижу, состоит в том, что ПК 1 не может (не будет) связываться с ПК 2, но мой телефон будет. Конечно, у моего телефона есть возможность перепрыгивать и напрямую подключаться к экстендеру, и в настоящее время я не могу исключить это, играя роль здесь.

Такая же ситуация для ПК 1, пытающегося установить связь с другими хостами с помощью WiFi-расширителя.

Все хосты имеют доступ к интернету.


Я обнаружил, что расширитель будет " взламывать " MAC-адреса, но я не совсем понимаю, почему. Например, MAC-адрес ПК 2 - 88:b1:11:f4:e0:66 , но интерфейс маршрутизатора (и хосты, подключенные к маршрутизатору) будут видеть его как 02:0f:b5:f4:e0:66 . В руководстве на стр. 33 есть ужасно написанный раздел, и, похоже, нет способа его отключить. Я не вижу никакой технической причины для этого, и в настоящее время я делаю ставку на то, чтобы это было ключевой частью проблемы.


Время для технических битов.

  • ПК 1 - 192.168.1.74 / 1c:3e:84:c8:0c:08 (как сообщает ОС)
  • ПК 2 - 192.168.1.16 / 88:b1:11:f4:e0:66 (как сообщает ОС)

Мой телефон будет весело сканировать сеть (используя Fing), обнаруживать хост и пинговать его ... как упоминалось ранее, ПК 1 не будет.

Я попытался вручную добавить информацию об адресе ПК 2 в таблицу ARP ПК 1:

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.

Глядя на это с точки зрения ПК 2, я взял tcpdump во время пинга:

$ 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 , поскольку мы изложили это вручную ... но ПК 2 четко отвечает эхо-ответом на 1c:3e:84:c8:0c:08 после успешного запроса ARP - хорошая вещь - но ПК 1 утверждает, что никогда не получит его.

Кроме того, после пинга ПК 2 имеет адрес ПК 1 в своей таблице ARP (я удалил его раньше):

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

Повторение пинга с Wireshark на ПК 1 и tcpdump на ПК 2 показывает следующее (дампы см. Ниже):

  • Трафик с ПК 1 → ПК 2 выглядит нормально
    • MAC-адрес источника отсутствует
  • Трафик с ПК 2 → ПК 1 принимается, только если это широковещательная рассылка (например, запрос ARP)
    • Существует MAC munging источника

ПК 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

Если я изменяю направление (ПК 2 отправляет эхо-запросы на ПК 1), то ПК 1 никогда не видит запрос.

Отключение брандмауэра Windows не помогает.

В крайнем случае, подключение ПК 1 к маршрутизатору через Ethernet решает проблему ... однако в настоящее время это не является приемлемым решением.

Кто-нибудь может помочь?

0