Duke Yin
Duke Yin
2022年5月9日

Wake-On-LAN 简称WOL,顾名思义,可以实现在局域网(LAN)中唤醒关机了的设备。

我前些年配了一台MINI-ITX主板的小机器,然后放在桌子底下,每次都要去弯腰去开机很麻烦,主板又不支持键盘开机,所以想到了用Wake-On-LAN去开机。

一番折腾之后,当处于同一个局域网时,可以直接点手机开机,再也不用去机箱上按电源键了。更进阶一点,甚至可以在异地远程开机并使用Windows自带的远程桌面进行操控,着实非常方便。

想要实现设备的Wake-On-LAN有以下几个要点:

  1. 主板BIOS设置中开启网络唤醒开关;
  2. 路由器开DHCP服务,设置ARP绑定,把设备的IP固定下来并与其MAC地址绑定;
  3. 操作系统里设置为自动获取IP

BIOS设置

现在的主板BIOS都比较人性化,大多数还有中文,所以依次浏览,看见“Wake On LAN”或“网络唤醒”的选项,就打开然后保存重启即可。

以下以微星主板举例:

电脑重启,在启动的过程中,连续按 Del 键( Delete键) ,进入主板的BIOS设置,点击Advanced (高级模式)或直接按 F7 键。

进入高级 – 整合周边设备 – 网卡ROM启动,设置为允许 

进入高级 – 电源管理设置 – Erp,设置为禁止 

进入高级 – 唤醒事件设置 – PCIE 设备唤醒和网络唤醒,设置为允许 

最后,完成所有的设置之后,按 F10 键,保存BIOS并退出即可

各种主板进BIOS的按键会有差别,可以自行网络搜索或查看主板说明书。

自动获取IP

大部分的路由器在默认情况下,Windows网络都设置为自动获取IP地址,如果你不确定,可以进入 控制面板->网络连接 (win10 设置 – 网络和互联网 – 变更适配器选项)在当前的网络连接处右键点“属性”,双击“TCP/IPv4”查看是否为自动获取。如果不是,则设置为自动获取IP即可。

极为特殊的情况下,假如设置为自动获取IP之后无法连接互联网,甚至无法获取局域网ip地址,那进一步检查路由器设置,查看路由器是否在提供DHCP服务,开启路由器的DHCP后,自动获取IP才能正常。

Windows 8.1 / 10 / 11 电源管理设置

在Windows8.1 / 10 / 11即便BIOS设置了允许网络唤醒,唤醒依然会失败,原因是新的操作系统电源管理开启了“快速启动”功能,此功能相当于更高级的“休眠”,事实上并不是真正的“关机状态,主板在这种状态下就不会给网卡提供持续的电源,导致发送给网卡的信号无法被接收,网络唤醒就失败了。

解决方法是将Windows8.1 / 10 / 11的“快速启动”关闭。

在控制面板中,将查看方式修改为“大图标”,找到并点击“电源选项”,点击左边窗口“选择电源按钮功能”,点击“更改当前不可用的设置”,在关机设置下面取消勾选“启用快速启动”,并点击保存修改。

另外一种关闭快速启动的方法是使用PowerShell,以管理员身份运行PowerShell,输入如下命令回车即可:

powercfg /h off

与控制面板-电源管理操作等效。

注意,此步骤非必须,Windows7并不支持快速启动也就不存在关闭步骤。

如果一切正常,网卡在关机后依然会保持通讯,如果你的网卡有指示灯,即便关机了,指示灯依然会间歇性持续闪烁待命,证明做好了WOL的准备。

发送WOL信号

Wake-On-LAN的本质是在局域网中对目标IP发送一条UDP信号,通常使用端口9或7,这个信号包含目标设备的网卡MAC地址。

当目标设备的网卡在自己端口9或7上收到信号,一看这信号里的MAC地址还跟自己的一样,就告诉主板说“快开机快开机”,主板检查了一下发现自己支持网卡叫醒服务,就自己合上了电源,开机成功。

最早发明这种技术的是英特尔和IBM,其后AMD将其标准化,当时AMD给这种唤醒信号取了个很魔幻的名字,叫:Magic Packet (魔法邮包),一般正统中文翻译为“幻数据包”。

在不同平台上有不同的应用可以帮我们发送Wake-On-LAN信号,我们只需要提前记下需要唤醒的设备的局域网IP地址和MAC地址,下载相应的App,就可以在其他设备发送“魔法邮包”。

Windows : Wake On Lan AquilaWOL

MacOS :Wake Me Up

iOS :Fring Wake-on-lan

Android : Wake On Lan

在这些APP中,只需填写待唤醒设备的IP和MAC地址即可实现一键开机。

远程WOL

离开了局域网,就不能使用WOL开机确实一点都不Cool。

特别是出门在外有时候需要电脑里的资料,要是可以实现远程的唤醒将会节省大量的时间精力。

总体来说,有两种思路可以实现远程的WOL,但是各有优劣。

公网IP端口转发

如果你的宽带有公网IP,只需要在路由器上做一个端口转发,把来自外网的某端口信号都转发至目标设备的9或7端口,即可实现远程开机。

如果公网IP会变动,DDNS到一个域名即可。

这样的好处是外出的时候极其方便,只要你的手机有网络,在任何地方都可以让家里或公司的电脑开机。无需为了某一个word文档专门跑几公里。

但坏处也是显而易见的,这样相当于把设备暴露在公网,假如没有良好的防御措施,很容易造成设备被远程恶意开启,进而被入侵,故不太推荐。

利用内网常开的设备发送魔法包

有很多内网穿透服务本身有较好的安全防御措施,只在使用的时候登录,虚拟化出一个局域网把远程的设备联系进来,这样我们就可以像在局域网一样对远程设备发送魔法包,进而远程开机。

局域网中的路由器24小时开机,我们可以通过远程控制路由器来发送“幻数据包”开启设备。有一些路由器内置了内网穿透服务,有一些直接提供远程开机功能,NAS则更不用说,直接用QuickConnect即可连接。连上之后,就可以发送魔法包,进而远程开机。

总结

对于需要关闭的设备,远程开机搭配诸如Windows远程桌面使用很香,虽然开启WOL会在设备关闭后消耗一定电能,但是带来的便捷性十分可观。在局域网中如果设备离的较远,或者开机不方便,用手机APP直接开机非常优雅。WOL设置并不算复杂,如果有能力建议自己尝试,当你设置成功之后,你就会觉得商家推出的“开机棒”是智商税。当然对于完全不想麻烦的小白,或许开机棒也是可以尝试的。

@科技

本作品采用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)进行许可.