Niedawno zauważyliśmy problem po przełączeniu awaryjnym routera, w którym nasze pudełka z systemem Windows 2008 nie zaczęły rozmawiać z głównym routerem po przywróceniu po awarii.
Kiedy trochę kopaliśmy, nadal mieli wpis ARP z routera pomocniczego. Według blogu TechNet jest to zgodne z projektem:
Po pierwsze, system Windows Vista lub Windows Server 2008 nie zaktualizuje pamięci podręcznej sąsiada, jeśli zostanie odebrana transmisja ARP, chyba że jest ona częścią żądania ARP emisji dla odbiornika . Oznacza to, że gdy darmowy ARP zostanie wysłany do sieci z Windows Vista i Widows Server 2008, systemy te nie zaktualizują pamięci podręcznej o nieprawidłowe informacje, jeśli wystąpi konflikt adresów IP.
Po drugie, wydaje się, że pamięć podręczna sąsiada systemu Windows (pamięć podręczna arp) jest aktualizowana tylko wtedy, gdy komputer nie może już komunikować się z maszyną, która jest w jego pamięci podręcznej. Nie wysyła od czasu do czasu żądań ARP, aby upewnić się, że pamięć podręczna nie jest przestarzała. Chociaż nie jest to problem podczas początkowego przełączania awaryjnego, podczas powrotu po awarii, gdy oba pudełka są aktywne, powoduje to, że okna nadal rozmawiają z dodatkowym urządzeniem.
Czy istnieje sposób zmusić system Windows 2008 do akceptowania nieodpłatnych żądań ARP?
Odpowiedzi:
Po przetestowaniu wydaje się, że poprawka 2582281 rozwiązuje problem. Możesz uzyskać poprawkę bez konieczności płacenia za pomoc, korzystając z jej strony z żądaniem poprawki .
Przeprowadziłem test tego przy użyciu
arping
i niezaładowanego systemu Windows 2008 R2. Dodałem dodatkowy adres IP, 64.34.119.80, do maszyny z tym samym segmentem sieci L2. Następnie wydałem następujące polecenie z innego komputera sieciowego (sudo arping -U 64.34.119.80 -I bond0 -c1
). Zaraz potem wysłałem ping do 64.34.119.80 z okna systemu Windows, po tym jak zobaczyłem, że otrzymałem arp w wireshark. Następnie zastosowałem poprawkę i powtórzyłem test.Wydaje się również, że polecenie arping nie musi używać adresu MAC emisji pojedynczej, ale MAC transmisji rozgłoszeniowej, ponieważ jest to jedyny typ GARP ignorowany w moich testach.
Przed łatką:
W tym przechwytywaniu Wireshark polecenie ping po żądaniu GARP nie jest wysyłane do miejsca docelowego MAC, z którego pochodzi GARP, więc można zobaczyć, że GARP jest ignorowany.
Po aktualizacji:
W tym teście po łatce żądanie GARP wydaje się być honorowane, ponieważ ping jest wysyłany na adres MAC, z którego pochodzi GARP.
Z tych testów wydaje się, że poprawka 2582281 rozwiązuje problem ignorowania transmisji GARP.
źródło
Podczas badania własnego problemu TCPIP natknąłem się na tę bardzo interesującą poprawkę:
http://support.microsoft.com/kb/2582281
To brzmi okropnie podobnie do tego, na co się natrafiasz. Jest to również zupełnie nowa poprawka, wydana 22.07.2011, więc nie było jej przy pierwszym uruchomieniu.
źródło
Spróbuj,
netsh interface ipv4 set interface x basereachable=y
gdzie x to indeks interfejsu, ay to limit czasu ARP w milisekundach, jaki chcesz. Pamiętaj, aby to zrobić z wiersza polecenia z uprawnieniami administratora!źródło
Jakiego protokołu redundancji pierwszego skoku używasz?
Wiem, że to nie odpowiada bezpośrednio na twoje pytanie, jednak VRRP (i jego zastrzeżony przodek, HSRP) używają wspólnego adresu MAC, który jest przełączany na nowy port przełącznika, gdy zmienia się router główny. To całkowicie eliminuje potrzebę darmowego ARP.
źródło
Wymagania wstępne
1. WinPCAP 4.0.1 (wersja 4.1.2 nie działa)
- http://www.winpcap.org/archive/4.0.1-WinPcap.exe (wersja Windows)
2. Wireshark 1.6.7
3. Wyłączono IPv6 na interfejsie sieciowym, z powodu ograniczeń arping
4. arping
- http://mathieu.carbou.free.fr/pub/arping/2.06/arping.zip (Windows Binary)
Wykonanie
1. Uzyskaj nazwę interfejsu
- „E: \ Program Files \ Wireshark \ tshark.exe "-D
- Na podstawie szczegółów interfejsu Wireshark
2. Wykonaj arping, aby wysłać bezpłatne żądanie ARP
- arping.exe -A -i \ Device \ NPF_ {4399F778-AF25-4B6D-AFFB-A1F2C7DFA667} 10.20.30.50 -c 3 -S 10,20.30,50
Gdzie 10.20.30.50 to adres ipad, który chcesz ogłosić w sieci (routerze)
źródło
Spotkałem to na linku z http://blog.serverfault.com/post/windows-2008-and-broken-arp/ .
Gdybyś zapytał o przepełnienie stosu, mógłbyś naprawić to znacznie szybciej.
Wąchaj pakiety GARP i uruchom arp -s inet_addr eth_addr.
Nie rób tego, jeśli istnieje największa szansa na uzyskanie wrogiej maszyny w twojej sieci LAN.
źródło