Wir haben kürzlich ein Problem nach einem Failover unseres Routers festgestellt, bei dem unsere Windows 2008-Boxen nach einem Failback nicht mehr mit dem primären Router kommunizierten.
Als wir gruben, hatten sie immer noch den ARP-Eintrag vom sekundären Router. Laut dem TechNet-Blog ist dies beabsichtigt :
Erstens aktualisiert Windows Vista oder Windows Server 2008 den Nachbarcache nicht, wenn eine ARP-Übertragung empfangen wird, es sei denn, sie ist Teil einer Broadcast-ARP-Anforderung für den Empfänger . Dies bedeutet, dass beim Senden eines kostenlosen ARP in einem Netzwerk mit Windows Vista und Windows Server 2008 der Cache dieser Systeme bei einem IP-Adressenkonflikt nicht mit falschen Informationen aktualisiert wird.
Zweitens scheint der Windows-Nachbar-Cache (Arp-Cache) nur dann aktualisiert zu werden, wenn der Computer nicht mehr mit dem Computer kommunizieren kann, der sich derzeit im Cache befindet. Es werden keine gelegentlichen ARP-Anforderungen gesendet, um sicherzustellen, dass der Cache nicht veraltet ist. Während dies während des ersten Failovers kein Problem darstellt, führt dies während des Failbacks, wenn beide Boxen aktiv sind, dazu, dass Fenster weiterhin mit der sekundären Box kommunizieren.
Gibt es eine Möglichkeit, Windows 2008 zu zwingen, unbegründete ARP-Anforderungen anzunehmen?
Antworten:
Nach dem Testen scheint Hotfix 2582281 das Problem zu beheben . Sie können den Hotfix erhalten, ohne den Support bezahlen zu müssen, indem Sie die Hotfix-Anforderungsseite verwenden .
Ich habe einen Test mit
arping
Windows 2008 R2 durchgeführt. Ich habe einer Maschine mit demselben L2-Netzwerksegment die sekundäre IP-Adresse 64.34.119.80 hinzugefügt. Ich habe dann den folgenden Befehl von einem anderen Rechner aus dem Netzwerk (sudo arping -U 64.34.119.80 -I bond0 -c1
) ausgegeben . Gleich danach habe ich 64.34.119.80 aus der Windows-Box gepingt, nachdem ich gesehen hatte, dass es die Arp in Wireshark empfängt. Ich habe dann den Hotfix angewendet und den Test wiederholt.Außerdem muss der Befehl arping anscheinend nicht die Unicast-MAC-Adresse, sondern die Broadcast-MAC-Adresse verwenden, da dies der einzige GARP-Typ ist, der in meinen Tests ignoriert wurde.
Vor dem Patch:
Bei dieser Wireshark-Erfassung wird der Ping nach der GARP-Anforderung nicht an das MAC-Ziel gesendet, von dem die GARP stammt, sodass Sie sehen können, dass die GARP ignoriert wird.
Nach dem Patch:
In diesem Test scheint die GARP-Anforderung nach dem Patch berücksichtigt zu werden, da der Ping an die MAC-Adresse gesendet wird, von der GARP stammt.
Aus diesen Tests geht hervor, dass Hotfix 2582281 das Problem behebt, dass GARP-Broadcasts ignoriert werden.
quelle
Als ich gerade mein eigenes TCPIP-Problem untersuchte, stieß ich auf diesen sehr interessanten Hotfix:
http://support.microsoft.com/kb/2582281
Das hört sich sehr nach dem an, worauf Sie stoßen. Und es ist auch ein brandneuer Hotfix, der am 22.07.2011 veröffentlicht wurde.
quelle
Versuchen Sie,
netsh interface ipv4 set interface x basereachable=y
wo x der Schnittstellenindex und y das ARP-Timeout in Millisekunden ist, die Sie möchten. Denken Sie daran, dies an einer Eingabeaufforderung mit Administratorrechten zu tun!quelle
Welches Redundanzprotokoll für den ersten Hop verwenden Sie?
Mir ist bewusst, dass dies Ihre Frage nicht direkt beantwortet. VRRP (und sein proprietärer Vorgänger HSRP) verwenden jedoch eine gemeinsam genutzte MAC-Adresse, die bei einem Wechsel des Master-Routers auf einen neuen Switch-Port umgeschaltet wird. Dies umgeht die Notwendigkeit einer völlig unentgeltlichen ARP.
quelle
Voraussetzungen
1. WinPCAP 4.0.1 (Version 4.1.2 funktioniert nicht)
- http://www.winpcap.org/archive/4.0.1-WinPcap.exe (Windows-Version)
2. Wireshark 1.6.7
3. IPv6 deaktiviert auf Netzwerk - Schnittstelle, aufgrund von Beschränkungen arping
4. arping
- http://mathieu.carbou.free.fr/pub/arping/2.06/arping.zip (Windows Binary)
Ausführung
1. Inteface Namen Get
- „E: \ Program Files \ Wireshark \ tshark.exe "-D
- Von Wireshark-Schnittstellendetails
2. Führen Sie Arping aus, um eine
unbegründete ARP-Anforderung zu senden -c 3 -S 10.20.30.50
Wobei 10.20.30.50 die IP-Adresse ist, die Sie dem Netzwerk (Router) mitteilen möchten
quelle
Ich bin auf einen Link von http://blog.serverfault.com/post/windows-2008-and-broken-arp/ gestoßen .
Hätten Sie nach Stackoverflow gefragt, hätten Sie möglicherweise eine viel schnellere Lösung gefunden.
Schnüffeln Sie die GARP-Pakete und führen Sie arp -s inet_addr eth_addr aus.
Tun Sie dies nicht, wenn die geringste Wahrscheinlichkeit besteht, dass ein feindlicher Computer in Ihr LAN eingebunden wird.
quelle