Comment activer le Wake-on-LAN sur votre machine Linux sans devenir fou
Utiliser le Wake-on-LAN (WoL) sous Linux peut s’avérer complexe et parfois frustrant. On configure tout (BIOS, outils réseau) et puis… rien. Pire encore, le système indique que le WoL n’est pas pris en charge, alors que le matériel est censé l’être. Ce guide a pour but de vous simplifier la vie en vous expliquant les pièges courants et leurs solutions, afin que vous puissiez enfin sortir votre machine Linux de veille à distance sans vous arracher les cheveux.
Comment résoudre le problème de WoL sous Linux
Vérifiez que le BIOS prend en charge et que la fonction Wake-on-LAN est activée.
Voici la première étape, mais elle est souvent négligée. Parfois, ces paramètres du BIOS sont cachés dans des menus complexes, ou portent un nom différent selon la carte mère. Redémarrez votre PC, appuyez sur Suppr, F2 ou toute autre touche permettant d’ouvrir le BIOS/UEFI. Accédez à la section « Gestion de l’alimentation » ou « Avancé ».Recherchez les options nommées comme Wake on PCI/PCI-E« Activer Power on By PCI-E/ S5 Wake on LANDésactiver l’alimentation », « Activer/Désactiver l’alimentation » ou « Activer/Désactiver l’alimentation ».Activez-les. Enregistrez et quittez. Car, bien sûr, Windows complique inutilement les choses ; Linux, lui, hérite de toutes ces bizarreries.
Sur certaines configurations, ce paramètre n’est pas évident et peut être désactivé par défaut, ce qui explique pourquoi WoL ne se déclenche pas. Après l’avoir activé, redémarrez votre ordinateur et vérifiez si votre carte réseau est prête à recevoir les paquets magiques.
Installez et utilisez ethtool pour vérifier et activer le WoL.
Cet outil est une véritable bouée de sauvetage, mais sa ligne de commande peut paraître intimidante au premier abord.À quoi sert-il ? Il interagit directement avec le pilote de votre carte réseau ; ainsi, si le WoL est pris en charge, ethtool peut vous l’indiquer et l’activer. En revanche, s’il ne l’est pas ou si le pilote ne le prend pas du tout en charge, c’est la catastrophe.
Installez-le si vous ne l’avez pas déjà fait : $ sudo apt install ethtool
Trouvez votre interface Ethernet — probablement quelque chose comme enp3s0ou eth0. Listez toutes les interfaces : $ ifconfigou$ ip link
Courir: $ sudo ethtool enp3s0 | grep "Wake-on"
Vous devriez voir une valeur comme « d » (désactivé), « w » (réveil par paquet magique) ou d’autres indicateurs. Si la fonction est désactivée, essayez : $ sudo ethtool --change enp3s0 wol g
Cette commande indique à la carte réseau d’accepter les paquets magiques. Si la modification est confirmée, c’est parfait ! C’est la première étape. Si vous obtenez une erreur netlink error: cannot enable unsupported WoL mode (offset 36), cela signifie que votre matériel ou votre pilote ne prend pas en charge le Wake-on-LAN sur cette interface.
Pour que WoL reste actif après un redémarrage, utilisez NetworkManager ou systemd.
Car, bien sûr, Linux réinitialise ces paramètres au redémarrage. Il vous faut donc automatiser cette opération. Voici quelques solutions :
Méthode 1 : Utilisation de nmcli (pour NetworkManager)
De nombreuses distributions, notamment Ubuntu, Debian, Rocky et Fedora, utilisent NetworkManager. Vous pouvez activer le Wake-on-LAN (WoL) avec la commande : $ nmcli con showpour lister les connexions, puis trouver votre connexion filaire. Elle affichera des noms tels que « Connexion filaire 1 » ou des noms personnalisés.
Activez WoL pour cette connexion : $ sudo nmcli c modify "Wired connection 1" 802-3-ethernet.wake-on-lan magic
Vérifiez si cette option est activée : $ nmcli c show "Wired connection 1" | grep 802-3-eth
Si le résultat est flou ou ne fonctionne pas, vous devrez peut-être le réappliquer à chaque démarrage ou l’intégrer aux routines de démarrage.
Méthode 2 : Utiliser systemd pour exécuter ethtool au démarrage
C’est un peu bricolé, mais ça fonctionne bien. En gros, il s’agit de créer un service systemd qui exécute la ethtoolcommande au démarrage, afin d’activer automatiquement WoL à chaque fois.
Créez un fichier à l’emplacement suivant /etc/systemd/system/wol.serviceavec le contenu suivant :
[Unité] Description=Activer Wake-on-LAN Après=network-online.cible [Service] Type=oneshot ExecStart=/sbin/ethtool --change enp3s0 wol g [Installer] RecherchéPar=network-online.cible
Remplacez enp3s0par le nom réel de votre interface. Enregistrez le fichier, puis exécutez : $ sudo systemctl daemon-reload `$ sudo systemctl enable wol.service` `$ sudo systemctl start wol.service`
Vérifier l’état avec : $ systemctl status wol
Ainsi, le WoL devrait s’activer automatiquement après chaque redémarrage, ce qui est un soulagement.
Tester et envoyer des paquets magiques
Une fois la configuration terminée, il est temps de tester. Vérifiez que votre machine prend bien en charge les modes de veille comme la suspension (à vérifier avec [nom de l’ $ systemctl status suspend.targetoutil/méthode]) et éteignez-la pour effectuer le test, ou mettez-la en veille. Ensuite, utilisez une application cliente ou des outils en ligne de commande comme Wake-on-LAN ou EtherWake pour saisir l’adresse MAC.
Installez l’outil : $ sudo apt-get install wakeonlan etherwake
Envoyez votre paquet magique : $ wakeonlan <MAC-address>ou : $ etherwake <MAC-address>
Si votre configuration réseau n’est pas trop restrictive et que le BIOS est correctement configuré, votre PC devrait se réveiller. Notez que les paquets WoL fonctionnent généralement uniquement au sein du même segment LAN ; aucun routage n’intervient ici.
Résumé
- Vérifiez que le BIOS a la fonction WoL activée.
- Utilisez cette fonction
ethtoolpour vérifier et activer/désactiver la prise en charge de WoL. - Rendre WoL persistant via NetworkManager ou des scripts systemd.
- Testez avec
wakeonlanouetherwake.
Conclure
Configurer le Wake-on-LAN (WoL) sous Linux relève parfois davantage de la résolution de problèmes de compatibilité matérielle et de pilotes que de la maîtrise du logiciel lui-même. Mais une fois configuré, c’est très pratique : réveiller des serveurs ou un PC depuis une autre pièce sans SSH est un vrai plus. Sachez simplement que parfois, votre carte réseau ne prend tout simplement pas en charge le WoL, malgré tous vos efforts de configuration. Espérons que ce guide aidera certains à surmonter les obstacles et à rendre les réveils à distance fiables.