Comment activer Wake On Lan (WOL) dans Ubuntu 16.04

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

    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 parameters et redémarrez.

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

    Attention, certaines cartes mères / contrôleurs de réseau ne prennent pas en charge les WOL à partir du démarrage à froid (état S5, où le système est mis sous tension et sous tension physiquement). 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.

    J’ai trouvé un meilleur moyen qui a fonctionné pour moi. Au moins d’une manière plus propre. Je poste cela parce que, tout en recherchant Ubuntu 16 wol et d’autres recherches similaires, je suis tombé sur ce message à plusieurs resockets. Cela pourrait aider quelqu’un d’autre.

    Apparemment, Ubuntu a changé pour upstart pour systemd , ceci dans Ubuntu 15, Ubuntu 16 et probablement les prochaines versions aussi. 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/wol@.service (conservez 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/wol@eth3.service to /etc/systemd/system/wol@.service. 
    3. Pour vérifier si elle est activée, exécutez la commande suivante (changez eth3 avec votre interface) . Cette opération devrait rendre enabled :

       systemctl is-enabled wol@eth3 
    4. Pour tester cela, redémarrez et lancez (changez eth3 avec votre interface) :

       ethtool eth3 

      Vous devriez voir une ligne avec ce qui suit:

       Wake-on: g 

    Sources:

    • SystemdForUpstartUsers – Wiki Ubuntu
    • Réveil sur réseau local – ArchWiki
    • systemd – ArchWiki
    • 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 le fonctionnement du système.
      – upstart – démon init basé sur des événements

    • ststemd:

      systemd est une suite de blocs de construction de base pour un système Linux. Il fournit un gestionnaire de système et de services qui s’exécute en tant que PID 1 et démarre le rest du système. (…)
      – systemd

    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 dans le répertoire /etc/rc6.d/ :

       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 (pour 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 si cela fonctionne en éteignant votre machine 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 désactivé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

    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 suivant pour vous réveiller le lan après avoir écrit la deuxième commande

    la source

    Outre les parameters suggérés par @nkef, vous pouvez définir les éléments suivants dans / etc / network / interfaces si vous utilisez DHCP au lieu de parameters 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).

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

     nmcli connection show 

    Rappelez-vous NOM de la connexion de TYPE “802-3-ehternet” pour DEVICE 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 

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