Anzeige

Am Puls von Microsoft

Anzeige

Wake On LAN (WOL) Magic Packet via Hyper-V Virtual Ethernet Adapter senden

OliverL

gehört zum Inventar
Meine diversen Skripte, WOL zu senden, funktionieren wunderbar, solange man sie nicht von einem Hyper-V-Host zu senden versucht, dessen LAN-Adapter in einem virtuellen Hyper-V-Switch hängt (oder dem Default Switch, also wohl jedem Hyper-V-Host). Aus VMs, die diesen wiederum verwenden, funktioniert es, d. h. auf derselben Box. Getestet z. B. mit meinem alten QNAP, das nur 1 Stunde nachts läuft, um Backups darauf automatisiert zu spiegeln.

Hat dafür schon jemand eine Lösung? Wer es testen möchte, z. B. so:

WakeOnLAN minimal.ps1:

$Mac = "00:08:..:..:..:.."
$MacByteArray = $Mac -split "[:-]" | ForEach-Object { [Byte] "0x$_"}
[Byte[]] $MagicPacket = (,0xFF * 6) + ($MacByteArray * 16)
$UdpClient = New-Object System.Net.Sockets.UdpClient
$UdpClient.Connect(([System.Net.IPAddress]::Broadcast),7)
$UdpClient.Send($MagicPacket,$MagicPacket.Length)
$UdpClient.Close()

in einer PowerShell-Fenster mit rechter Maustaste einfügen, oder z. B. mit
PowerShell -ExecutionPolicy RemoteSigned -File "WakeOnLAN minimal.ps1"

Die MAC-Adresse für Zeile 1 seiner Geräte findet man bekanntlich im Router, DHCP-Server oder auch nach Anpingen mit arp -a
 
Anzeige
Habe ich soeben gemacht, funktioniert aber ebenfalls nur z. B. aus einer Hyper-V-VM auf demselben Hyper-V-Host, auf dem es direkt über den Hyper-V-Switch nicht geht, an dem die VM aber hängt mit ihrem virtuellen LAN-Adapter.
 
Hmm,
kannst Du einmal die Einstellungen des Adapters posten und ebenso das PS-Ergebnis von
Code:
Get-NetAdapter
Danke.

Btw, welchen SwitchType verwendest Du?
 
Alle Einstellungen auf Standard, und das System tritt ja hier auch bei allen Systemen mit aktivierter Hyper-V-Rolle auf, so z. B. auch mit einem Asus PN50 oder einem Surface Pro 3 (dann via WLAN), also maximal einfach reproduzierbar mit dem obigen Minimal-Skript.
Um Martin Speicherplatz zu sparen, hier nur als Text und nicht als Grafik :):

Name InterfaceDescription ifIndex Status MacAddress LinkSpeed

vEthernet (vEthernet (... Hyper-V Virtual Ethernet Adapter #4 40 Up 00-15-5D-... 10 Gbps
Ethernet Realtek PCIe GbE Family Controller #2 26 Up D8-07-B6-... 1 Gbps
vEthernet (Default Swi... Hyper-V Virtual Ethernet Adapter #2 34 Up 00-15-5D-... 10 Gbps
Bluetooth-Netzwerkverb... Bluetooth Device (Personal Area Netw... 21 Disconnected 00-1A-7D-... 3 Mbps
vEthernet (intern) Hyper-V Virtual Ethernet Adapter #3 20 Up 00-15-5D-... 10 Gbps
vEthernet (LAN) Hyper-V Virtual Ethernet Adapter 12 Up D8-07-B6-... 1 Gbps
Ethernet (onboard, def... Realtek PCIe GbE Family Controller 7 Not Present 04-D9-F5-... 0 bps
vEthernet (vEthernet (... Hyper-V Virtual Ethernet Adapter #5 48 Up 00-15-5D-... 10 Gbps

Hyper-V Virtueller Switch "LAN" ist ebenso ganz normal konfiguriert, den Realtek PCIe GbE Family Controller #2 mit gemeinsam zu nutzen.
 
Zuletzt bearbeitet:
Martin tauscht gerne Speicherplatz gegen Schokoloade. ;)

Du benutzt mehrere vNIC über ein und dieselbe physikalische NIC, denn generell übernimmt Hyper-V die phys. NIC gleichzeitig auch als vNIC, um die IP-Protokolle für jeden einzelnen Host zu erstellen (MAC-Adresse, etc.).

Hyper-V unterstützt kein WoL, das funktioniert nur für vServer.

Du hast m.E. 3 Möglichkeiten:

1. Erstelle ein neues Image mit einer eigenen NIC (nLite bietet sich hierfür an) und integriere einen Original-Treiber für die Netzwerkkarte.
Danach bindest Du dieses Image in Hyper-V ein und nutzt als Netzwerkkarte den Original-Treiber aus dem Image.

2. Du baust eine 2 Netzwerkkarte ein und installierst den Original-Treiber der Karte (nicht den Windows-Treiber).
Wenn Du dann einen weiteren Host in Hyper-V erstellst, weise ihm die neue Karte statt der von Hyper-V emulierten zu.

3. bei Softpedia gibt es ein Tool, das vHosts WoL fähig makchen soll. Ausprobiert habe ich es noch nicht.

Was meinst?
 
Das Aufwecken des Hyper-V-Hosts funktioniert ja - über denselben LAN-Adapter, schon immer, und selbst wenn ich die Karte aus dem Hyper-V-Switch entferne, klappt darüber kein ausgehendes (!) WOL vom Host zu z. B. meinem QNAP (hängt am LAN).
Es ist dabei egal, ob eine VM auf dem Host läuft oder nicht. Ein 2. LAN-Adapter dürfte da auch nicht viel bringen, weil der Effekt auch auftritt, wenn der 1. in gar keinem Hyper-V-Switch hängt (alle dann auf intern oder privat). Ist ganz interessant und lustig, ich brauche das nicht dringend, kann mir ja behelfen über einen Klick auf eine RDP-Datei in eine der hier überall und irgendwo laufenden VMs. Das ganze sehe ich eher als Anekdote und technisch interessante Eigenart, die ich nicht unbedingt gelöst haben muss. Aber sie ist auf 3 Hyper-V-Hosts hier reproduzierbar.
Ich werde gleich mal spaßeshalber am Host hier einen AVM WLAN-Stick anstecken und den LAN-Adapter ganz deaktivieren und dann testen... ist ja nicht so, dass ich hier zu wenig Hardware für F&E hätte :).

[Update] Das hat auch nicht gereicht - also LAN-Adapter deaktiviert, WLAN-Zugang zum Intra- und Internet.
Auch das Stoppen des Hyper-V-Host-Diensts brachte nichts. Erst, als ich alle Hyper-V-Adapter (unter Netzwerkverbindungen) deaktiviert hatte (obwohl die noch nie etwas von dem WLAN-Stick wussten...), klappte das WOL des QNAP. Cool. Teste demnächst weiter mit aktiviertem Hyper-V-Dienst (ohne laufende VMs) und ohne WLAN-Stick, nur mit Deaktivieren einzelner Hyper-V-Adapter. Dann werde ich wohl dem Störenfried näher kommen... :D. Das alte QNAP braucht nur immer 3 Minuten zum Hoch- und ebenso lang zum Runterfahren, und für heute mache ich hier Schluss am Schreibtisch.
 
Zuletzt bearbeitet:
So, finale Erkenntnis: nur wenn ich alle (!) vEthernet-Adapter in den Netzwerkverbindungen deaktiviere (und natürlich den LAN-Adapter nicht an einen Hyper-V-Switch gehängt habe), klappt ausgehendes WOL.
Gleiches gilt für den T-Entertain-IP-TV-Empfang via VLC Mediaplayer über die Link-Liste laut FRITZ!Box, also Fernsehen über FRITZ!Box - nur wenn alle vEthernet-Adapter deaktiviert sind, klappt es. Ich hatte vorher auch den vorhandenen nur internen Hyper-V-Switch gelöscht, also nur den Default-Switch und einen "LAN extern" von mir benannten belassen, den dann aber auf privat konfiguriert, damit der physikalische LAN-Adapter unbeteiligt bleibt. Nützte alles nichts - die Adapter mussten deaktiviert werden, alle. Auch das Deaktivieren des Default Switch, der ja den LAN-Adapter ausgehend mit nutzt, reichte nicht! Erstaunlich, aber wahr.
Gut also zu wissen. Ticket geschlossen und wie erwartet nur selbst beantwortet. :D
 
Anzeige
Oben