Wake-on-LAN sur Proxmox / Debian
Dans mon lab, pve01 héberge le cluster k3s. Je ne le laisse pas allumé en permanence : le bruit et la consommation n’ont pas de sens pour un usage intermittent. L’idée du Wake-on-LAN, c’est de pouvoir le démarrer depuis une autre machine du LAN quand j’en ai besoin, puis de l’éteindre proprement le soir (voir l’arrêt automatique). Encore faut-il que le matériel le permette — BIOS, carte réseau, et une config Linux qui survive au reboot. Voici la procédure telle que je l’applique sur Proxmox / Debian.
1. Activer le WoL dans le BIOS
Section titled “1. Activer le WoL dans le BIOS”Avant toute manip sous Linux, il faut que le firmware accepte de sortir de l’état éteint sur un magic packet. Dans le BIOS/UEFI, l’option s’appelle souvent « Wake on PCI-E », « Power On by PCI-E » ou un équivalent dans les paramètres d’alimentation. Sans ça, ethtool peut afficher un support WoL impeccable et la machine restera quand même éteinte. On sauvegarde, on redémarre, puis on passe à l’OS.
2. Configurer WoL sous Linux
Section titled “2. Configurer WoL sous Linux”Une fois la machine démarrée, on vérifie d’abord que l’outil est là et que l’interface LAN est bien celle qu’on croit. J’installe ethtool, je liste les adresses avec ip addr, et je repère l’interface qui porte une IP du lab (pas le bridge Proxmox si ce n’est pas celle qui reçoit le packet — selon ta topologie).
sudo apt updatesudo apt install ethtool -yip addrEnsuite, on interroge le support matériel côté driver :
sudo ethtool enp0s31f6(Remplace enp0s31f6 par ton interface.) La ligne Supports Wake-on: doit contenir la lettre g : c’est le magic packet. On l’active pour la session courante :
sudo ethtool -s enp0s31f6 wol gSans persistance, ce réglage disparaît au prochain boot — et un nœud qu’on éteint tous les soirs aura justement besoin de le retrouver après le reboot suivant. Sur une Debian/Proxmox en ifupdown, j’ajoute ethernet-wol g à côté de la déclaration iface … dans /etc/network/interfaces. Sous netplan, NetworkManager ou systemd-networkd, la syntaxe change (WakeOnLan=magic, etc.) : l’important est de tester un cycle complet éteint → packet → boot avant de faire confiance au cron du soir.
3. Tester
Section titled “3. Tester”On éteint complètement la machine (pas un simple reboot). Depuis un autre hôte Linux du même LAN (ou d’un VLAN autorisé à joindre cette interface — chez moi c’est cohérent avec le plan UniFi), on envoie le magic packet vers l’adresse MAC :
wakeonlan d0:46:0c:8f:7a:5bSi BIOS, ethtool et la persistance sont corrects, pve01 démarre. Si rien ne se passe, je revérifie dans l’ordre : option BIOS, lettre g, bonne interface / bonne MAC, et le fait que le packet arrive bien sur le bon VLAN (un guest isolé n’enverra rien d’utile). Une fois le réveil fiable, on enchaîne sur l’arrêt automatique pour fermer le cycle on-demand.