¿Cómo puedo habilitar wake-on-lan de forma permanente?

13

Quiero habilitar wake-on-lan para mis tarjetas de red, para siempre. La guía de la comunidad recomienda agregar el comando correspondiente a /etc/network/interfaces. En experiencias anteriores editando archivos conf de Ubuntu, es extremadamente probable que el archivo de interfaz de red se escriba de nuevo en cada arranque, si no en cada actualización apta. ¿Cuál es la mejor manera de garantizar que Wake-on-lan esté habilitado en cada arranque?

djeikyb
fuente

Respuestas:

12

Una secuencia de comandos de arranque que se ejecuta después de configurar las tarjetas de red debería ser suficiente. Ubuntu usa advenedizo. Después de leer acerca de los trabajos de arranque, ethtool, escribir un script de arranque y buscar entre las redes para encontrar una mejor solución, se me ocurrió esto desde jevinskie (querrás poner esto en un archivo /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
  • Comienza cuando se inicializan los nics
  • Toma los nombres nic de / proc / net / dev
  • Registra acciones en syslog
  • Actúa sobre todos los nics encontrados
  • Requiere ethtool, así que asegúrese de que esté instalado primero:

    sudo apt-get install ethtool
    

Si desea imbuir a un solo nic con el poder del despertar, algo como esto es más apropiado:

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
fuente
2
Siempre pensé que wake on lan era una característica del BIOS.
con-f-use
@ con-f-use Requiere cooperación entre BIOS y NIC. Ambos deben apoyar a WOL. Además, al menos mi nic tiene la mala costumbre de desactivar wol después del arranque. El wiki de la comunidad de Ubuntu implica que este es el caso de muchas computadoras.
djeikyb
@ con-f-use Este hilo de superuser.sx sobre cómo funciona la alimentación y el reinicio también es interesante en lo que respecta a WOL.
djeikyb
¿Esto necesita ser cambiado para systemd?
Nathan Osman el
@NathanOsman por favor agregue una respuesta systemd! esta solución aún es relevante para versiones anteriores de LTS pero aún soportadas
djeikyb
1

En Ubuntu 16.04, además, establecer WOL_DISABLE=Nen /etc/default/tlppara evitar ser WOL desactivado por la administración de energía TLP.

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

Añadir NETDOWN=noen /etc/default/haltpara evitar apagar la tarjeta de red durante el apagado

nkef
fuente