Jakie są przyczyny niekompletnego ARP?

Jak wspomniano w tym poście :

Powód za zobaczenie niekompletnego ARP jest to, że „Wysłano żądanie ARP dla tego adresu, ale host o tym adresie nie działa w sieci LAN, więc nie ma odpowiedzi”

Tak więc, jeśli przełącznik wielowarstwowy wyśle żądanie ARP do serwera i nie otrzyma odpowiedzi, protokół ARP zostanie oznaczony jako niekompletny w tabeli ARP przełącznika.

Ale co, jeśli serwer wyśle żądanie ARP do przełączyć, ale nie otrzymuje odpowiedzi? Czy serwer wyświetli niekompletny ARP w swojej tablicy ARP, a przełącznik nie wyświetli żadnego wpisu?

Zakładając, że powyższe jest poprawne, czy możemy powiedzieć, że jeśli widzisz niekompletny wpis ARP na urządzeniu lokalnym, problem jest z urządzeniem na drugim końcu połączenia (lub okablowania)? A może są jakieś wyjątki?

Komentarze

  • Jak wskazuje @RonTrunk, przełącznik jest przezroczystym urządzeniem warstwy 2, które nie wie lub nie obchodzi o adresowaniu warstwy 3 (IP), więc nie ' nie używa ani nie odpowiada na protokół ARP. Przełącznik może być zarządzany, więc zarządzanie przełącznikiem jest jak host w sieci i ma interfejs warstwy 3, który używa i odpowiada na ARP, ale nie ma to nic wspólnego z funkcją przełączania, która nadal nic nie wie o warstwie-3. Nie ' nie mylić protokołu ARP na urządzeniach warstwy 3 z tablicą adresów MAC przełączników. Wiele osób je myli.
  • Czy przełącznik działa jako brama L3, czy tylko jako przełącznik L2?
  • @cpt_fink, tak by ” switch ” Miałem na myśli przełącznik wielowarstwowy (brama L3)

Odpowiedź

W przypadku przełącznika warstwy 3 moduł warstwy 3 w przełączniku jest routerem i działa tak samo jak router, który działa jak każdy inny host dla protokołu ARP. Przełącznik warstwy 3 jest nadal przede wszystkim przełącznikiem warstwy 2, a przełącznik warstwy 2 nadal działa tak samo, jak przełącznik warstwy 2. Części warstwy 3 i warstwy 2 przełącznika warstwy 3 są naprawdę oddzielne. Interfejsy warstwy 3 (zarówno interfejsy wirtualne, jak i wszelkie interfejsy fizyczne skonfigurowane jako interfejsy warstwy 3) będą używać tabeli ARP, ale interfejsy warstwy 2 będą używać tabeli adresów MAC.

Gdy host, w tym router lub moduł routingu w przełączniku warstwy 3, wysyła żądanie ARP i nie otrzymuje odpowiedzi, oznacza wpis w tablicy ARP jako incomplete.

Ale co, jeśli serwer wyśle żądanie ARP do przełącznika, ale nie otrzyma odpowiedzi? Czy serwer wyświetli niepełne ARP w swojej tablicy ARP, a przełącznik nie wyświetli żadnego wpisu?

To zależy. Jeśli host wysyła żądanie ARP do innego hosta, w tym routera, ale nie otrzymał jeszcze odpowiedzi, wpis w tablicy ARP hosta zostanie oznaczony jako incomplete jako adres IPv4 routera.

To, co router ma w swojej tablicy ARP, zależy od tego, czy router otrzymał żądanie ARP i czy router ma już wpis w tablicy ARP dla hosta.

  • Router z istniejącym wpisem w tablicy ARP dla hosta będzie miał ten wpis, dopóki router nie wyczyści go z powodu przekroczenia limitu czasu. Limit czasu nie jest wymagany przez RFC, ale RFC ma sekcję, która zajmuje się możliwością wykorzystania limitu czasu dla wpisów w tablicy ARP, a większość hostów robi to:

    Może być pożądane przedawnienie tabeli i / lub przekroczenie limitu czasu. Ich implementacja jest poza zakresem tego protokołu.

  • Jeśli router nigdy nie otrzymał żądania ARP i nie miał wpisu dla hosta, nie będzie wpisu w tablicy ARP routera.
  • Jeśli router otrzymał żądanie ARP od hosta, ale odpowiedź zwrotna do hosta została utracona, router będzie miał pełny ARP wpis w tabeli dla hosta.

Aby zrozumieć, jak działa ARP, przeczytaj RFC 826, An Protokół rozpoznawania adresów Ethernet – lub – Konwersja adresów protokołu sieciowego na 48-bitowy adres Ethernet do transmisji na sprzęcie Ethernet . Pamiętaj, że ARP działa z IPv4, ale nie dla IPv6, który ma ND (Neighbor Discovery) zamiast ARP.

Odpowiedź

Pomyślne rozwiązanie ARP jest wymagane, aby dwa węzły IPv4 komunikowały się we wspólnym segmencie warstwy 2 (zwykle Ethernet).

Niekompletne żądania ARP mają dwa podstawowe powody.

  1. Żądanie ARP nie zostało odebrane. Albo węzeł docelowy nie otrzymał żądania ARP, albo jego odpowiedź nie została odebrana. Węzeł docelowy może być wyłączony.

  2. Maska sieci węzła źródłowego nie jest poprawnie skonfigurowana.Węzeł źródłowy traktuje wszystkie miejsca docelowe we własnej podsieci jako lokalne lub na łączu: oczekuje, że będzie w stanie rozmawiać z nimi bezpośrednio przez swój interfejs Ethernet, bez pomocy routera bramkowego.

    Gdy np. Węzeł w podsieci 192.168.0.0/24 jest nieprawidłowo skonfigurowany jako 192.168.0.10/16 i traktuje miejsce docelowe jak 192.168.16.1 lokalnie. Nie spróbuje użyć bramy, ale spróbuje bezpośredniego ARP, który pozostaje niekompletny.

Czy węzeł źródłowy lub docelowy / następnego przeskoku jest routerem, przełącznikiem wielowarstwowym lub węzeł końcowy nie ma znaczenia.

Odpowiedź

Tablica ARP przełącznika jest używana tylko przez interfejs zarządzania przełącznikiem dla ruchu IP generowane przez sam przełącznik.

W przeciwnym razie przełączniki patrzą tylko na informacje warstwy 2. Nie rozumieją protokołu ARP.

Komentarze

  • tak, chodziło mi o przełącznik wielowarstwowy

Odpowiedź

Inny możliwy powód – nieprawidłowe ustawienia dhcpcd

Dodaję tę odpowiedź, chociaż (prawdopodobnie) nie jest ona bezpośrednio związana z konkretnym pytaniem powyżej, ma znaczenie w niektórych przypadkach

Jeśli ustawienia statycznego adresu IP / dhcp systemu są nieprawidłowe, to może pojawić się jako pośredni efekt uboczny.

W moim konkretnym przypadku miałem komputer z Linuksem, na którym przeniosłem lokalizacje i zmieniłem ustawienia sieciowe ngs for.

Zapomniałem zaktualizować je w /etc/dhcpcd.conf, kiedy przeniosłem komputer z powrotem.

To jest mój dhcpcd.conf

interface eth0 static ip_address=192.168.1.8/24 static routers=192.168.1.254 #static routers=192.168.1.1 static domain_name_servers=127.0.0.1 

Kiedy był ” uszkodzony „, linia static routers=192.168.1.254 została zakomentowana, a wiersz poniżej #static routers=192.168.1.1 został odkomentowany.

To spowodowało, że arp wyświetlił nieprawidłowy wpis (” niekompletny „) dla adres 192.168.1.1.

Mimo że przeniosłem ten system dopiero tydzień temu, a potem przeniosłem go kilka dni temu, nie miałem absolutnie pojęcia, co jest nie tak z tym. O ile mogłem stwierdzić, mogłem podłączyć go do mojej sieci lokalnej, ssh do niego dobrze i nie było żadnych problemów z wyświetlaniem ip addr. traceroute również nie wyświetlał żadnych przydatnych informacji, sugerował tylko, że wszystkie zapytania przechodziły przez jeden przeskok do ” nazwy hosta komputera „. Oczywiście to nie miało sensu i było błędne, ale nie dało mi żadnych wskazówek, na czym polegał problem – sugerowało to, że wszystkie zapytania zostały rozwiązane (w jakiś sposób) w ta sama maszyna. Nawiasem mówiąc, ta maszyna obsługuje DNS.

Nie jest to bezpośrednio związane z kwestią OP, ale może być bardzo przydatne dla innych, którzy mają ten problem w przyszłości, i jest to jedyny sposób, w jaki do tej pory udało Ci się znaleźć zdiagnozuj to, ponieważ niewiele innego wydaje się być błędne!

Tylko kilka uwag na temat tego, jak to zdiagnozowałem

  • Podczas używania tego komputera jako serwera DNS dla innych komputerów na sieć, te maszyny nie były w stanie obsłużyć zewnętrznych żądań DNS
  • Mogłem ssh do serwera DNS (można by się tego spodziewać, ponieważ jego adres IP jest ustawiony statycznie, a przełącznik / router również oczekuje, że zobaczy maszynę z tym statyczny adres IP podłączony do lokalnej sieci Ethernet przez przełącznik).
  • Pierwszą rzeczą, która wskazywała na jakiś problem, była awaria sudo apt update. (Ponieważ jest to serwer DNS, nie ma interfejsu graficznego i dlatego chociaż uruchomienie czegoś w rodzaju przeglądarki internetowej wskazałoby ten problem znacznie wcześniej lub z poziomu ikony sieciowej na pulpicie, nie ma żadnej z tych rzeczy).
  • ping 8.8.8.8 również kończyło się niepowodzeniem, jednak ssh i pingowanie lokalnych maszyn było w porządku
  • Sprawdziłem /etc/network/interfaces[.d] jednak wszystkie pliki w tych katalogach były puste / ustawione na domyślne, ponieważ oprogramowanie DNS nimi zarządza
  • Nie było błędów / ostrzeżeń w oprogramowaniu DNS podczas łączenia się z serwerem DNS przez dostarczony interfejs sieciowy
  • Zacząłem sprawdzać takie rzeczy jak ip addr (bez problemów) i arp. Już powiedziałem traceroute nie” nie wskazuje na czym może być problem, ale wskazuje, że dzieje się coś dziwnego.
  • Wyszukiwanie powodów, dla których arp mógł mieć niekompletny wpis i poprowadził mnie we właściwych wierszach
  • Znalazłem to pytanie ( https://serverfault.com/questions/765380/when-do-stale-arp-entries-become-failed-when-never-used ) i zacząłem sprawdzać, jak usunąć wpisy arp.
  • Usunąłem wpis za pomocą arp -d 192.168.1.1
  • Jednak ciągle wracało
  • Próbowałem połączyć się z 192.168.1.1 w mojej sieci lokalnej z innej maszyny, jednak nie zdziwiłem się, że nie mogłem tego zrobić ani wysłać polecenia ping, ponieważ w mojej sieci nie ma komputerów o tym adresie
  • Zwykle ten adres byłby adresem Twojej bramy / routera usługodawcy internetowego w aplikacje domowe
  • Przypomniało mi to, że ustawiłem kartę sieciową w innym miejscu tak, aby miała adres 192.168.1.1 i że komputer, który był podłączony do tego adresu był używany jako router do łączenia sieci 192.168.0.X i 192.168.1.X
  • Pierwotna lokalizacja to sieć 192.168.1.X, lokalizacja, do której się przeniosłem, to 192.168.0.X
  • Ponieważ większość 192.168.1.X/24 sieci używają 192.168.1.1 jako bramy domyślnej, ponieważ ten adres IP początkowo nie wzbudził żadnych podejrzeń i nie wydawał się ” dziwne ” z dowolnego powodu
  • Jednak zmieniłem domyślną bramę w dhcpcd.conf jak opisano powyżej i problem został rozwiązany.
  • Wyciągnięta lekcja, podczas tymczasowego tworzenia dziwnej sieci komputer-komputer poza siedzibą firmy, należy nadać karcie routera / karcie sieciowej dziwny statyczny adres IP, np. 192.168.1.50 – może to pomóc przypomnieć sobie lub wskazać, że coś niezwykłego jest ustawione gdzieś w pliku ustawień

Komentarze

  • Niestety, konfiguracje hosta / serwera nie są tu tematem, ale można je rozwiązać na awarii serwera w przypadku firm s.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *