web-dev-qa-db-fra.com

Comment activer Wake On Lan (WOL) dans Ubuntu 16.04

Comment activer Wake On Lan (WOL) dans Ubuntu 16.04 LTS?

24
nkef

J'ai trouvé un meilleur moyen qui a fonctionné pour moi. Au moins d'une manière plus propre. Je publie cela parce que tout googler Ubuntu 16 wol et d'autres recherches similaires que j'ai rencontrées poster plusieurs fois. Cela pourrait aider quelqu'un d'autre.

Apparemment, Ubuntu a changé en amont pour systemd , ceci dans Ubuntu 15, Ubuntu 16 et vraisemblablement les versions suivantes. Je suis nouveau dans les deux systèmes mais cela a fonctionné pour moi.

Pour que WOL continue de fonctionner, je devais le réactiver à chaque démarrage du système. Pour éviter de le faire manuellement, j'ai utilisé systemd à cette fin. C'est ce que j'ai fait:

  1. Commencez par créer le fichier /etc/systemd/system/[email protected] (gardez le symbole @). Mettez ceci 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
    
  2. 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 ça:

    Created symlink from /etc/systemd/system/multi-user.target.wants/[email protected] to /etc/systemd/system/[email protected].
    
  3. Pour vérifier s'il est activé, exécutez la commande suivante (changez eth3 avec votre interface) et il devrait retourner enabled:

    systemctl is-enabled wol@eth3
    
  4. 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
    

19
loco.loop

Dans Ubuntu 16.04, définissez WOL_DISABLE=N dans /etc/default/tlp pour éviter que WOL ne soit désactivé par la gestion de l'alimentation de TLP.

http://linrunner.de/en/tlp/docs/tlp-configuration.html

Ajoutez NETDOWN=no dans /etc/default/halt pour empêcher la mise hors tension de la carte réseau pendant l'arrêt.

Activez Wake on LAN dans /etc/network/interfaces lorsque la configuration réseau statique est utilisée.

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface

auto lo
iface lo inet loopback
# The primary network interface

auto eth0
iface eth0 inet static
        address 192.168.0.10
        netmask 255.255.255.0
        gateway 192.168.0.1
        dns-nameservers 192.168.0.1
        up ethtool -s eth0 wol g

Activez le réveil sur réseau dans le BIOS, entrez dans la configuration du BIOS et recherchez un événement appelé "événement de réveil sur PCI", "réveil sur réseau local" ou similaire. Changez-le pour qu'il soit activé. Enregistrez vos paramètres et redémarrez.

https://help.ubuntu.com/community/WakeOnLan

Avertissement Certaines cartes mères/contrôleurs de réseau ne prennent pas en charge WOL à partir du démarrage à froid (état S5, où l'alimentation du système est physiquement désactivée, puis réactivée. encore). 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 se mettre sous tension une fois l'AC restauré et pour ensuite planifier un arrêt sous Ubuntu. Reportez-vous au manuel de la carte mère pour plus de détails.

18
nkef

Pour que WOL fonctionne, assurez-vous que votre système est correctement arrêté par votre système lors de la mise hors tension.

Essayez ce qui suit:

  1. Créez un script bash appelé wol_poweroff.sh sur le /etc/rc6.d/ répertoire:

    Sudo nano /etc/rc6.d/wol_poweroff.sh
    
  2. Mettez ce code dedans:

    #!/bin/bash
    ifconfig eth0 down
    poweroff
    
  3. Copiez-le dans le répertoire /etc/rc0.d (de sorte qu'il fonctionne également avec halt ):

    Sudo cp /etc/rc6.d/wol_poweroff.sh /etc/rc0.d/wol_poweroff.sh
    
  4. Rendez-les tous les deux exécutables:

    Sudo chmod 755 /etc/rc6.d/wol_poweroff.sh
    Sudo chmod 755 /etc/rc0.d/wol_poweroff.sh
    

Testez maintenant pour voir s'il fonctionne en éteignant votre ordinateur avec Sudo shutdown now ou Sudo poweroff et en utilisant un outil WOL pour lui envoyer un paquet magique.


C'était la seule chose qui a fonctionné 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:

Pour que WOL fonctionne, l'interface Ethernet doit être correctement arrêtée dans le cadre de l'arrêt du système. Cela doit être effectué dans le cadre des niveaux d'exécution rc0 et rc6, en notant que Linux a généralement 7 niveaux d'exécution (ou modes de fonctionnement) différents:

rc0.d - Système arrêté

rc1.d - Mode mono-utilisateur

rc2.d - Mode mono-utilisateur avec mise en réseau

rc3.d - Mode multi-utilisateur - démarrer en mode texte

rc4.d - Pas encore défini

rc5.d - Mode multi-utilisateur - démarrer sous X Windows

rc6.d - Arrêt et redémarrage


Source: https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/981461

3
Edson Jr.

Exécutez ce qui suit dans le terminal:

Sudo ethtool -s {your network interface} wol g 
Sudo ethtool {your network interface}

vous devriez voir un g à côté de réveiller sur le réseau local après avoir écrit le second commander

source

2
Marwan Nabil

Outre les paramètres suggérés par @nkef, vous pouvez définir les éléments suivants dans / etc/network/interfaces si vous utilisez DHCP au lieu de paramètres IP statiques pour l'adaptateur LAN (ici nommé eth0):

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp
        ethernet-wol g

(testé sur Ubuntu 16.04 LTS).

1
rpr

Si vous utilisez NetworkManager, vous pouvez activer WOL via nmcliname__:

nmcli connection show

Rappelez-vous NOM de la connexion du type "802-3-ehternet" pour le périphérique d'intérêt. Dites-le nom est "Connexion filaire 1". Puis modifiez-le correctement:

nmcli connection modify "Wired connection 1" 802-3-ethernet.wake-on-lan magic

Pour obtenir son adresse MAC:

nmcli connection show "Wired connection 1" | grep 802-3-ethernet.mac-address

À partir de maintenant, vous pouvez l'éteindre et l'allumer depuis une autre machine du même réseau local à l'aide de la commande wakeonlan 1a:2b:3c:4d:5e:6f, où 1a:2b:3c:4d:5e:6f est l'adresse MAC de la carte LAN de l'étape précédente.

1
Orient