WOL(Wake On Lan)是一种通过网络唤醒电脑的方式,一般在局域网内,通过使用广播地址发送魔术包的方式,使得关机或者休状态的计算机转变成引导或者运行状态。但是过在复杂的环境里,比如在外网唤醒内网的计算机,由于路由器都不转发目的地址为有限广播地址的数据包,需要使用子网定向广播地址,使用路由器的DDNS和端口转发来实现。

WOL需要几个必须的条件:

  • 需要知道目标计算机MAC地址
  • 需要硬件进行支持

局域网内的唤醒对于个人用户似乎意义不大,我们更关心的是在外网远程唤醒家里的电脑。我们可以这么做。

确认计算机的网卡支持网络唤醒(WOL)

主流的电脑应该都是支持的,除非是古董机,最好的方式就是进入BIOS,找到和网卡相关的配置选项,确认开启WOL(不同主板可能有细微区别,根据自己的主板型号搜索)。

获取网卡的MAC地址

以Windows为例,在命令提示符中输入ipconfig /all即可查询系统所有网卡的信息,找到你想用作唤醒网口的网卡,记下它的MAC。

开启端口映射

魔术包默认发送至网卡的9端口,在路由器端口映射添加一条映射规则,外部端口随意(例如我设置为9999),内部IP填写你想要唤醒的计算机的IP,端口填写9,协议为UDP协议。

添加ARP绑定

为什么要添加这个绑定?原因和端口映射有关,因为家用的路由器大部分只支持IP地址映射,不支持MAC映射,我们一开始也说过,我们的唤醒魔术包是要通过MAC地址发送给网卡的,只配置了端口映射,在目标计算机没有开机或者休眠的情况下,是无法通过IP地址定位的。添加了ARP绑定之后,就可以理解为:唤醒数据包 -> 外网IP:9999 -> 内网IP:9 -> 主机MAC:9。我们绑定的就是内网IP和主机MAC。这样数据包就可以通过ARP列表找到主机所在了。

配置DDNS

为什么要配置DDNS?因为家用宽带大部分都是动态的公网IP(可能更多的人甚至都没有公网IP),我们不可能记住每次更新的IP,所以需要一个域名解析到这个公网IP,因为IP是会变的,所以DDNS才叫做动态域名解析服务。

通过DDNS(公网IP)发送唤醒数据包

手机可以安装WOL软件,大同小异,不做推荐。在外网唤醒的时候在配置里要使用指定的IP,而不是广播地址,这一点要注意。
这里推荐一个网站,WOL远程唤醒,只需要填写IP地址,映射的端口,以及内网主机的MAC地址即可进行远程唤醒。

后记:之所以折腾这个,是因为我经常使用远程连接访问家里的电脑,以前的做法是24小时开机,其实还是有点浪费电的,不过也没出过什么问题。直到有一天,我一不小心点了关机,然后就傻了。这种时候就很想瞬移到家里给它开个机,现在有了WOL,终于实现了这个梦想。
最后修改:2021 年 03 月 23 日 11 : 26 AM