Hyper-V-Gast verliert Netzwerkzugriff, wenn sich der virtuelle Switch-Port im Trunk-Modus befindet

Hyper-V-Gast verliert Netzwerkzugriff, wenn sich der virtuelle Switch-Port im Trunk-Modus befindet

Ich habe eine Gast-VM auf einem Windows Server 2012 R2-Rechner mit Hyper-V. Derzeit verwendet der Gast das native VLAN (VLAN-ID 1). Ich kann vom Host und vom Netzwerk aus mit dem Gast kommunizieren. Der Gast ist jedoch ein Zebra/Motorola VX9000 WLAN-Controller, der auch den Verkehr auf den VLAN-IDs 10 und 15 verarbeiten muss. Der vom Host verwendete Switch-Port ist auf VLAN 1 nicht markiert, und ich habe den Port so aktualisiert, dass er auch auf den VLANs 10 und 15 markiert ist. Ich gebe außerdem den folgenden Befehl über Powershell ein:

Set-VMNetworkAdapterVlan -VMName MyGuest -Trunk -AllowedVlanIdList "10,15" -NativeVlanId 1

Leider kann ich nach der Ausführung dieses Befehls nicht mehr mit dem Gast kommunizieren. Wenn ich die Hyper-V-Konsole für den Gast öffne, hat dieser keinen Netzwerkzugriff. Der Versuch, den Gast vom Host oder anderen Standorten im Netzwerk aus anzupingen, führt zu einer Destination host unreachableMeldung.

Ich kann das Problem „reparieren“, indem ich den Adapter wieder in den unmarkierten Modus versetze:

Set-VMNetworkAdapterVlan -VMName MyGuest -Untagged

Jetzt kann ich wieder mit dem Gast kommunizieren, aber das löst nicht wirklich etwas. Ich brauche diesen Gast immer noch, um den Verkehr auf VLANs 10 und 15 bewältigen zu können.

Ich verstehe nicht, warum das passiert. Unmarkierte Pakete hatten vor dem Wechsel in den Trunk-Modus die VLAN-ID 1. Sollte das nicht auch jetzt noch so sein? Wie kann ich diesen Gast dazu bringen, auf allen VLANs zu kommunizieren, die ich brauche?

Die beste Fehlermeldung, die ich beim Pingen erhalte, ähnelt der, die ich sehen würde, wenn es keine Route gäbe. Muss ich einen separaten Befehl ausgeben, um eine Route für diese Netzwerke zu erstellen, nachdem ich den Port als Trunk festgelegt habe (möglicherweise auf dem Host)?

Antwort1

Ich habe nur ein paar VMs auf diese Weise eingerichtet und sie haben auch nicht über das native VLAN gesprochen. Um dieses Problem zu lösen, haben wir das native VLAN auf einen im Netzwerk ungenutzten Punkt gesetzt, das gewünschte VLAN in das zulässige VLAN eingefügt und dann alle NICs innerhalb der VM so umgestellt, dass sie ihren Datenverkehr markieren.

Antwort2

Ich habe eine Lösung gefunden!

Ein Beitrag von alejanp beidieser Linkhat mich dazu gebracht, mit VLAN 0 herumzuspielen, und der folgende Befehl scheint zu funktionieren:

Set-VMNetworkAdapterVlan -VMName MyGuest -Trunk -AllowedVlanList "1,10,15" -NativeVlanId 0

Kurz gesagt, ich habe das native VLAN auf 0 gesetzt und mein echtes natives VLAN in die Zulassungsliste aufgenommen.

Dies funktioniert natürlich nur, solange das für den Gast benötigte ungetaggte VLAN mit dem ungetaggten VLAN des Host-/Switch-Ports übereinstimmt. Glücklicherweise ist dies heute der Fall.

verwandte Informationen