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)
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.
- Entrar en la configuración del BIOS/UEFI durante el arranque del escritorio (normalmente tecla
DEL
oF2
) - 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
- 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 estadoShutdown
. (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.
Add a New Comment