LINUX:Allumage à distance

De WIKI sur Linux (ADB)
Aller à la navigation Aller à la recherche

But

Une fonctionnalité intéressante des machines est la possibilité de les allumer à distance via le réseau. Mais au préalable, elles doivent être configurées. Nous ne traiterons que le cas où nous effectuons cette manipulation dans un réseau local. Cette fonctionnalité est connue sous le nom de "WAKEONLAN". Cette fonctionnalité est largement décrite sur le WEB. Nous ne passerons en revue que ce qui m'a été nécessaire.


Prérequis

La machine doit avoir au moins une carte réseau. Cette doit posséder cette fonctionnalité. Si la carte réseau est intégrée à la carte mère, la consultation du BIOS vous y aidera. Si cette carte est ajoutée dans un slot, il faut consulter sa documentation et utiliser souvent un utilitaire particulier; il arrive qu'il faille connecter par un câble cette carte à la carte mère.


Vérification de sa présence

Sous Linux, il est possible de vérifier la présence de cette fonction.

Il faut installer un paquet avec la commande suivante:

dnf install net-tools

Avec celui-ci vient un utilitaire qui le permet. On doit ajouter comme paramètre le nom de l'interface. Si cet interface se nomme "enp0s25", nous utilisons la commande suivante:

ethtool enp0s25 | grep Wake-on

Nous obtenons le résultat de ce style:

Supports Wake-on: pumbg
Wake-on: g

On remarque ici que ce support est large comme on le constate à la première ligne ("pumbg"); on peut consulter dans les "man pages" leurs significations. Celui qui nous intéresse est le "g" qui concerne l'éveil par l'envoi de "WOL Magic Packets" (seconde ligne). Si cette seconde ligne contenait comme valeur "d", cette fonction est désactivée.

On peut également le vérifier en consultant le fichier "/sys/class/net/enp0s25/device/power/wakeup" pour l'interface "enp0s25". Il contient le mot "enabled" sinon il présenterait le mot "disable".


Activation

Si la fonction "magic packet" ou "g" n'est pas activée, on peut le faire par logiciel. Elle sera active pour le démarrage suivant. Il existe divers moyens.


Commande "ethtool"

Pour l'activer, on peut utiliser la commande utilisée ci-dessus, de nouveau pour l'interface "enp0s25" en exemple:

ethtool -s  enp0s25 wol g

Pour la désactiver:

ethtool -s  enp0s25 wol d

Il faudra la ré-exécuter à chaque redémarrage. On peut utiliser le système des services qui se lancent au démarrage de la machine. Sous Fedora 35, c'est "systemd" qui est actif par défaut et recommandé. Voici un fichier d'exemple de configuration de ce service pour l'interface utilisé ci-dessus. On le nommera par exemple "wakeonlan.service"; il est a placer dans le répertoire "/lib/systemd/system/":


[Unit]
Description=Configure Wake On LAN
[Service]
Type=oneshot
ExecStart=/sbin/ethtool -s enp0s25 wol g
[Install]
WantedBy=basic.target

Il suffit ensuite de recharger "systemd" pour tenir compte de cet ajout et d'activer ce service:

systemctl daemon-reload
systemctl enable wakeonlan.service


Configurer l'interface réseau

On peut aussi ajouter cette fonctionnalité dans le fichier de configuration de l'interface réseau.

Anciennement sous Fedora, ces fichiers de configuration se retrouvaient dans le répertoire "/etc/sysconfig/network-scripts/"; chaque interface avait son fichier préfixé par "ifcfg-" suivi du nom de l'interface. Par exemple pour l'interface "enps0s25" ce fichier se nommait "ifcfg-enp0s25".

Dans ce fichier, on ajoute la ligne:


 ETHTOOL_OPTS="wol g"


Actuellement, c'est le système NetworkManager qui est préféré. Dans le répertoire "/etc/NetworkManager/system-connections", on y trouve par interface réseau un fichier de configuration dont l'extension est ".nmconnection", ce qui donne dans notre cas "enp0s25.nmconnection".

Dans ce fichier, sous la rubrique "[ethernet]", on ajoute la ligne:


[ethernet]
wake-on-lan=64




->retour au menu de Linux