martinsuniverse

WoL - Wake-On-LAN unter Linux aktivieren

Als erstes muss im BIOS WoL aktiviert werden und anchließend unter Linux ethtool installiert werden.

sudo apt install ethtool

Nun muss der Name der Netzwerkschnittstelle ermittelt werden. Dies kann unter Linux mit dem Kommando ip link erfolgen. Es wird eine Linste mit Netzwerkschnittstellen ausgegeben die wie folgt oder ähnlich aussieht :

ip link

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff

Hier interessiert uns der Name der zweiten Schnittstelle - enp1s0. Bei der Gelegenheit kann auch gleich die MAC-Adresse notiert werden. An diese Adresse kann später das sogenantes Magic-Packet gesendet werden, was den Rechner startet.

Mit dem ethtool kann man sich nun ersteinmal anzeigen lassen, ob überhaupt Wake-on-LAN von der Netzwerkschnittstelle unterstützt wird. Mit dem Kommando

$ sudo ethtool enp1s0 wol

Settings for enp1s0:
...
Supports Wake-on: pumbg
Wake-on: d
...

ist bei der Auflistung irgendwo "Supports Wake-on" gefolgt von den unterstützten Modi zu sehen und bei "Wake-on", ob Wake-on-LAN schon aktiviert ist. Für uns ist der Modus "g - Wake on Magic-Packet" wichtig und "d - disable" bei "Wake-on", also nicht aktiviert. Wer mehr zu den Modi wissen möchte, kann man ethtool aufrufen.

Mit dem Kommando

sudo ethtool -s enp1s0 wol g

kann WoL nun aktiviert werden aber dies würde nur für den nächsten Start des Rechners gültig sein. Damit dies nach jedem Start des Rechners ausgeführt wird, wird dafür ein Service eingerichtet. Mit einem Editor und sudo-Rechten die Datei /etc/systemd/system/wol.service mit folgendem Inhalt angelegt wobei der eben ermittelte Schnistellenname anzupassen ist :

[Unit]
Description=Configure Wake-up on LAN

[Service]
Type=oneshot
ExecStart=/sbin/ethtool -s enp1s0 wol g

[Install]
WantedBy=basic.target

Jetzt noch den Service aktivieren und die Konfiguration aktualisieren :

sudo systemctl daemon-reload
sudo systemctl enable wol.service

Aufwecken des Rechners

Von einem anderen Linux-Rechner kann der Rechner mit dem Kommando etherwake aufgeweckt werden.

sudo etherwake 00:11:22:33:44:55

Referenzen

 

 

nach oben