Linux | Wake-on-LAN 配置
Wake-on-LAN(WOL)允许你通过网络唤醒一台处于关机状态的计算机,只要该设备的硬件支持且仍处于供电状态(例如关机后主板灯亮)。
📋 教程概要
- 启用主板 BIOS 设置
- 在 Debian 系统中配置网卡支持 WOL
- 使用
wakeonlan
工具从另一台设备发送魔术唤醒包
🔧 第一步:启用 BIOS 中的 Wake-on-LAN 设置
- 重启电脑并进入 BIOS/UEFI(一般是按
Del
或F2
) - 查找类似下列的设置项,并启用它们:
Power Management
>Wake on LAN
Advanced
>Wake on PCI-E
或Resume by LAN
- 确保选项设置为
Enabled
- 保存并退出 BIOS
🌐 第二步:在 Debian 中启用网卡 Wake-on-LAN
1. 确认网卡名称
使用以下命令查看网卡名称(假设为 eth0
,你可能看到的是 enp3s0
等):
ip link
2. 查看当前 WOL 支持情况
sudo ethtool eth0
查找输出中以下内容:
Supports Wake-on: pumbg
Wake-on: d
Supports Wake-on
显示网卡支持的唤醒模式Wake-on: d
表示目前已禁用 WOL,我们需要启用为g
(magic packet)
3. 临时启用 Wake-on-LAN
sudo ethtool -s eth0 wol g
这将在当前会话中启用 WOL,但重启后会失效。
4. 开机自动启用 Wake-on-LAN
使用 Systemd 服务自动设置
创建一个 systemd 服务:
sudo nano /etc/systemd/system/wol@.service
写入以下内容:
[Unit]
Description=Enable Wake-on-LAN on interface %i
After=network.target
[Service]
Type=oneshot
ExecStart=/sbin/ethtool -s %i wol g
[Install]
WantedBy=multi-user.target
保存并关闭,然后启用服务(替换 eth0
为实际网卡名称):
sudo systemctl enable wol@eth0.service
🧪 第三步:获取 MAC 地址
使用以下命令获取网卡的 MAC 地址:
ip link show eth0
查找 link/ether
:
link/ether 00:1a:2b:3c:4d:5e brd ff:ff:ff:ff:ff:ff
记录该地址,稍后将用于发送魔术包。
📦 第四步:安装并使用 Wake-on-LAN 客户端工具
1. 使用 apt 安装 wakeonlan 工具
sudo apt update
sudo apt install wakeonlan
2. 使用 wakeonlan 命令唤醒目标主机
wakeonlan -i 192.168.6.255 -p 9 00:1a:2b:3c:4d:5e
请将上面的 MAC 地址替换为你目标主机的真实 MAC 地址。
这个命令需要在 同一个局域网内的其他计算机 上运行。
🚧 第五步:常见问题与排查
问题描述 | 排查建议 |
---|---|
BIOS 中没有 Wake-on-LAN 选项 | 查看是否有 Wake on PCI-E 或 Power on by LAN 类似选项 |
Debian 重启后设置失效 | 确保已启用 systemd 的 WOL 服务 |
魔术包发送后无效 | 确保设备关机后仍有供电(主板指示灯亮),网线连接正常 |
防火墙或路由器阻止广播包 | 确保 UDP 广播端口(通常为 9)未被阻断 |
🧾 参考链接
更新日志
2025/6/15 11:14
查看所有更新日志
13186
-initial于