网络唤醒 (WOL)
网络唤醒(Wake-on-LAN,简称 WOL)功能可以通过发送 Magic Packet 远程唤醒局域网内处于休眠或关机状态的设备,无需物理接触即可开机。
技术原理
Magic Packet 格式
Magic Packet 是一种特殊的 UDP 广播数据包,其结构如下:
+------------------+------------------------------------------+
| 同步流 (6字节) | FF FF FF FF FF FF |
+------------------+------------------------------------------+
| MAC 地址重复16次 | AA:BB:CC:DD:EE:FF × 16 (共96字节) |
+------------------+------------------------------------------+完整的 Magic Packet 共 102 字节:
- 前 6 字节:全为
0xFF(同步流) - 后 96 字节:目标设备 MAC 地址连续重复 16 次
工作流程
发送方(NetPanel) 目标设备
│ │
│ UDP 广播(端口 7 或 9) │
│──────────────────────────────────>│
│ Magic Packet(102字节) │
│ │
│ 网卡接收并识别 Magic Packet
│ │
│ 触发主板上电信号
│ │
│ 设备开机启动 ✓前提条件
| 条件 | 说明 |
|---|---|
| 网卡支持 WOL | 大多数现代有线网卡均支持,无线网卡通常不支持 |
| BIOS/UEFI 启用 WOL | 需要在固件设置中开启相关选项 |
| 操作系统配置 | Windows/Linux 需要允许网卡在关机后保持供电 |
| 网络可达 | 发送方与目标设备在同一广播域,或路由器支持 WOL 中继 |
| 网卡保持供电 | 设备关机后网卡仍需接收电源(ATX 待机电源) |
功能概述
- 发送 Magic Packet 唤醒局域网设备
- 支持保存常用设备,一键唤醒
- 支持指定广播地址和端口
- 支持跨网段定向广播唤醒
BIOS/UEFI 设置指南
不同主板厂商的设置路径略有不同,以下是常见设置方法:
Intel/华硕主板
- 开机按
Del或F2进入 BIOS - 进入 Advanced → APM Configuration
- 将 Power On By PCI-E/PCI 设置为
Enabled - 将 Wake on LAN 设置为
Enabled - 保存并退出(F10)
技嘉主板
- 开机按
Del进入 BIOS - 进入 Settings → IO Ports → Wake on LAN Enable
- 设置为
Enabled
联想/ThinkPad 笔记本
- 开机按
F1进入 ThinkPad Setup - 进入 Config → Network
- 将 Wake On LAN 设置为
AC Only或AC and Battery
Windows 操作系统配置
除 BIOS 外,还需在 Windows 中配置网卡:
- 右键"此电脑" → 管理 → 设备管理器
- 展开"网络适配器",右键目标网卡 → 属性
- 切换到"电源管理"选项卡
- 勾选 "允许此设备唤醒计算机"
- 切换到"高级"选项卡,找到 "Wake on Magic Packet",设置为
Enabled
Linux 操作系统配置
bash
# 查看网卡是否支持 WOL(g 表示支持 Magic Packet)
ethtool eth0 | grep Wake-on
# 临时启用 WOL(重启后失效)
sudo ethtool -s eth0 wol g
# 永久启用(systemd 系统)
# 创建 /etc/systemd/system/wol.service
[Unit]
Description=Enable Wake-on-LAN
After=network.target
[Service]
Type=oneshot
ExecStart=/sbin/ethtool -s eth0 wol g
[Install]
WantedBy=multi-user.target
sudo systemctl enable wol.service配置说明
进入 网络唤醒 页面,点击 新建 按钮添加设备:
| 字段 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| 名称 | 字符串 | ✅ | — | 设备名称,如"家里电脑" |
| MAC 地址 | 字符串 | ✅ | — | 目标设备的网卡 MAC 地址 |
| 广播地址 | 字符串 | ❌ | 255.255.255.255 | 广播地址,同网段可用默认值 |
| 端口 | 整数 | ❌ | 9 | WOL 端口,通常为 7 或 9 |
MAC 地址格式
支持以下格式(系统会自动标准化):
| 格式 | 示例 |
|---|---|
| 冒号分隔 | AA:BB:CC:DD:EE:FF |
| 连字符分隔 | AA-BB-CC-DD-EE-FF |
| 无分隔符 | AABBCCDDEEFF |
如何获取 MAC 地址
| 系统 | 命令/方法 |
|---|---|
| Windows | 命令提示符运行 ipconfig /all,查看"物理地址" |
| Linux | 运行 ip link show 或 cat /sys/class/net/eth0/address |
| macOS | 系统偏好设置 → 网络 → 高级 → 硬件 |
| 路由器管理页 | 在已连接设备列表中查看 MAC 地址 |
使用示例
同网段唤醒(最常见)
| 字段 | 值 |
|---|---|
| 名称 | 家里台式机 |
| MAC 地址 | AA:BB:CC:DD:EE:FF |
| 广播地址 | 192.168.1.255 |
| 端口 | 9 |
跨网段唤醒
如果 NetPanel 与目标设备不在同一网段,需要使用目标网段的定向广播地址:
| 字段 | 值 |
|---|---|
| 名称 | 办公室电脑 |
| MAC 地址 | AA:BB:CC:DD:EE:FF |
| 广播地址 | 10.0.1.255(目标设备所在网段的广播地址) |
| 端口 | 9 |
定向广播地址计算
广播地址 = 网络地址 OR(NOT 子网掩码)
例如:IP 10.0.1.50,子网掩码 255.255.255.0 → 广播地址 = 10.0.1.255
常见问题排查
唤醒失败排查步骤
1. 确认 BIOS/UEFI 中已启用 WOL
└─ 重启进入 BIOS,检查 APM/电源管理相关选项
2. 确认操作系统网卡配置
└─ Windows:设备管理器 → 网卡属性 → 电源管理
└─ Linux:ethtool eth0 | grep Wake-on(应显示 g)
3. 确认 MAC 地址正确
└─ 注意区分有线网卡和无线网卡的 MAC 地址
└─ 部分设备有多块网卡,需使用有线网卡的 MAC
4. 确认广播地址正确
└─ 同网段:使用 192.168.x.255 格式
└─ 跨网段:使用目标网段的广播地址
5. 确认防火墙未拦截
└─ 检查 UDP 端口 7 和 9 是否开放
6. 确认电源供应
└─ 设备关机后,网卡指示灯应仍有微弱亮光(待机供电)
└─ 笔记本需接入电源适配器常见错误及解决方案
| 问题 | 可能原因 | 解决方案 |
|---|---|---|
| 发送成功但设备不开机 | BIOS 未启用 WOL | 进入 BIOS 开启 WOL 选项 |
| 发送成功但设备不开机 | 操作系统未配置 | 配置网卡电源管理选项 |
| 发送成功但设备不开机 | 电源不足 | 确认设备接入电源,检查 ATX 待机供电 |
| 跨网段无法唤醒 | 路由器不支持定向广播 | 在目标网段部署中继设备或使用 EasyTier 组网后再唤醒 |
| 无线网卡无法唤醒 | 无线网卡通常不支持 WOL | 改用有线网卡连接 |
适用场景对比
| 场景 | 推荐方案 |
|---|---|
| 家庭局域网唤醒 | 直接使用 WOL,广播地址填写网段广播地址 |
| 异地远程唤醒 | 先通过 EasyTier/FRP 建立隧道,再发送 WOL 包 |
| 定时开机 | 结合计划任务定时发送唤醒包 |
| 批量唤醒多台设备 | 添加多个设备记录,逐一点击唤醒 |
注意事项
跨网段唤醒限制
WOL 默认只在同一广播域内有效。跨网段唤醒需要路由器支持定向广播转发(部分路由器默认禁用)。推荐方案:先通过 EasyTier 组网 将设备加入同一虚拟局域网,再发送 WOL 包。
结合计划任务自动唤醒
可以使用 计划任务 功能,在指定时间自动调用 WOL 接口,实现定时开机。例如每天早上 8 点自动唤醒办公电脑。
笔记本电脑注意事项
笔记本电脑通常需要满足以下条件才能使用 WOL:
- 必须接入电源适配器(部分型号支持电池模式)
- BIOS 中需要专门开启笔记本 WOL 选项
- 合盖休眠状态比完全关机更容易唤醒