1. Resumen: ¿Por qué es necesario?

Dejar un escritorio encendido 24 horas en casa o en la oficina no solo consume mucha energía, sino que también genera costos de mantenimiento.

Por lo tanto, comencé a considerar cómo encender remotamente el escritorio objetivo usando un pequeño servidor que funcione 24 horas, como un Raspberry Pi.

Para ello, se estableció la siguiente estrategia utilizando la función "Wake-on-LAN (WOL)".

  • Configuración del BIOS del escritorio: Activar la función WOL
  • Configuración de Linux (Ubuntu): Mantener activa la tarjeta de red después del apagado del sistema
  • Configuración de Raspberry Pi: Escribir y automatizar el script de envío de paquetes mágicos

Paquetes necesarios: - wakeonlan (para enviar paquetes mágicos desde Raspberry Pi o servidor)

Descripción general de Wake-on-LAN


2. Entorno de configuración

  • PC objetivo: Escritorio con Ubuntu 24.04 instalado
  • Servidor: Raspberry Pi 5 (Ubuntu Server 24.04)
  • Red: Conectado a la misma red local (se recomienda conexión por cable)

3. Configuración del BIOS del escritorio

Para usar Wake-on-LAN, la configuración del BIOS de la placa base es muy importante.

Método de configuración del BIOS

Configure los siguientes elementos en el BIOS. Utilicé una placa base GIGABYTE, y los usuarios de otras marcas pueden configurarlo consultando opciones similares.

  1. Entrar en la configuración del BIOS/UEFI durante el arranque del escritorio (normalmente tecla DEL o F2)
  2. Activar los siguientes elementos:

ERP (relacionado con el modo de ahorro de energía)
- Configuración de ERP: Deshabilitado, el modo de ahorro de energía puede bloquear la función WOL.

Activar CSM - Soporte CSM: Habilitado - Después de configurar CSM, pueden aparecer los siguientes elementos (en el caso de placas base GIGABYTE): - Opciones ROM de arranque PXE de LAN: mantener desactivado - Política de inicio de OpROM de almacenamiento: Legacy - Otros dispositivos PCI: Legacy

Reanudar por LAN / Encender por PCI-E
- Algunas placas admiten automáticamente sin opción separada → puede funcionar normalmente aunque no se muestre la opción

  1. Guardar y reiniciar

※ Puede haber pequeñas diferencias en los nombres de las opciones según el fabricante, así que busque opciones similares como 'Wake', 'Encender por PCI' y configúrelas.


4. Configuración de Linux en el escritorio (Ubuntu)

En Ubuntu, la NIC (tarjeta de interfaz de red) debe permanecer activa incluso cuando el sistema está apagado.

1. Verificar el nombre de la interfaz de red

ip a

Ejemplo de resultado:

2: enp4s0: ...
    link/ether <AA:BB:CC:DD:EE:FF> ...
  • enp4s0: Verifique el nombre de la interfaz de red. (Este es el nombre del dispositivo LAN por cable del escritorio, por lo que puede variar según el dispositivo.)
  • AA:BB:CC:DD:EE:FF: Dirección MAC (destino del paquete mágico) ※ Debe tener cuidado con la seguridad al exponer la dirección MAC.

2. Instalar ethtool

sudo apt update
sudo apt install ethtool

3. Verificar y configurar el estado WOL

sudo ethtool enp4s0 | grep Wake

Ejemplo de resultado:

Soporta Wake-on: pumbg
Wake-on: d
  • d → desactivado
  • Para habilitar, utilice el siguiente comando:
sudo ethtool -s enp4s0 wol g

Verifique nuevamente:

Wake-on: g

4. Configuración para que se active automáticamente durante el arranque (opcional: aplicable si Wake-on:g se desactiva después del reinicio)

Desde Ubuntu 20.04, /etc/rc.local ya no es compatible de forma predeterminada, por lo que se recomienda utilizar un servicio systemd.

Cómo crear /etc/rc.local:

sudo nano /etc/rc.local

Agregar encima de exit 0:

/sbin/ethtool -s enp4s0 wol g
exit 0

Después de guardar el archivo, otorgar permisos de ejecución:

sudo chmod +x /etc/rc.local

También puede ser necesario configurar el servicio systemd adicionalmente.


5. Envío de paquetes mágicos desde Raspberry Pi

1. Instalar el paquete wakeonlan

sudo apt install wakeonlan

2. Ejecutar el comando WOL

wakeonlan AA:BB:CC:DD:EE:FF # Reemplace con la dirección MAC verificada anteriormente.

3. (Opcional) Registrar un alias

# Reemplace la parte AA:BB:CC:DD:EE:FF con la dirección MAC de la PC objetivo.
echo "alias wakeup_dude='wakeonlan AA:BB:CC:DD:EE:FF'" >> ~/.bashrc
source ~/.bashrc

→ Desde entonces, se puede ejecutar fácilmente así:

wakeup_dude

6. Resultados

  • El escritorio se enciende automáticamente después de recibir el paquete mágico, incluso cuando está completamente apagado
  • ¡Implementación exitosa del encendido remoto Wake-on-LAN!

7. Seguridad

  • Es fundamental reforzar la configuración de seguridad, como la conexión SSH del servidor 'Raspberry Pi' que actúa como centro de control, la configuración de seguridad del enrutador y la configuración de UFW.
  • Si se accede desde fuera, se recomienda utilizar reenvío de puertos SSH o VPN.

8. Ejemplo de uso

# Acceso externo
ssh username@<your_ip_or_domain> -p <your_ssh_port>
# Después de conectarse
wakeup_dude
🎉 ¡Arranque automático del escritorio!

9. Referencias

  • Wake-on-LAN solo funciona en LAN por cable (no es posible por Wi-Fi)
  • Algunas placas pueden funcionar en estado Suspend pero tienen limitaciones en estado Shutdown. (Se ha confirmado que en las placas GIGABYTE funciona también en Shutdown)

Al construir un entorno de escritorio que "solo despierta cuando es necesario", se logra una gestión de servidores más inteligente y eficiente.