vim /etc/systemd/system/wol@.service
[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
# 查看需要WOL的网卡名称xxx
ip a|grep -i UP
sudo systemctl daemon-reload
sudo systemctl enable wol@xxx.service
sudo systemctl start wol@xxx.service
# 查看xxx的WOL状态
ethtool xxx|grep -i wake
# wake-on含义
a: 唤醒当系统接收到ARP请求时。
b: 唤醒当系统接收到广播消息时。
g: 唤醒当系统接收到魔术包(Magic Packet)时。这是最常用的WoL触发方式,魔术包是一个特殊的UDP数据包,其中包含了目标机器的MAC地址。
u: 唤醒当系统接收到单播帧时(即,直接发给该设备的数据包)。
m: 唤醒当系统接收到Magic Packet over UDP时。
s: 唤醒当系统从系统管理中断(SMBIOS)接收到事件时。
p: 唤醒当系统接收到PPP LCP回声请求时。
d: 禁用Wake-on-LAN功能。
在局域网其他主机上执行命令进行唤醒
apt install wakeonlan -y &&
wakeonlan 3c:ec:ef:e0:d6:11