Skip to content

网络唤醒 (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/华硕主板

  1. 开机按 DelF2 进入 BIOS
  2. 进入 Advanced → APM Configuration
  3. Power On By PCI-E/PCI 设置为 Enabled
  4. Wake on LAN 设置为 Enabled
  5. 保存并退出(F10)

技嘉主板

  1. 开机按 Del 进入 BIOS
  2. 进入 Settings → IO Ports → Wake on LAN Enable
  3. 设置为 Enabled

联想/ThinkPad 笔记本

  1. 开机按 F1 进入 ThinkPad Setup
  2. 进入 Config → Network
  3. Wake On LAN 设置为 AC OnlyAC and Battery

Windows 操作系统配置

除 BIOS 外,还需在 Windows 中配置网卡:

  1. 右键"此电脑" → 管理 → 设备管理器
  2. 展开"网络适配器",右键目标网卡 → 属性
  3. 切换到"电源管理"选项卡
  4. 勾选 "允许此设备唤醒计算机"
  5. 切换到"高级"选项卡,找到 "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广播地址,同网段可用默认值
端口整数9WOL 端口,通常为 79

MAC 地址格式

支持以下格式(系统会自动标准化):

格式示例
冒号分隔AA:BB:CC:DD:EE:FF
连字符分隔AA-BB-CC-DD-EE-FF
无分隔符AABBCCDDEEFF

如何获取 MAC 地址

系统命令/方法
Windows命令提示符运行 ipconfig /all,查看"物理地址"
Linux运行 ip link showcat /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:

  1. 必须接入电源适配器(部分型号支持电池模式)
  2. BIOS 中需要专门开启笔记本 WOL 选项
  3. 合盖休眠状态比完全关机更容易唤醒

基于 GPL-3.0 许可证发布