Comment puis-je activer le réveil sur réseau en permanence?

13

Je veux activer le wake-on-lan pour mes cartes réseau, pour toujours. Le guide de la communauté recommande d'ajouter la commande appropriée à /etc/network/interfaces. Dans les expériences passées de modification des fichiers de configuration Ubuntu, il est extrêmement probable que le fichier d'interface réseau soit réécrit à chaque démarrage, sinon à chaque mise à niveau d'apt. Quelle est la meilleure façon de garantir que le réveil sur réseau local est activé à chaque démarrage?

djeikyb
la source

Réponses:

12

Un script de démarrage exécuté après la configuration des cartes réseau devrait faire l'affaire. Ubuntu utilise upstart. Après avoir lu sur les travaux parvenus, ethtool, écrit un script parvenu et recherché les interwebs pour une meilleure solution, j'ai trouvé cela de jevinskie (vous voudrez le mettre dans un fichier /etc/init):

start on started network

script
    for interface in $(cut -d: -f1 /proc/net/dev | tail -n +3); do
        logger -t 'wakeonlan init script' enabling wake on lan for $interface
        ethtool -s $interface wol g
    done
end script
  • Commence lorsque les nics sont initialisés
  • Récupère les noms nic de / proc / net / dev
  • Enregistre les actions dans syslog
  • Agit sur tous les nics trouvés
  • Nécessite ethtool, assurez-vous donc qu'il est installé en premier:

    sudo apt-get install ethtool
    

Si vous voulez imprégner un seul nic de la puissance de l'éveil, quelque chose comme ça est plus approprié:

start on started network

script
    interface=eth0
    logger -t 'wakeonlan init script' enabling wake on lan for $interface
    ethtool -s $interface wol g
end script
djeikyb
la source
2
J'ai toujours pensé que wake on lan était une fonctionnalité du BIOS.
con-f-use
@ con-f-use Il nécessite une coopération entre le BIOS et la carte réseau. Les deux doivent prendre en charge WOL. De plus, au moins mon nic a la mauvaise habitude de désactiver wol après le démarrage. Le wiki de la communauté Ubuntu implique que c'est le cas pour de nombreux ordinateurs.
djeikyb
@ con-f-use Ce fil superuser.sx sur le fonctionnement de l'alimentation et du redémarrage est également intéressant en ce qui concerne WOL.
djeikyb
Faut-il changer cela pour systemd?
Nathan Osman
@NathanOsman veuillez ajouter une réponse systemd! cette solution est toujours pertinente pour les versions LTS plus anciennes mais toujours prises en charge
djeikyb
3

Créez un nouveau fichier, disons wakeonlanconfig, et mettez-y des lignes ci-dessous:

#!/bin/bash
ethtool -s eth0 wol g
exit

Ensuite, définissez les autorisations du fichier, le rendant exécutable:

chmod a+x wakeonlanconfig

Et enfin, exécutez le script au démarrage:

update-rc.d -f wakeonlanconfig defaults

Pour plus de détails, veuillez visiter: http://lukasz-lademann.blogspot.com/2013/01/how-set-up-wol-wake-on-lan-on-thin.html

Lukasz
la source