Co powoduje upuszczanie pakietów odpowiedzi ARP w sieci bezprzewodowej?


1

Mam sieć bezprzewodowych punktów dostępowych (AP) w mojej sieci lokalnej (LAN).

Niektóre komputery w sieci mogą odbierać odpowiedzi ping od innych komputerów / urządzeń w sieci, ale nie innych. Nie znalazłem wiarygodnego wzoru, ale w skrócie może to być coś takiego:

Powiedzmy, że mamy komputer Alice, Wifi AP Bob i kolejne Wifi AP / urządzenie Charlie.

Alice może pingować do Boba, Bob może pingować do Charliego, ale Alice nie może pingować do Charliego. („ping” oznacza możliwość uzyskania odpowiedzi ping) Wyłączyłem już wszystkie zapory ogniowe i zezwoliłem na wszystkie odpowiedzi ICMP.

Za pomocą Wiresharka i tcpdumpa wydedukowałem, że pakiet żądania ARP (opcode 1) od Alice był w stanie dotrzeć do zamierzonego miejsca docelowego Charlie, a Charlie odesłał pakiet odpowiedzi ARP (opcode 2), który nie dotarł do Alice.

Jakie mogą być możliwe niedociągnięcia techniczne powodujące taki błąd?

Jak mogę debugować tę sytuację?

Zakładając, że mam pewną kontrolę programistyczną, ponieważ używam OpenWRT, jak mogę rozwiązać ten problem?

Zabawne jest to, że kiedy zmieniłem nazwę komputera z systemem Windows 8, problem ten został rozwiązany. Nie jestem pewien, czy jest to przypadek post hoc ergo propter hoc.

Aktualizacja: AP / urządzenia / komputery znajdują się w tej samej podsieci, połączone za pomocą trybu mostu.


Kiedy używasz polecenia ping, czy używasz adresów IP lub nazw do rozwiązania?
MariusMatutiae

Podczas pingowania używam adresów IP.
tech

Odpowiedzi:


1

Chociaż nie jestem zbyt obeznany z zaawansowaną konfiguracją w OpenWRT (jest to na mojej liście rzeczy do zrobienia dla projektów maniaków), moją pierwszą radą byłoby upewnienie się, że nie używasz NAT na „Bobie”. Gdyby Alice była po stronie LAN WAP, a Charlie po stronie WAN, wtedy Alice byłaby w stanie pingować Charliego, ale nie odwrotnie. To nieodłączna zapora sieciowa zapewniana przez NAT.

Aby tak się nie stało, wszystkie twoje punkty dostępowe muszą działać w jakiejś formie trybu „pomostowego” lub trybu „punktu dostępowego”. Oznacza to, że urządzenie działa jako mniej więcej jako spedytor pakietów - nie wykonuje własnego routingu ani kontroli pakietów. Najłatwiejszym sposobem osiągnięcia tego na tańszych routerach jest wyłączenie serwera DHCP w routerze, a następnie podłączenie jednego z portów LAN do sieci (a także upewnienie się, że adres IP LAN routera nie będzie kolidował z rzeczywistą bramą). Zostaw wiszący port WAN. Jeśli router narzeka (większość tego nie robi), ustaw połączenie internetowe na statyczny adres IP i użyj czegoś takiego jak 223.255.255.254 z maską podsieci 255.255.255.252 dla adresu i 223.255.255.253 dla bramy. (Ciekawostki: to ostatnia podsieć klasy C o najmniejszym możliwym rozmiarze).

Inną możliwością może być niedopasowanie maski podsieci. Każdy komputer w tej samej sieci musi mieć skonfigurowaną tę samą maskę podsieci (oczywiście oczywiście będąc w tej samej rzeczywistej sieci). Komputer używa maski podsieci do określenia nie tylko adresu rozgłoszeniowego IP, ale również do ustalenia, czy odebrane pakiety rozgłoszeniowe powinny być przetwarzane przez stos sieciowy (tj. jeśli pakiety rozgłoszeniowe dla adresów IP, które wykraczałyby poza adres i maskę podsieci skonfigurowaną na urządzeniu, wiele urządzeń zignoruje pakiet).

Mam nadzieję, że to przynajmniej trochę pomaga.


Dziękuję, fdmillion. Przepraszam, że nie wspomniałem o tym i mogło to być mylące: W rzeczywistości AP / urządzenia / PC są w tej samej podsieci. Być może brakowało adresów MAC w tabeli ARP niektórych urządzeń.
tech

1

Co powoduje upuszczanie pakietów odpowiedzi ARP w sieci bezprzewodowej?

Nic. Gdybyśmy byli świadkami prawidłowego upuszczania pakietów, nie byłoby powodu, aby były preferencyjnie upuszczane. W obecności wadliwej linii komunikacyjnej pakiety ARP nie różnią się niczym od UDP, TCP i tak dalej. Ponieważ jednak nie twierdzisz, że linia jest powolna, nie ma prawdziwego powodu, aby podejrzewać prawdziwe upuszczanie pakietów.

Powodem, dla którego pakiety nie osiągają zamierzonego celu, jest nieprawidłowe przekierowanie. Wskazałeś jednak, że pakiety, które magicznie znikają, są pakietami ARP, które nie wymagają właściwego routingu, ponieważ spontanicznie wypełniają całą podsieć, do której należą.

Stąd komputery są (najprawdopodobniej) członkami dwóch różnych podsieci. Pakiety ARP nie przechodzą przez bramy, a jednym z powodów ich usunięcia jest to, że wypełniają własną podsieć, nie znajdują respondenta, a następnie znikają bez przekraczania bramy oddzielającej dwie różne podsieci.

Przynależność do dwóch oddzielnych podsieci byłaby maskowana, gdyby tak powiedzieć, gdybyś używał nazw zamiast adresów IP. Jeśli zamiast tego użyjesz adresów IP, natychmiast zorientujesz się, że te dwa komputery znajdują się w różnych podsieciach. Stąd moje pytanie powyżej.

Czy możesz obejść ten problem? Oczywiście, że możesz. Będziesz musiał zidentyfikować bramę podsieci, do której nie można się dostać (nazwijmy to G2), zezwolić na połączenia przychodzące z większej sieci LAN, a następnie poinstruować bramę całej sieci LAN (G1, ta bezpośrednio za modemem, lub router ADSL, w zależności od tego, czy trasa do tej podsieci nie prowadzi przez nią samą, G1, ale przez G2.


Dziękuję Marius. Przepraszam, że nie wspomniałem o tym i mogło to być mylące: W rzeczywistości AP / urządzenia / PC są w tej samej podsieci. Być może brakowało adresów MAC w tabeli ARP niektórych urządzeń.
tech
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.