如何远程开启你的电脑:WoL的原理和陷阱


如何远程开启你的电脑:WoL的原理和陷阱

文章插图
 
很多人和我一样有很多台电脑,公司一个,家里一个,还有笔记本一台 。你可能也有过这样的经历:在公司想访问家里的电脑里的文件,却想起了家里电脑没有开机;冬天在暖和的被窝里打开笔记本看片,却想起片源还在关掉的台式机里面,在痛苦的思考了半晌后决定放弃 。如果能远程开机就好了!也许你想问为什么不一直开着机器呢?如果你能忍受环保主义者的口水和拿着电费账单老婆的怒火,那我不得不承认你是个坚强的人 。
其实远程开机已经存在很多年了 。从Intel和IBM在1997年公布标准以来,现在几乎所有的主板都支持网络开机 。经过合适的设置,我们可以在局域网或者广域网上开启另一台电脑,甚至用手机开启电脑!但这条路上充满荆棘,我们一起来看看它的原理和都有哪些陷阱 。
网络开机原理网络开机叫做Wake-on-LAN,缩写是WoL 。过程很简单,即通过发送一组特殊格式的网络封包(Magic Packet)给某个mac地址的电脑,让该电脑从睡眠模式甚至是关机模式苏醒,即从ACPI的Sx(S3,S4,S5)模式返回S0运行模式 。Sx的定义见(一起学习电脑如何睡眠S3)
1. 固件
固件需要保证网络设备和网口(Phy)的电源在Sx的情况下保持供电,以用来监听网络中的Magic Packet 。这通常都是通过写一组主板芯片组的寄存器来实现的 。
2. Magic Packet
这组特殊封包看起来是这样:
如何远程开启你的电脑:WoL的原理和陷阱

文章插图
 
它通常被发送的该机器的UDP端口7和9 。如果网卡在Sx的状态收到了这组封包,它就知道有人要开机,它会通过PME#或者其他方式唤醒电脑 。
实战WoL【如何远程开启你的电脑:WoL的原理和陷阱】原理看起来相当简单,但具体操作起来却充满陷阱 。
1. 硬件
如果你是在十年内买的电脑或者主板,而且使用板载网卡连接网络,那么恭喜你,你的硬件已经合格!相信没有人还在用十年前的电脑,但确实有些人在用PCI/PCIe扩展的网卡,这些网卡要支持WoL,有个三个针脚的连线需要连接主板,如下图:
如何远程开启你的电脑:WoL的原理和陷阱

文章插图
 
需要连接主板的:
如何远程开启你的电脑:WoL的原理和陷阱

文章插图
 
2. 固件设置
市面上几乎所有UEFI固件都支持WoL,但坑爹的是几乎所有的WoL缺省都是关闭的,而且如何打开千差万别!下面有几个例子:
如何远程开启你的电脑:WoL的原理和陷阱

文章插图
 

如何远程开启你的电脑:WoL的原理和陷阱

文章插图
 

如何远程开启你的电脑:WoL的原理和陷阱

文章插图
 

如何远程开启你的电脑:WoL的原理和陷阱

文章插图
 
窍门就是寻找Wake up、NIC、PME、PCI等等 。
3. 操作系统
我们同样需要在操作系统里面开启WoL 。打开设备管理器,找到你的网卡,右键点击并选择属性:
如何远程开启你的电脑:WoL的原理和陷阱

文章插图
 
在电源管理里面有关于它的设置:
如何远程开启你的电脑:WoL的原理和陷阱

文章插图
 
这是第二个坑 。不同网卡的设置位置和说明完全不同,有些网卡还需要在高级设置里面打开Wake on Magic Packet:
如何远程开启你的电脑:WoL的原理和陷阱

文章插图
 
而有些不用,如我这个Intel网卡就不需要 。
4. WoL软件
唤醒软件有不少,大部分都是免费的,这里推荐两个:
Depicus:有图形接口和命令行接口的软件,下载地址(
http://www.depicus.com/wake-on-lan/welcome.aspx) 。
如何远程开启你的电脑:WoL的原理和陷阱

文章插图
 
Wake On Lan:丰富的图像接口 。
如何远程开启你的电脑:WoL的原理和陷阱

文章插图
 
下载地址(
https://sourceforge.net/projects/aquilawol/)
大家也可以在App store或者google market上搜到很多WoL的应用 。
5. 广域网设置
如果你的目标电脑躲在家里的路由器后面,那么这又是一个大坑 。基本来说有两个步骤;
A . 你需要知道你家的IP地址 。而大家知道ADSL每次拨号后IP都会重新分配,这就需要一个中介将一个名字转换成你的动态IP 。大家可以搜索花生壳等工具,而现在有很多只能路由器是支持花生壳的 。转换成功以后你就可以只要用名字来访问了 。


推荐阅读