其实很早就听说有这个东东,只是一直没玩过,最近公司调整PC服务器,正好找个空闲实战了一把。基本的配置步骤如下(时间有限,挑简单的说,假定你要Wake-on-LAN的机器是Windows,控制服务器是Linux):
[被控制方]1- 正常开机进入BIOS设置
2- 找到Wake-on-LAN的选项enable它(如果是Dell的机器这个选项叫Remote Wake Up)
3- 进入OS,在需要配置Wake-on-LAN的网络端口的配置项中(网络连接属性->配置->电源管理),选择允许此设备使计算机脱离待机状态
4- 记录网卡的MAC地址
5- 正常关机
// 如果被控制方是Linux/Ubuntu,OS的配置方法参考链接[4]
[控制方]1- 安装wakeonlan,可以选择(如果有的选) apt-get install wakeonlan,或者从链接[3]获取源码手工安装(是Perl写的)
2- 通过wakeonlan+MAC地址的命令行方式控制需要wake up的机器,如 wakeonlan 01:23:45:67:89:AB
// 更高级的用法包括编写脚本,添加到cron,以及通过-f指定一个包含多个MAC地址的文件同时操作等
[基本原理]Wake-on-LAN的相关通信协议位于OSI七层模型中的数据链路层,比IP需要的网络层还要低一层,在局域网范围发送广播,数据包格式为:
FF FF FF FF FF FF $MAC*16
即 FF FF FF FF FF FF然后重复16次对方的MAC地址,被戏称为"magic packet"。
配置成功后,只要被控制方正常关机、挂起、休眠,且环境始终不掉电,任何时候在局域网中广播"magic packet",指定网卡的机器就可以被唤醒。
链接:[1]
http://en.wikipedia.org/wiki/Wake-on-LAN[2]
http://en.wikipedia.org/wiki/OSI_model[3]
http://gsd.di.uminho.pt/jpo/software/wakeonlan/
[4]
http://ubuntuforums.org/showthread.php?t=234588