¿Cómo habilitar Wake On Lan (WOL) en Ubuntu 16.04 LTS?
He encontrado una mejor manera que funcionó para mí. Al menos una forma más limpia. Aparentemente, Ubuntu cambió el sistema de arranque para systemd , en Ubuntu 15.04, Ubuntu 16.04 y presumiblemente las próximas versiones también. Soy nuevo en ambos sistemas, pero esto funcionó para mí.
Estoy publicando esto porque mientras busqué en google Ubuntu 16 wol y otras búsquedas similares me encontré con esta publicación varias veces. Esto podría ayudar a alguien más.
Para mantener el funcionamiento de WOL, tuve que volver a habilitarlo cada vez que el sistema se iniciaba. Para evitar hacer esto manualmente, usé systemd para este propósito. Esto es lo que hice:
Primero, cree el archivo /etc/systemd/system/[email protected]
(mantenga el símbolo @). Pon esto en esto:
[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
Habilite esto para la interfaz en el arranque, ejecute el siguiente comando (cambie eth3 con su interfaz):
systemctl enable wol@eth3
Debería ver algo como esto:
Created symlink from /etc/systemd/system/multi-user.target.wants/[email protected] to /etc/systemd/system/[email protected].
Para verificar si está habilitado, ejecute el siguiente comando (cambie eth3 con su interfaz) y debería regresar enabled
:
systemctl is-enabled wol@eth3
Para probar esto, reinicie y ejecute (cambie eth3 con su interfaz):
ethtool eth3
Debería ver una línea con lo siguiente:
Wake-on: g
Fuentes:
advenedizo:
Upstart es un reemplazo basado en eventos para el demonio / sbin / init que maneja el inicio de tareas y servicios durante el arranque, deteniéndolos durante el apagado y supervisándolos mientras el sistema se está ejecutando.
- advenedizo - demonio init basado en eventos
systemd:
systemd es un conjunto de bloques de construcción básicos para un sistema Linux. Proporciona un administrador de sistemas y servicios que se ejecuta como PID 1 e inicia el resto del sistema. (...)
- systemd
En Ubuntu 16.04 conjunto
WOL_DISABLE=N
de/etc/default/tlp
evitar de conseguir WOL desactivado por la administración de energía TLP.http://linrunner.de/en/tlp/docs/tlp-configuration.html
Añadir
NETDOWN=no
en/etc/default/halt
para evitar apagar la tarjeta de red durante el apagadoActive Wake on LAN
/etc/network/interfaces
cuando se use la configuración de red estática.Active Wake on LAN en BIOS, ingrese a la configuración de BIOS y busque algo llamado "Wake up on PCI event", "Wake up on LAN" o similar. Cámbielo para que esté habilitado. Guarde su configuración y reinicie.
https://help.ubuntu.com/community/WakeOnLan
Advertencia: algunas placas base / controladores de red no admiten WOL desde el arranque en frío (estado S5, donde la alimentación del sistema se apaga físicamente y se vuelve a encender). En ese caso, se debe realizar al menos un ciclo de encendido (encendido, apagado). Para mitigar el problema, el BIOS se puede configurar para que se encienda cuando se restablezca la CA y luego se programe un apagado dentro de Ubuntu. Consulte el manual de la placa base para obtener más detalles.
fuente
WOL_DISABLE=N
yNETDOWN=no
deberían ser parte de help.ubuntu.com/community/WakeOnLanEjecute lo siguiente en la terminal:
deberías ver una g junto a Wake on LAN después de escribir el segundo comando
fuente
fuente
Para que WOL funcione, asegúrese de que su sistema apaga correctamente la interfaz de Ethernet cuando la apaga.
Intenta lo siguiente:
Cree un script bash llamado wol_poweroff.sh en el directorio /etc/rc6.d/ :
Pon este código en él:
Copiarlo en el /etc/rc0.d directorio (por lo que también trabaja con alto ):
Haz que ambos sean ejecutables:
Ahora pruebe para ver si funciona apagando su máquina con
sudo shutdown now
osudo poweroff
y usando una herramienta WOL para enviarle un paquete mágico.Eso fue lo único que funcionó para mí. Encontré esos pasos en un informe de error en launchpad.net.
Según el autor, Robbie Williamson, esto funciona debido a lo siguiente:
Fuente: https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/981461
fuente
Si usa NetworkManager, puede habilitar WOL a través de
nmcli
:Recuerde NOMBRE de la conexión del TIPO "802-3-ehternet" para el DISPOSITIVO de interés. Digamos que su nombre es "Conexión por cable 1". Luego modifíquelo correctamente:
Para obtener su dirección MAC:
A partir de ahora puede apagarlo y encenderlo desde otra máquina en la misma LAN mediante
wakeonlan 1a:2b:3c:4d:5e:6f
comando, donde se1a:2b:3c:4d:5e:6f
encuentra la dirección MAC de la tarjeta LAN del paso anterior.fuente
Además de los parámetros sugeridos por @nkef, puede establecer lo siguiente en / etc / network / interfaces si utiliza DHCP en lugar de la configuración de IP estática para el adaptador LAN (aquí denominado eth0):
(probado en Ubuntu 16.04 LTS).
fuente
Esto también me mordió en Ubuntu 18.04 (instalación sin cabeza / mínima), desafortunadamente las respuestas que se enumeran aquí, aunque a veces parecen funcionar, no proporcionarán una solución confiable ya que crean condiciones de carrera o luchan con los gustos de systemd, netplan y udev.
Al principio también probé este enfoque y parecía funcionar, estoy programando un sistema para que arranque cada noche a través de WakeOnLan para ejecutar copias de seguridad ya que el BIOS del sistema no proporciona una opción de CA programada.
Funcionaría durante unos días y luego se negaría a despertarse, al encenderlo manualmente y ejecutar ethtool reveló que WoL había sido desactivado:
Así que pensé que algo más tenía que estar apagándolo y habiendo tenido muchos de estos problemas en los últimos años con el sistema tomando el control de partes del sistema, decidí comenzar aquí, he aquí:
WakeOnLan = .. .. Por defecto está desactivado.
https://www.freedesktop.org/software/systemd/man/systemd.link.html
Los ejemplos en línea muestran algo como:
/etc/systemd/network/50-wired.link
Cómo alguna vez esto todavía no funcionaba. Entonces me encontré con esto:
que resultó en:
¿Y qué encuentro en /run/systemd/network/10-netplan-eno1.link?
Solución Cualquiera:
Como ya tenía el archivo systemd .link, simplemente lo renombré a 00-wired.link, reinicié y ahora ethtool eno1 informa:
Sin ningún servicio adicional con el único fin de intentar habilitar WoL.
fuente