Wake-on-LAN 也叫 WoL,指通过网络消息打开或唤醒计算机。
网络唤醒功能在远程办公环境下显得十分必要,比如位于家中或公司的计算机,出于经济和环保的目的,不使用时一般也会进入低功耗状态,睡眠、休眠甚至是关机。一旦进入低功耗状态,就需要适当的外部刺激才能让其重新恢复至工作模式。
这时借助 WoL 通过特定网络信号进行「唤醒」便是一个不错的选择。
一般情况下,WoL 需要由另一台「同局域网」设备发送网络信号,任意有能力发送 WoL 信号 的设备都可以充当此角色;在远程办公场景中,则最好由「带有线网卡的低功耗设备」来执行,这类设备包括但不限于以下选项:
- 带网络唤醒 WoL 功能的路由器产品
- OpenWrt Linux 设备「TP-Link 703n」
- 树莓派「推荐 2 代」
- ……
如果你对这种「自动开机」的方式感兴趣,不妨跟随本文一起尝试一番。
配置网络唤醒
系统设置
在 Windows 10 中,运行 > ncpa.cpl
打开「网络连接」设置,然后找到当前在使用的有线网卡,右键点击「属性」:
然后选择「配置」:
在随后弹出的面板中找到「电源管理」,这里我们就能勾选「允许此设备唤醒计算机」以及「只允许幻数据包唤醒计算机」了。
BIOS
除此之外,我们可能还需要启用适当的 BIOS 设置才能使用 WoL 功能,具体方法视厂商而定,进入 BIOS 后注意选项附加的说明即可,可以参考的关键词包括:
- Automatic Power On
- Wake on LAN/WLAN
- Power Management
- Power On by Onboard LAN
- Power On by PCI-E Devices
如果你找到了相关选项,也可以在评论区分享对应的品牌设备及选项名称。
使用 Fing 进行测试
配置好系统和 BIOS 后,接下来我们不妨通过 Fing 这款图形化软件来测试唤醒已经配置好 WoL 的主机。
安装启动应用后,打开并扫描当前网络,然后在设备列表中找到需要唤醒的机器:
在目标设备关机或休眠时,通过 Fing 的设备详细信息面板点击「LAN 唤醒」,此时 Fing 已自动填充需要的信息。此处主要起作用的参数是「MAC 地址」:
如果目标主机被成功唤醒则一切顺利,如果遇到问题,请重新检查系统设置和 BIOS 设置。
接下来我们就可以在内网布设网络设备,结合「定时任务」每天上班前自动唤醒位于家里或公司的电脑,做到即到即用了。
一些常见问题
如何准确获取物理网卡地址?
如果你像本文开头提到的那样,尝试借助带有线网卡的低功耗设备来作为发送唤醒信号,在实际配置过程中则需要一些额外的网络信息。比如:
查看网络参数
位于网络连接(运行 > ncpa.cpl
)中。
网络扫描工具
各平台都能找到类似的工具,包括:
- Windows - Softperfect Network Scanner
- Linux - arp-scan
- Android / iOS - Fing / PingTools
如何借助幻数据包防止意外唤醒?
此处稍作区分,如果未勾选「只允许幻数据包唤醒计算机」,情况要简单得多,只要有任意网络信号请求与该物理网卡通信,都会触发唤醒操作。适用于网络中机器不多,服务简单的场景。
但如果仅允许幻数据包(Magic Packet)才能唤醒,则需要借助唤醒工具;这样做的好处是可以防止误触发。
可以使用的幻数据包唤醒工具有:
请注意,WoL 属于无状态协议,仅发送、不确认。
如何实现「网络开机」?
除了唤醒,我们也可以使用网络信号来将已经关机的设备唤醒,方法和工具与网络唤醒原理一样,但需要主板和 BIOS 支持,一般多见于台式机。
因网络开机需要主板上的网卡始终保持供电状态,开启此功能将产生「更多电费」,因此大多数笔记本出于续航考虑也不支持「通过网络开机」。
小结
WoL 协议本身不支持跨网段,在网络可达的前提下,可以通过端口转发、代理等方式间接使用;不过出于安全和稳定服务的考虑,不推荐此场景下使用。
最后也欢迎读者就此部分写下自己的想法或疑惑,如果条件合适,我们可以在另外的篇幅进行讨论。
附:ACPI系统电源状态 S0-S5
> 下载少数派 客户端 、关注 少数派公众号 ,多了解一点玩机小技巧 ⭐
> 实用、好用的 正版软件,少数派为你呈现 🚀