Le WakeOnLAN (WOL) est une fonctionnalité simple mais essentielle des réseaux. Elle permet notamment aux administrateurs d'allumer (réveiller) un ordinateur à distance, à des fins de maintenance par exemple, sans avoir à se déplacer.
Son implémentation est également simple. Elle obéit à une série de normes créées par IBM et AMD.
Si vous n'êtes pas encore familiarisés avec les notations de ce site, jetez un oeil à la page :
, puis revenez ici.
Pour visualiser les vignettes, à droite, survolez simplement la vignette avec la souris.
Le WOL agit au niveau de la couche 2 du modèle OSI. Il est basé sur un "Paquet Magique" (Magic Packet) qui, contrairement à son nom, n'est pas à proprement parler un paquet et n'a rien de magique. C'est une séquence normée et formatée selon des règles fixes.
L'ordinateur client (à réveiller) ne nécessite, en général, pas de logiciel spécifique.
Pour réveiller un ordinateur précis, il faut l'identifier. S'il est éteint, il n'a normalement pas d'adresse IP. On utilise alors son adresse MAC. Il s'agit d'une adresse "hard", programmée dans la carte réseau. C'est ici qu'intervient le "Paquet Magique", il contient une séquence fixe reconnue par la carte réseau; il peut être encapsulé dans n'importe quel paquet IPX, IP...
Il doit avoir :
Remarques :
Si la carte réseau comprend un connecteur nommé WOL, elle répond à la version PCI 2.1. Il faut alors que la carte mère ait également ce connecteur WOL. (Beaucoup de cartes mères correspondant à la norme PCI 2.2 ont également ce connecteur, pour des raisons de compatibilité).
Si la carte réseau supporte le WOL mais n'a pas de connecteur WOL, c'est qu'elle correspond à la norme PCI 2.2. Il faut alors que la carte mère supporte également PCI version 2.2.
Comme déjà indiqué, le fait que le chip de la carte réseau supporte le WOL est une condition nécessaire, mais elle n'est pas forcément suffisante. Comme exemple : de très nombreuses cartes utilisent le chip RTL8139. Celui-ci existe lui-même en différentes versions (A, B, C, C+, D) et peut-être encore d'autres. Certaines cartes basées sur ce chip supportent la fonction WOL, d'autres ne la supportent pas.
Voici un tableau qui vous donne quelques exemples de cartes testées par mes soins :
| Constructeur | Modèle | Chip | WOL |
| Nalcon | EtherPrime EP3200r | RTL8029AS | Non |
| Accton | CheetahEN1207D-TX | MPX5038 | Non |
| Planet | ENW9503A | RTL8139? | Oui (2.1) |
| Planet | ENW9504 V.4 | RTL8139C | Non |
| Planet | ENW9504 V.6 | RTL8139D | Oui (2.2) |
| Winbond | VCI | RTL8139B | Non |
| TrendNet | TE10-PCIWN | RTL8139D | Oui (2.2) |
| ? | Rhine III 10/100 | VT6105 | Oui (2.2) |
| Intel | Etherjet | intel 82559 | Oui (2,1 et 2,2) |
| Intel | EtherExpress Pro/100+ | intel 82559 | Oui (2,1 et 2,2) |
Vous devez d'abord préparer l'ordinateur à réveiller.
Dans la suite de la configuration, vous aurez besoin de taper quelques commandes dans une console.
Si vous n'avez pas encore installé l'applet 'Sessions de terminal', c'est le moment,
puis revenez ici.
Ouvrez donc une console en tant que superutilisateur (le mot de passe sera demandé).
TableauBord/Sessions de terminal/Shell superutilisateur
Vous en aurez besoin par la suite.
Vous devez, dans le BIOS, activer la fonction ACPI et les fonctions WOL ou PME, suivant le type de la carte mère installée.
Vous devez réaliser deux choses :
La façon de procéder est très différente d'un ordinateur à l'autre, comme l'indiquent les quelques exemples ci-dessous.
Vous y trouverez également certains réglages facultatifs du BIOS, concernantl'économie d'énergie.
Popup montrant, les réglages du BIOS pour quelques cartes mères 
Vous pouvez faire un premier contrôle, si la machine est connectée à un Hub ou à un Switch.
Vérifiez, sur le switch, que la LED correspondant à la machine reste bien allumée, même lorsque vous avez éteint la machine. Cela veut dire que la carte reste sous tension, qu'elle est connectée au réseau et qu'elle peut donc recevoir les paquets qui y passent.
Sur la carte réseau, une diode reste éventuellement allumée, mais tous les constructeurs ne le prévoient pas.
Pour que la carte réseau accepte le réveil à distance, il faut que, au moment où vous éteignez la machine, la carte réseau soit configurée en conséquence.
Ce réglage dépend du pilote de cette carte et il reste mémorisé dans la carte lorsque vous avez arrêté l'ordinateur.
Sous Linux, le pilote de la carte réseau se présente généralement sous la forme d'un module du noyau et ce module comprend une option relative à l'activation ou non de la fonction Wake on LAN. En général, sous Linux, elle n'est pas activée.
Vous devez donc configurer le module de telle sorte qu'il active cette fonction lors du déchargement du module, c'est-à-dire lors de l'arrêt de l'ordinateur. Là également, les réglages à faire dépendent beaucoup du module. Dans un premier temps, il importe de connaitre le nom de ce module.
Dans un premier temps, vous devez déjà savoir quel est le pilote (module) utilisé avec votre carte réseau. Certains modules peuvent même être configurés dans la foulée.
Comme souvent, vous pouvez faire cette recherche en mode graphique ou en mode console.
Avec Mandriva 2007 et 2008.0, les deux pilotes permettent le Wake On LAN, sans modifier la configuration.
Vous pouvez passer directement au paragraphe Détermination de l'adresse physique de la carte réseau.
Des anciens pilotes eepro100 ne prenaient pas du tout en compte le Wake On LAN.
Il faut alors utiliser le pilote e100.
Vous pouvez configurer de nombreux pilotes de cartes réseau à l'aide de l'outil ethtool (8139too, 8139cp, natsemi, tg3 ..)
Normalement, avec Mandriva 2008.0, le paquetage ethtool est déjà installé.
Une solution consiste à définir des options ethtool dans le fichier /etc/sysconfig/network-scripts/ifcfg-ethx
Chaque carte réseau possède une adresse matérielle aussi appelée adresse physique. C'est une adresse unique.
Pour avoir l'adresse physique, dans la console, lancez la commande
ifconfigDans le résultat de la commande, vous trouverez une information du genre
HWaddr 00:04:AC:93:F3:72
Depuis un poste, en tant que root, lancez la commande :
ether-wake xx:xx:xx:xx:xx:xxavec xx:xx:xx:xx:xx:xx = adresse MAC de la carte de l'ordinateur à allumer.
Attention ! Si l'interface que vous utilisez n'est pas eth0, la commande est un peu plus complète. C'est par exemple le cas lorsque vous utilisez une Xbox avec liaison USB.
ether-wake -i ethx xx:xx:xx:xx:xx:xx
Jusqu'à présent nous avions considéré la configuration suivante : une machine cible à allumer, le réseau local et une machine "allumeuse".
Avec Internet, nous avons de nombreuses possibilités de configuration, quelques unes figurant dans le tableau ci-dessous.
Toutes combinaisons "Allumeur" et "Cible" sont possibles dans le tableau ci-dessous..
| Côté allumeur | Internet | Côté cible |
| Site Internet spécifique | modem ou xBox + cible | |
| PC + modem ou xBox | modem ou xBox + routeur + LAN + cible | |
| PC + LAN + routeur + modem ou xBox | xBox/routeur + LAN + cible | |
| PC + LAN + xBox avec fonction routeur | modem ou xBox + pare-feu/routeur + LAN + cible | |
| PC + LAN + pare-feu/routeur + modem ou xBox |
Internet, qui est un réseau de niveau 3, ne peut véhiculer directement le magic packet qui est une trame ethernet, de niveau 2.
On doit passer par un protocole de niveau 4 qui est bien géré par les routeurs, même basiques.
On peut utiliser TCP ou UDP qui sont eux-mêmes transporté par IP qui est de niveau 3.
Le plus simple est d'utiliser UDP, parce que le contenu d'un paquet UDP est arbitraire alors que le contenu d'un paquet TCP de demande de connexion (SYN) est réglementé.
Des utilitaires de WOL permettent d'encapsuler un magic packet dans un datagramme UDP. On peut soit utiliser un tel utilitaire sur le poste "allumeur", soit utiliser les services de sites Internet spécifiques qui permettent de le faire. Exemples :
http://wakeonwan.free.fr/
http://stephan.mestrona.net/wol/
http://www.dslreports.com/wakeup
Il faut créer sur le routeur une redirection du port UDP choisi vers l'adresse IP de l'ordinateur à réveiller.
Vers quelle adresse IP en fait ? C'est là le noeud du problème.
À ce stade la machine cible est éteinte. Même si vous lui attribuez une adresse fixe, cette adresse n'est pas encore effective.
Si vous créez une redirection vers l'adresse IP qu'elle est censée avoir, il va se passer les choses suivantes :
Comment contourner le problème de la résolution ARP ? Deux voies sont envisageables :
Si le PC cible est directement raccordé à une Freebox et que celle-ci assure la fonction de routeur, il faut reconfigurer celle-ci pour qu'elle transmette le magic packet.
Si la xBox est un modèle autre que Freebox, il convient de vérifier si une telle fonction est possible et comment.
Le mode opératoire dépend du routeur et l'une des deux solutions ci-dessous peut être utilisée :
Si vous avez un pare-feu entre votre réseau et l'internet, il faudra également autoriser l'accès au port 9/udp
Par contre, si l'ordinateur à réveiller intègre un pare-feu, il est inutile d'autoriser l'accès à ce port, vu que l'ordinateur est éteint et que le pare-feu n'est donc pas encore actif.
Les pages relatives aux tutoriels :
Les différentes rubriques :
| Accueil | Ordinateur | Mandriva | Tutoriels | Initiation à la programmation | Maison bioclimatique |