- 检查网络接口是否支持 WOL
执行以下命令检查网络接口的 WOL 支持情况:
sudo ethtool <网络接口名>
例如,如果网络接口名是 eth0:
sudo ethtool eth0
查找 Wake-on 项,输出可能如下:
Wake-on: g
g 表示支持魔术包(magic packet)唤醒。
如果显示 d,则表示禁用,需要启用。
2. 启用 Wake-on-LAN
执行以下命令启用:
sudo ethtool -s <网络接口名> wol g
sudo ethtool -s eth0 wol g
启用后可以再次检查 ethtool 输出,确保 Wake-on 项为 g。
- 配置系统启动时自动启用 WOL
默认情况下,系统重启后 WOL 设置可能会丢失。为此,需要将其添加到网络配置中:
方法一:通过 networkd 或 Netplan 配置
如果使用 Netplan 管理网络配置,编辑 Netplan 文件(通常在 /etc/netplan/ 目录下,文件名可能为 01-netcfg.yaml 或类似):
network:
version: 2
ethernets:
eth0:
dhcp4: true
wakeonlan: true
应用更改:
sudo netplan apply
方法二:通过 rc.local
编辑 /etc/rc.local 文件(如果不存在,可以创建):
sudo nano /etc/rc.local
添加以下内容:
#!/bin/bash
ethtool -s eth0 wol g
exit 0
保存后使其可执行:
sudo chmod +x /etc/rc.local
- BIOS/UEFI 设置
确保主板的 BIOS/UEFI 中已启用 WOL。
启动时进入 BIOS 设置(通常按 Delete, F2 或其他按键)。
找到网络相关设置(通常在 Power Management 或 Advanced 菜单中)。
确保 Wake-on-LAN 或类似选项已启用。
5. 防火墙设置
检查防火墙是否阻止了 WOL 的魔术包:
WOL 使用 UDP 协议,通常在端口 9 或 7。确保防火墙允许这些端口。
查看防火墙规则:
sudo ufw status
添加规则(允许端口 9 和 7):
sudo ufw allow 9/udp
sudo ufw allow 7/udp
- 发送 WOL 魔术包
确保发送 WOL 魔术包时:
使用正确的目标 MAC 地址。
发送的网络广播地址正确(如 192.168.1.255)。
工具可以选择:
wakeonlan(Linux 工具)
路由器自带 WOL 功能
第三方工具(如手机 App)
示例:
wakeonlan <目标MAC地址>
评论区