Comment activer Wake On Lan (WOL) dans Ubuntu 16.04 LTS?
J'ai trouvé une meilleure façon de travailler pour moi. Au moins une façon plus propre. Apparemment, Ubuntu a changé par défaut pour systemd , dans Ubuntu 15.04, Ubuntu 16.04 et probablement les prochaines versions aussi. Je suis nouveau sur les deux systèmes mais cela a fonctionné pour moi.
Je poste parce que tout googler Ubuntu 16 wol et d' autres recherches similaires , je suis tombé avec ce poste à plusieurs reprises. Cela pourrait aider quelqu'un d'autre.
Pour que WOL continue de fonctionner, j'ai dû le réactiver à chaque démarrage du système. Pour éviter de le faire manuellement, j'ai utilisé systemd à cet effet. C'est ce que j'ai fait:
Créez d'abord le fichier /etc/systemd/system/[email protected]
(conservez le symbole @). Mettez ça dedans:
[Unit]
Description=Wake-on-LAN for %i
Requires=network.target
After=network.target
[Service]
ExecStart=/sbin/ethtool -s %i wol g
Type=oneshot
[Install]
WantedBy=multi-user.target
Activez ceci pour l'interface au démarrage, exécutez la commande suivante (changez eth3 avec votre interface):
systemctl enable wol@eth3
Vous devriez voir quelque chose comme ceci:
Created symlink from /etc/systemd/system/multi-user.target.wants/[email protected] to /etc/systemd/system/[email protected].
Pour vérifier s'il est activé, exécutez la commande suivante (changez eth3 avec votre interface) et elle devrait retourner enabled
:
systemctl is-enabled wol@eth3
Pour tester cela, redémarrez et exécutez (changez eth3 avec votre interface):
ethtool eth3
Vous devriez voir une ligne avec ce qui suit:
Wake-on: g
Sources:
parvenu:
Upstart est un remplacement basé sur les événements du démon / sbin / init qui gère le démarrage des tâches et des services pendant le démarrage, les arrête pendant l'arrêt et les supervise pendant que le système fonctionne.
- upstart - démon init basé sur les événements
systemd:
systemd est une suite de blocs de construction de base pour un système Linux. Il fournit un gestionnaire de système et de service qui s'exécute en tant que PID 1 et démarre le reste du système. (...)
- systemd
Dans Ubuntu 16.04 ensemble
WOL_DISABLE=N
dans/etc/default/tlp
pour éviter d' avoir WOL désactivé par TLP gestion de l' énergie.http://linrunner.de/en/tlp/docs/tlp-configuration.html
Ajouter
NETDOWN=no
à/etc/default/halt
pour éviter la mise hors tension de la carte réseau pendant l' arrêtActivez Wake on LAN in
/etc/network/interfaces
lorsque la configuration réseau statique est utilisée.Activez le réveil sur réseau local dans le BIOS, entrez dans la configuration du BIOS et recherchez quelque chose appelé "réveil sur événement PCI", "réveil sur LAN" ou similaire. Modifiez-le pour qu'il soit activé. Enregistrez vos paramètres et redémarrez.
https://help.ubuntu.com/community/WakeOnLan
Attention, certaines cartes mères / contrôleurs réseau ne prennent pas en charge WOL à partir du démarrage à froid (état S5, où l'alimentation du système est physiquement coupée puis de nouveau sous tension). Dans ce cas, au moins un cycle d'alimentation (mise sous tension, arrêt) doit être effectué. Pour atténuer le problème, le BIOS peut être configuré pour s'allumer lorsque le CA est restauré et planifier un arrêt dans Ubuntu par la suite. Reportez-vous au manuel de la carte mère pour plus de détails.
la source
WOL_DISABLE=N
etNETDOWN=no
devraient faire partie de help.ubuntu.com/community/WakeOnLanExécutez ce qui suit dans le terminal:
vous devriez voir un g à côté de se réveiller sur lan après avoir écrit la deuxième commande
la source
la source
Pour que WOL fonctionne, assurez-vous que votre interface Ethernet est correctement arrêtée par votre système lors de la mise hors tension.
Essayez ce qui suit:
Créez un script bash appelé wol_poweroff.sh dans le répertoire /etc/rc6.d/ :
Mettez ce code dedans:
Copiez-le dans le répertoire /etc/rc0.d (pour qu'il fonctionne également avec halt ):
Rendez-les tous les deux exécutables:
Maintenant, testez pour voir si cela fonctionne en éteignant votre machine avec
sudo shutdown now
ousudo poweroff
et en utilisant un outil WOL pour lui envoyer un paquet magique.C'était la seule chose qui fonctionnait pour moi. J'ai trouvé ces étapes dans un rapport de bogue sur launchpad.net.
Selon l'auteur, Robbie Williamson, cela fonctionne pour les raisons suivantes:
Source: https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/981461
la source
Si vous utilisez NetworkManager, vous pouvez activer WOL via
nmcli
:N'oubliez pas le NOM de la connexion du TYPE "802-3-ehternet" pour le DISPOSITIF qui vous intéresse. Dites que son nom est "Connexion filaire 1". Modifiez-le ensuite correctement:
Pour obtenir son adresse MAC:
À partir de maintenant, vous pouvez l'éteindre et l'allumer à partir d'une autre machine sur le même LAN par la
wakeonlan 1a:2b:3c:4d:5e:6f
commande, où1a:2b:3c:4d:5e:6f
est l'adresse MAC de la carte LAN de l'étape précédente.la source
Outre les paramètres suggérés par @nkef, vous pouvez définir les paramètres suivants dans / etc / network / interfaces si vous utilisez DHCP au lieu des paramètres IP statiques pour l'adaptateur LAN (ici nommé eth0):
(testé sur Ubuntu 16.04 LTS).
la source
Cela m'a juste mordu aussi sous Ubuntu 18.04 (installation sans tête / minimale), malheureusement, les réponses déjà répertoriées ici, bien qu'elles semblent parfois fonctionner, ne fourniront pas de solution fiable car elles créent des conditions de course ou se battent avec des gens comme systemd, netplan et udev.
J'avais également essayé cette approche au début et cela semblait fonctionner, je planifie un système pour démarrer chaque soir via WakeOnLan pour exécuter des sauvegardes car le BIOS du système ne fournit pas d'AC planifié en option.
Cela fonctionnerait pendant quelques jours, puis refuserait de se réveiller, en l'allumant manuellement et en exécutant ethtool a révélé que WoL avait été désactivé:
J'ai donc pensé que quelque chose d'autre devait le désactiver et avoir eu beaucoup de problèmes au cours des dernières années avec la prise en charge par systemd de certaines parties du système, j'ai décidé de commencer ici, voilà:
WakeOnLan = .. .. La valeur par défaut est off.
https://www.freedesktop.org/software/systemd/man/systemd.link.html
Les exemples en ligne montrent quelque chose comme:
/etc/systemd/network/50-wired.link
Mais cela ne fonctionnait toujours pas. Puis je suis tombé sur ceci:
ce qui s'est traduit par:
Et qu'est-ce que je trouve dans /run/systemd/network/10-netplan-eno1.link?
Solution soit:
Comme j'avais déjà le fichier systemlink .link, je l'ai simplement renommé 00-wired.link, redémarré et maintenant ethtool eno1 rapporte:
Sans aucun service supplémentaire uniquement dans le but d'essayer d'activer WoL.
la source