Avviare macchine fisiche via rete
Wake-on-LAN (WoL) permette di accendere un server spento inviando un pacchetto "magic packet" al suo indirizzo MAC.
1. Prerequisiti
- Scheda di rete con supporto WoL
- WoL abilitato nel BIOS/UEFI
- Cavo Ethernet collegato (non funziona via WiFi)
2. Abilitare WoL su Linux
# Verificare supporto
ethtool enp0s3 | grep Wake-on
# Se mostra "d" (disabled), abilitare:
ethtool -s enp0s3 wol g
3. Rendere persistente
# /etc/systemd/system/wol.service
[Unit]
Description=Enable Wake-on-LAN
After=network.target
[Service]
Type=oneshot
ExecStart=/sbin/ethtool -s enp0s3 wol g
[Install]
WantedBy=multi-user.target
systemctl enable wol.service
4. Inviare magic packet
# Dal client
apt install wakeonlan -y
wakeonlan AA:BB:CC:DD:EE:FF
# Con etherwake
apt install etherwake -y
etherwake -i eth0 AA:BB:CC:DD:EE:FF
5. WoL via PHP (per dashboard web)
// Invia magic packet via PHP socket
function wol($mac, $broadcast = "192.168.1.255") {
$mac = str_replace([":", "-"], "", $mac);
$packet = str_repeat(chr(255), 6) . str_repeat(pack("H12", $mac), 16);
$sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
socket_set_option($sock, SOL_SOCKET, SO_BROADCAST, true);
socket_sendto($sock, $packet, strlen($packet), 0, $broadcast, 9);
socket_close($sock);
}
WoL è integrato nella dashboard homelab del sito per accendere i server Proxmox da remoto.