Eu encontrei Libvirt-wakeonlan que parece fazer isso. Não tenho ideia de quão maduro é e de como funciona. A abordagem parece certa. link
Estou fazendo virtualização com o KVM e gerenciando-o através do daemon do Libvirt.
Como configuro o Libvirt ou o KVM para ouvir os pacotes Wake-On-Lan que enviaram o endereço MAC da NIC da máquina virtual e para iniciar a máquina virtual quando esse pacote é recebido?
Eu encontrei Libvirt-wakeonlan que parece fazer isso. Não tenho ideia de quão maduro é e de como funciona. A abordagem parece certa. link
O Wake-On-LAN é Wake-On-LAN, quer você use uma máquina virtual ou uma máquina física. Se o seu software de virtualização suportar, use apenas uma ferramenta de WoL contra o endereço MAC.