Wake-on-LAN

dim. 01 sept. 2013 by Marmotte

Le Wake-on-LAN permet de démarrer un ordinateur à distance.

Mise en place sur la machine à démarrer

Pour pouvoir être réveillé, il est nécessaire que la carte réseau de l'ordinateur à démarrer écoute en permanence sur le réseau, même lorsque celui-ci est éteint. Il faut donc indiquer au système d'exploitation qu'il ne doit pas totalement arrêter la carte réseau lors de son extinction.

Configuration du BIOS

Le Wake-on-LAN nécessite que la machine soit configurée au niveau du BIOS pour attendre le signal de réveil.

Selon les BIOS, l'option à activer peut se nommer différemment. Certains proposent des options nommées Power on Onboard LAN, mais l'option qui active le Wake-on-LAN peut aussi être liée aux ports PCI-Express, et se nommer Wake by PCIE, par exemple.

Note : Dans le cas d'une carte réseau en PCI, il doit y avoir un câble à connecter sur la carte mère. En l'absence de ce câble, la carte réseau ne peut pas relayer le signal de réveil à l'ordinateur.

Installation

Sur Debian, il suffit d'installer lepaquet ethtool.

$ sudo apt-get install --no-install-recommends ethtool

Configuration

Les versions récentes de Debian permettent d'utiliser un paramètre directement défini au niveau de l'interface ethernet. Le paramètre ethernet-wol peut prendre plusieurs valeurs. La valeur g correspond à l'attente d'un paquet magique, ce que nous enverrons avec le script wakeonlan.

Note : La liste complète des valeurs possible est donnée dans la page de manuel de l'exécutable ethtool.

Dans le fichier /etc/network/interfaces, il faut donc ajouter ce paramètre pour chaque interface qui devra écouter une fois la machine éteinte.

ethernet-wol g

Sur d'anciennes installations, ou d'autres distributions, il est possible que ce paramètre ne soit pas reconnu. Dans ce cas, il est possible d'appeler directement l'exécutable ethtool. Les lignes à ajouter à l'interface dans le fichier /etc/network/interfaces sont alors celles ci :

post-up /sbin/ethtool -s $IFACE wol g
post-down /sbin/ethtool -s $IFACE wol g

Mise en place sur la machine qui réveille les autres

Installation

Sur Debian, le paquet wakeonlan contient un script perl qui se charge de générer, puis envoyer, le paquet magique qui permet de réveiller des ordinateurs par le réseau.

$ sudo apt-get install --no-install-recommends wakeonlan

Configuration

Pour plus de simplicité, il est conseillé de renseigner les adresses matérielles des machines à réveiller dans le fichier /etc/ethers. Cela permet de les réveiller par leur nom, sans avoir à retenir leur adresse matérielle. Le contenu de ce fichier est une simple liste de correspondance contenant un couple {adresse matérielle/nom} par ligne.

XX:XX:XX:XX:XX:XX   hostname

Utilisation

Le script wakeonlan prend en paramètre l'adresse matérielle, ou le nom, de la machine à réveiller. Les noms utilisables sont uniquement ceux présents dans le fichier /etc/ethers.

$ wakeonlan XX:XX:XX:XX:XX:XX
$ wakeonlan hostname