KALF Computertechniek

linux wake-on-lan / WOL

wake on lanZo nu en dan heb ik een bestand nodig dat op een locale pc staat en welk ik verzuimd heb op een server te plaatsen.blush
Ansich is dat geen probleem: login op de remote via "SSH" en benader het bestand.

Maar wat nu als de remote pc niet aan staat?
Naar de machine rennen (twee trappen op en neer) en daar de powerknop indrukken is natuurlijk een optie, maar makkelijker is het om het apparaat op afstand tot leven te wekken.

Daartoe staan twee applicaties ter beschikking: wakeonlan (op gebruikersniveau) en etherwake (op root niveau).

Om W-O-L mogelijk te maken installeren we de nodige programma' s en "ethtool":

sudo apt-get install wake-on-lan etherwake ethtool

Om WOL mogelijk te maken dient er in de BIOS een instelling aangepast te worden:

  1. Reboot computer
  2. Druk op <DEL> bij het eerst zichtbare scherm om in de BIOS te feraken
  3. Menu > Power
  4. Enable "Wake On Lan" (of voor de AMI bios: enable " Power On by PCIe device")
  5. Sla op en sluit af via <F10>

Voor de meeste Linux computers is dit voldoende, echter bij bv. een Asus P7P55D moederbord i.c.m.een Realtek 8129AMI Bios WOL controller moet de netwerkadapter via een commandoregel in /etc/network/interfaces geinstrueerd worden dat deze niet geheel stroomloos gemaakt mag worden.
Dit is geldt des te meer wanneer er een dual boot met Windows geinstalleerd is, omdat het voornoemde systeem de netwerkkaart standaard UIT zet, als gevolg wwaarvan we de functie in Linux systeem weer moeten activeren.

Voeg daartoe de vetgedrukte regels toe aan "/etc/network/interfaces" :

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
#
post-up /sbin/ethtool -s $IFACE wol g
post-down /sbin/ethtool -s $IFACE wol g

Om te achterhalen wat het hardware c.q. MAC adres van de computer is; type in een terminal:

ifconfig

De uitkomst zal iets zijn als:

eth0      Link encap:Ethernet  HWaddr ac:ba:c8:86:01:40  
          inet addr:10.0.0.11  Bcast:10.0.0.255  Mask:255.255.255.0
......

HWaddr ac:ba:c8:86:01:40 is het MAC adres.
Sluit het systeem af en type op een ander systeem in een terminal:

wakeonlan ac:ba:c8:86:01:40

Het systeem geeft vervolgens de melding:

Sending magic packet to 255.255.255.255:9 with ac:ba:c8:86:01:40

Om op afstand te controleren of de opdracht succesvol is geweest, type:

ping 10.0.0.11

En als het systeem reageert met:

PING 10.0.0.11 (10.0.0.11) 56(84) bytes of data.
64 bytes from 10.0.0.11: icmp_seq=1 ttl=64 time=0.245 ms
64 bytes from 10.0.0.11: icmp_seq=2 ttl=64 time=0.154 ms
....

is de actie geslaagd.
Natuurlijk dient met dit "ping" commando gewacht te worden tot de remote computer de tijd heeft gehad om op te starten!

NB. Wanneer je in Synaptic zoekt op "wake" worden er nog enkele handige GUI tools aangeboden, waarbij "gwakeonlan" een grafische mogelijkheid biedt om apparaten op afstand wakker te maken.

gwakeonlan

Drucken