In einer meiner Lab-Umgebungen hatte ich jüngst sehr merkwürdige Netzwerk-Probleme. TCP-Verbindungen ließen sich entweder gar nicht erst aufbauen oder brachen ständig zusammen, insbesondere HTTP-Sitzungen und RDP-Verbindungen waren davon betroffen. Ich hatte zunächst die Netzwerkkarten der betroffenen Hosts im Verdacht, konnte hier aber selbst beim Wechsel auf eine andere Karte keine Besserung feststellen.
Da einige der Systeme sich im Netzwerk von manchen Quellen anpingen ließen, von anderen nicht, hatte ich einen Blick auf die ARP-Tabelle eines der Hosts, von wo aus ein Ping nicht möglich war, geworfen:
Dort war mir dann etwas aufgefallen – nämlich dass eine konkrete MAC-Adresse mehreren IP-Adressen zugeordnet war – mit anderen Worten: Mehrere Hosts im Netzwerk hatten scheinbar die selbe MAC-Adresse!
Um dies zu verifizieren, habe ich mir dann die MACs aller VMs auf den betroffenen Hosts anzeigen lassen:
Get-VMNetworkAdapter -VMName * -ComputerName "HOST01","HOST02","HOST03" | Select-Object VMName,MacAddress | Sort-Object MacAddress
Hier bestätigt sich die vorherige Erkenntnis: 4 der verwendeten MACs werden durch mehr als eine VM genutzt! Aber woher kommt das?
Alle Hyper-V-Hosts wurden im selben Netzwerk und nacheinander aufgesetzt. Dennoch zeigt sich, dass zwei der Hosts den selben MAC Address Pool verwenden:
Die Lösung besteht also aus 2 Teilen:
- MAC Address Pool auf mindestens einem der beiden Hosts ändern
- Betroffenen VMs eine neue MAC-Adresse (oder einfach eine neue NIC) verpassen
Ich habe keine Ahnung, wie dieser Fehler zustande gekommen ist, denn eigentlich prüfen Hyper-V Hosts beim Setup, ob der MAC-Address-Bereich von anderen Hosts verwendet wird, aber diese Prüfung war hier wohl irgendwie wenig erfolgreich… Naja, egal. Fehler gefunden, behoben, alles gut 😉