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