Wake on LAN auf Linux, Windows und Synology anwenden
Um entfernte Geräte zu starten. Wake on LAN (WOL) ist ein 1995 von AMD in Zusammenarbeit mit HPE veröffentlichter Standard, um ausgeschaltete Computer über die Netzwerkkarte zu starten, diese ACPI unterstützen. Allgemeine Voraussetzung für WOL ist, dass die Netzwerkkarte über den Standby-Strom des Netzteils weiterhin mit Strom versorgt wird, auch wenn der Computer ausgeschaltet ist.
Die Netzwerkkarte wartet auf ein so genanntes Magic Packet, bei dessen Empfang der Computer eingeschaltet wird. Das Datenpaket ist entweder direkt an die Netzwerkkarte adressiert oder wird als Broadcast verschickt. Es enthält sechsmal in Folge den hexadezimalen Wert FF; unmittelbar danach erscheint die ununterbrochene 16-malige Wiederholung der MAC-Adresse der Netzwerkkarte des jeweiligen Zielsystems.
GNU/Linux bietet ein CLI Command um ein Computer zu starten.
1 2 |
/usr/bin/wakeonlan -p 7 -i 10.199.3.19 00:11:22:33:44:55 |
Ubuntu und Debian lässt Computer mit wakeonlan erwachen.
1 2 3 |
wakeonlan 00:00:33:44:55:66 Sending magic packet to 255.255.255.255:9 with 00:22:33:44:55:66 |
Synology hat mit synonet in der Busybox Shell sein eigenes Tool.
1 2 |
synonet --wake xx:xx:xx:xx:xx ethX |
Fedora wiederum weckt mit ether-wake, auch CentOS und Red Hat.
1 2 |
sudo ether-wake -i eno1 00:11:22:33:44:55 |
wobei mit -i eno1 hier das Ethernet Interface gemeint ist.
Microsoft Windows hat kein WOL Onboard, ein zuverlässiges WOL bietet hier WakeMeOnLan von Nirsoft.

Da auch Mac OSX standardmäßig mit Python kommt, kann man sich eines Scripts behelfen, die folgenden Zeilen ermöglicht ein Wake On LAN auf dem Mac.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
#!/usr/bin/env python import socket import sys if len(sys.argv) < 3: print "Usage: wake.py <IP> <MAC> (example: 192.168.1.255 00:11:22:33:44:55)" sys.exit(1) mac = sys.argv[2] data = ''.join(['FF' * 6, mac.replace(':', '') * 16]) sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1) sock.sendto(data.decode("hex"), (sys.argv[1], 9)) |
Den Script speichern und aus dem OSX Terminal ausführen.
1 2 |
python wake.py 192.168.1.255 00:11:22:33:44:55 |