Qui n'a jamais rêvé de pouvoir allumer une machine laissée éteinte a distance ?.
Cela est tout a fait possible grâce au wakeonlan.
L'allumage s'effectue grâce a l'envoi d'un “paquet magique” qui est une trame de données ethernet contenant les octets FF FF FF FF FF FF suivis de seize répétitions de l'adresse MAC de la cible, puis d'un mot de passe (si nécessaire) de quatre ou six octets.
apt-get install wakeonlan
apt-get install ethtool
Rien
ethtool eth0
vous devriez avoir quelque chose qui ressemble à :
Settings for eth0:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Link partner advertised link modes: 100baseT/Half 100baseT/Full
Link partner advertised pause frame use: No
Link partner advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Full
Port: MII
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pumbg
Wake-on: d
Current message level: 0x00000001 (1)
Link detected: yes
La ligne qui nous intéresse est la ligne “Wake-on: d” qui indique que le wakeonlan est désactivé pour cette carte.
ethtool -s eth0 wol g
notre exemple devient donc “ethtool -s eth0 wol bg”
Vous croyez en avoir fini ? en fait linux a la bonne idée (justifiée par la sécurité tout de meme afin d'interdire le wakeonlan s'il n'est pas voulu) de désactiver par défaut le réveil par le reseau. Il faut donc l'activer automatiquement si vous le souhaitez. Pour cela :
auto eth0
iface eth0 inet dhcp
up ethtool -s eth0 wol g
echo "NETDOWN=no" >> /etc/default/halt
auto eth0
iface eth0 inet dhcp
ethernet-wol g
ping -c 1 192.168.0.1
puis
/usr/sbin/arp -a | grep 192.168.0.1 machine.domaine.com (192.168.0.1) at 52:54:00:24:08:2e [ether] on eth1
wakeonlan -i 192.168.0.255 52:54:00:24:08:2e
où 192.168.0.255 et l'adresse de broadcast de votre sous réseau (en général 192.168.x.255) et “52:54:00:24:08:2e” l'adresse MAC récupérée ci dessus
Il faut utiliser l'adresse MAC a l'envers, soit dans notre exemple :
wakeonlan -i 192.168.0.255 2e:08:24:00:54:52
TODO la c'est plus complexe la commande ethtool ne fonctionne pas, il faut jouer de la commande pci-config
le détails des étapes nécessaires ici : http://ubuntuforums.org/showthread.php?t=951563&p=6596141#post6596141