Wake On Lan

No Comments

Certains ont découvert les joies du ssh et de pouvoir se connecter à une autre machine à distance. Sauf que si ladite machine est éteinte, cela compromet un tantinet vos chances de vous y connecter.

C'est ici qu'intervient le Wake On Lan (ou vulgairement nommé WOL). Je ne vais pas rentrer dans les principes de fonctionnements, là n'est pas le but de ce billet, mais plutôt vous montrer comment le configurer sous Linux (Debian/Ubuntu), en partant du principe que vous avez déjà installé ethtool et que votre carte réseau accepte le Wake On Lan par MagicPacket (vérifier en tappant ethtool eth0).

Nous allons ensuite activer le Wake On Lan par MagicPacket (tout les actions sont à effectuer en tant que root) :

ethtool -s eth0 wol g

Il convient maintenant de faire en sorte que ce paramètre soit gardé en mémoire, en particulier au moment de l'arrêt de la machine, pour ce faire il faut éditer le fichier /etc/network/interfaces pour y rajouter dans la configuration de l'interface qui servira au Wake On Lan la ligne suivante :

pre-down /usr/sbin/ethtool -s eth0 wol g

Il reste un dernière « petit » détail à régler : lors d'un arrêt de la machine avec la commande halt, les interfaces réseaux sont coupées, on va donc y remédier de manière propre :

  • Éditer le fichier /etc/default/halt et y ajouter la ligne : WOL=1.
  • Éditer le fichier /etc/init.d/halt et y apporter les modifications suivantes :

    Avant la ligne log_action_msg “Will now halt” ajouter la partie suivante :

    # dont shut interfaces down if WOL=1
    wol="-i"
    if [ "$WOL" = "1" ]
    then
    wol=""

    fi

    Puis remplacer la ligne halt -d -f -i $poweroff $hddown par :

    halt -d -f $wol $poweroff $hddown

Ensuite pour réveiller la machine en question (avec etherwake) :

etherwake 00:11:22:33:44:55

00:11:22:33:44:55 étant l'adresse MAC de la carte réseau de la machine à réveiller.

Source : http://wiki.ubuntuusers.de/WOL.

Attention : si un switch se trouve entre la machine à « réveiller » et la machine qui envoie le paquet magique, cela ne marchera pas : en effet au bout d'un certain temps le switch va effacer sa table de correspondance port ⇔ adresse mac. Il va donc recevoir le paquet et demander « à qui est cette adresse mac » et la machine destinataire ne va pas répondre étant éteinte.

Pour contourner ce problème :

  • disposer d'un switch administrable permettant de fixer une correspondance port ⇔ adresse mac ;
  • avoir un lien vers la machine à réveiller (ou uniquement via des hub).

Be the first to write a comment!