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