Bin neu mit Loxone unterwegs und nun auch neu hier im Forum. Tach alle! :-)
Stehe noch ganz am Anfang meiner Erfahrungen mit Loxone und lerne Tag für Tag Vieles dazu. Bisher habe ich erst wenige Funktionen implementiert, darunter war aber eine Implementierung für Wake-On-LAN. Die Lösung hilft vielleicht jemandem sonst auch noch, weshalb ich diese hier gerne bereitstelle.
Ausgangslage
Ich habe mein Netzwerk unterteilt in verschiedene VLANs (Virtuelle LANs, IEEE 802.1q), wobei der Loxone Mini Server abgeschottet in einem eigenen Netzwerksegment steht. Wecken soll er aber ein NAS, das in einem anderen VLAN steht.
Warum das WOL-Command von Loxone nicht funktioniert
Loxone sendet ein Ethernet Magic Packet ohne IP Header. Dadurch ist das Datenpaket nicht routbar und immer nur im gleichen VLAN / Netzwerksegment unterwegs. (Broadcast auf Layer 2). Um VLAN übergreifend ein WOL zu realisieren, brauacht es einen IP / UDP Header.
Schritt 1 - Korrektes Magic Packet mit IP Header senden
Dazu kann nicht das wol:// Command verwendet werden. Stattdessen muss ein UDP Datagram gesendet werden, wie es in den Printscreens dargestellt ist.
Mit dem Befehl /x00 werden Hex-Werte gesendet. Das Magic Packet wird aus ff:ff:ff:ff:ff:ff gefolgt von 16x die MAC-Adresse des zu startenden Gerätes zusammengestellt. Das habe ich manuell zusammengestellt. Dazu muss die MAC-Adresse des zu startenden Gerätes ausgelesen werden. (Entweder auf dem Gerät selbst, oder in der MAC-Table des Routers / Switch) Die Zieladresse ist in diesem Beispiel 192.168.1.55 und ist eine fiktive Adresse im Zielnetzwerk, siehe Schritt 2.
Schritt 2 - Routing sicherstellen und Firewall anpassen
Letztendlich soll das gesendete WOL Paket im Ziel VLAN einen Broadcast an alle Geräte verursachen. Das kann erreicht werden, indem ein statischer ARP-Table Eintrag im Router / FW eingetragen wird. Dazu wird eine nicht verwendete Adresse (Beispiel: 192.168.1.55) fix und permanent regisrtiert auf die MAC-Adresse ff:ff:ff:ff:ff:ff. Sobald also ein Paket an diese IP geschickt wird, verursach dies im VLAN auf Layer 2 ein Broadcast an alle Geräte durch die Adresse ff:ff:ff:ff:ff:ff (Broadcastadresse).
Sichergestellt werden muss natürlich auch, dass eine allfällige Firewall in diesem Beispiel hier den Port UDP:9 druchlässt in das Ziel-VLAN.
Schritt 3 - Gerät muss WOL unterstützen
Das Gerät, das gestartet werden soll, muss selbstverständlich WOL unterstützen. Dies ist in der Regel durch eine entsprechende Konfiguration zu erreichen.
Soweit läuft diese Lösung bei mir nun erfolgreich und zuverlässig. :-)
Viele Grüsse vom Bastler aus
Bern
Kommentar