Um an einem HyperV Switch VLAN Trunking zu aktivieren, also einer VM mehrere VLANs durchzureichen, zu aktivieren, gehen wir wie folgt vor.
Sollte es zwei oder mehrere Netzwerkkarten mit identischem HyperV internen Namen geben, müssen diese zuerst angepasst werden:
HYPER-V NETZWERKKARTEN MIT GLEICHEM NAMEN UMBENENNEN
Wir schauen uns erstmal die bestehende Konfig an. (Wichtig – Powershell als Admin)
Get-VMNetworkAdapterVlan
Wir bekommen die Rückmeldung
Das bedeutet, das VLAN 123 wird als „untagged“ an die VM weitergegeben.
Wenn wir jetzt jedoch mehrere VLANs an eine Maschine weitergeben möchten, die dann in der VM als tagged verbunden werden, muss es vorher erlaubt werden.
Benötigte Infos:
- VM Name
- VM Netzwerkadapter Name
- erlaubte VLANS
- „native VLAN“, also wenn nichts in der VM getaggt wird.
In diesem Beispiel
- VM Name: VM01
- VM Netzwerkadapter Name: „Network Adapter“
- erlaubte VLANS: „123, 124, 125, 126“
- native VLAN „123“
Der Befehl lautet
Set-VMNetworkAdaptervlan -VMName VM01 -VMNetworkAdapterName "Network Adapter" -Trunk -AllowedVlanIdList "123, 124, 125, 126" -NativeVlanId 123
Wenn wir uns jetzt die die VLANs erneut anschauen
Get-VMNetworkAdapterVlan
erhalten wir folgendes Bild
Uns das war auch schon alles.
Achtung: Mann kann das VLAN der VM nicht mehr über die GUI anpassen oder einsehen!
Danke. Super Beschreibung. Habt ihr das auch schon mal bei einem 2012r2 Hyper-V Cluster versucht?
Hey, welches Native Vlan muss ich denn setzen um das Äquivalent des nicht gesetzten Hakens in der NIC Konfig einer Vm zu haben? 0 oder 1? Quasi das Native Vlan mit Vms ohne Vlan Konfig sprechen können?
Mfg
Das kommt darauf an, was auf dem physischen Switch das Standard VLAN ist. Der physische Port zum Hyper-V muss als „tagged“ Port konfiguriert werden. Die NativeVLANId wird dann untagged an die VM weitergegeben, alle anderen AllowedVLAN werde mit VLAN Tag unverändert an die VM durchgereicht.
Diese Konfiguration hat keine Entsprechung auf dem GUI und kann nur mit Powershell konfiguriert werden.
Die VLANID 0 darf bei dieser Konfiguration grundsätzlich nicht verwendet werden (nicht definiert).
Hallo Marcel,
ich stehe vor folgendem Problem, ich habe eine virtuelle Firewall, welche mehrere Netzwerkadapter hat, diese haben alle den Namen „Netzwerkkarte“ ich habe auch nach langem Suchen keinen Weg gefunden eine einzelne Netzwerkkarte von einer bestimmten VM zu renamen, damit ich sie beim Trunken direkt ansprechen kann. Hast du damit Erfahrungen?
Das Probleme hatte ich heute auch.
Hier die Lösung:
Get-VMNetworkAdapter
Dann werden dir die Adapter angezeigt mit der MAC-Adresse. Nun kannst du nach der MAC-Adresse den einzelnen Adapter filtern
Get-VMNetworkAdapter -VMName Palo01 | where {$_.MacAddress -eq „00155D01772C“} | Rename-VMNetworkAdapter -NewName test
Hat bei mir so funktioniert. Hatte auch eine VM und jeder Adapter hiess Default Adapter.
Ich bekomme leider immer diese Fehlermeldung:
Set-VMNetworkAdaptervlan : One or more parameters are missing.
+ CategoryInfo : NotSpecified: (:) [Set-VMNetworkAdapterVlan], VirtualizationOperationFailedException
+ FullyQualifiedErrorId : Microsoft.HyperV.PowerShell.Commands.SetVMNetworkAdapterVlanCommand
Welche Parameter benötigt der noch?
Kannst du mal deinen Befehl posten?
Hallo Kai,
ich habe das Szenario mit einem Host und einer vFirewall. n den Hyper-V Einstellungen des vSwitch habe ich Gemeinsamens Verwenden dieses Adapters für das Verwaltungsbetriebssystem zulassen“ aktiv
In der vFirewall habe ich VLANs eingerichtet.
Am physikalischen Switch ist default VLAN 1 und tagged VLAN 44
Wie bekomme ich es hin dass auf der einen Netzwerkkarte beide VLANs funktionieren. das default wie es in jedem Switch existiert und das tagged 44?
Vielen Danke im Voraus.
Andreas