本文转自http://www.rising.com.cn/newsletter/news/2011-09-22/9639.html

 

 

所需条件:

 1.电脑主机或主板支持远程唤醒功能,现在一般主机都可以吧

 2.远程唤醒软件,网上有很多

 3.DDNS,路由器端口映射,IP-MAC静态绑定。

  4.手机一部,能上网就行。

 

 

在服务器的日常运维中,有一种技术往往被运维工程师所忽略,那就是“远程唤醒技术”,英文简称WOL,即Wake-on-LAN,是指通过网络实现计算机的开机,人们通常也把这种开机方式叫做网络唤醒。即无论计算机离用户有多远、处于什么位置,只要它连接了网络,并且在具备了一定的前提条件下,就都能够被随时启动。这种技术是运维工程师在进行远程维护、更新时,最有效的办法之一。

首先介绍一下远程唤醒技术很重要的前提条件。

条件一、硬件设备的支持

实现远程唤醒功能,需要主板、网卡、电源3个硬件设备在相关技术上对远程唤醒功能支持。主板需要支持Wake-Up On Internal Modem(WOM)或者Wake-up On LAN(WOL)技术;网卡需要支持WOL技术,目前多为主板集成单网卡或双网卡,在安装完整的驱动后,都可以支持WOL技术;电源需要符合ATX 2.03标准的ATX电源,+5V Standby电流至少应在720mA以上,这是很早的一种技术需求,目前的电源已经远大于此。具备了上述三种硬件设备的支持,才可以实现远程唤醒。

条件二、软件产品的支持

实现远程唤醒,有WAN和LAN二种环境,但都需要在控制端安装相应的远程唤醒软件。此类软件在网上可以找到很多。LAN环境下,我个人比较喜欢使用Magic Packet,它的全称是magic packet utility,是由AMD公司出品的一款软件,或称之为一种技术,这款软件可以生成网络唤醒所需要的特殊数据包。Magic Packet虽然只是AMD公司开发推广的一项技术,并非业界公认的标准,但是仍受到很多网卡制造商的支持,因此许多具有网络开机功能的网卡都能与之兼容。WAN环境下,我个人比较喜欢使用depicus的WOL for windows,它是个绿色版的小软件,只几百K大小。

条件三、被控端的设置

1、主板的WOL设置

启动计算机,进入CMOS参数设置。选择电源管理设置“Power Management Setup”菜单,将“ModemRing/WakeOnLAN”项和“PME Event Wakeup”项均设置为“Enable”,启用该计算机的远程唤醒功能(主板自带网卡的,根据主板不同,这些选项也不完全相同)。

2、网卡的WOL设置

如果是PCI网卡,则需将“Wake on PCI Card”设为“Enable”。有一些机子还要将WOL电缆的两端分别插入网卡和主板的3芯插座中,将网卡与计算机主板连接起来,而目前一些板载的网卡就不需要这些设置了。

3、被唤醒端MAC地址获得

WAN与LAN唤醒都需要用到被唤醒端的MAC地址,可以通过ipconfig /all命令得到被唤醒端电脑网卡的MAC地址。

满足上述二个硬件和软件的条件,并且对被远程唤醒端进行了正确的设置后,就可以实现远程唤醒了。

LAN环境下使用Magic Packet唤醒,只需在Magic Packet菜单下的启动指定主机项中输入被唤醒端网卡的MAC地址,点击发送即可实现远程唤醒。我个人比较喜欢它的“启动一组主机”功能,确实很强大。

9843760.jpg

图1:Magic Packet的唤醒界面

WAN环境下使用depicus的Wake On Lan唤醒。WAN与LAN唤醒所不同在于,WAN下有许多的路由器等网络设备,这些设备会使Magic Packet的包不能到达我们想唤醒的电脑网卡上。因此,要实现WAN下的唤醒,必须得到路由器的支持。

1、首先确保路由器可以正常接入internet,即通过服务商得到一个公网IP。

2、端口映射(虚拟服务器)

在“转发规则”-“虚拟服务器”下,添加一新条目,端口为2301(2301是默认的端口号,也可以是其他端口号,只要不和其他的端口冲突),IP地址为需要唤醒电脑网卡所使用的IP地址(比如192.168.1.200),协议为UDP,并使之处于“生效”状态。这一步使得当路由器收到发到它2301端口的数据都会转发到192.168.1.200这台电脑上。

3、IP与MAC绑定

在“IP与MAC绑定”-“静态ARP绑定设置”中,添加一新条目,MAC地址添为被唤醒电脑上的网卡MAC, IP为上一步设置的IP 192.168.1.200。当路由器收到从internet发来的MagicPacket包时,由于设置了端口映射,就会将其转发到192.168.1.200上。但由于电脑是处于关机状态,ARP无法通过广播找到192.168.1.200这台电脑,Magic包将被路由器丢弃,因此进行静态的IP-MAC绑定,使数据包可以直接发往与此IP绑定的对应MAC地址的网卡上。

此时,从理论上来说,通过internet的远程唤醒就可以成功了。但还有一些工作需要补充,以便更好地工作。

1、为了确保该电脑在启动后可以获得192.168.1.200这个IP,需要在DHCP服务器中设置一个静态地址分配,即将MAC地址静态分配192.168.1.200永不过期。

2、在路由器上使用动态DNS功能,这样可以用一个域名来访问而不用查看经常改变的公网IP(ADSL拨号上网的IP是经常变的)。同时,允许路由器可以进行无端WEB管理,以方便当我们在任何地方都可以检查路由器的状态。

目前TP_LINK、D_LINK、H3C、CISCO等品牌部分系列产品都支持此类功能。

5312510.jpg

图2:Wake On Lan的唤醒界面

其中,

Mac Address:输入网卡的MAC地址

Internet Address:IP地址,输入路由器的公网IP地址(或者域名)

Subnet Mask:子网掩码,输入该IP的子网掩码,需要输入255.255.255.255 。

这是个特别要注意的地方,因为普通的家用路由器不支持(或不可配置)子网定向广播(subnet directed broadcast),所以如果输入255.255.255.0这样的掩码将无法让路由器转发Magic Packet包。但是对于允许进行子网定向广播的路由器,我们就不需要对路由器进行复杂配置,只需将子网定向广播功能启用即可。

 Send Options:发送选项,这次应该选择“internet”

Remote Port Number:端口号,这个端口号在局域网唤醒中是无所谓的,因为不论Magic Packet包发到哪个端口都可以被网卡识别。上面我们映射了一个端口(2301),只有发到这个端口的数据才可被路由器转发,所以在internet唤醒中,这个端口号必须与端口映射中的端口号一致。

说到这里,最需要注意的是,如果电脑非正常关机(比如按Power键来强制关机),是无法使用远程唤醒的,只有正常关机后,网卡才会处于活动状态,才可以接收网络数据,才可以被远程唤醒。

 

手机唤醒:手机上的唤醒软件可以直接下载一个远程唤醒主机的应用,或直接上网进入这两个网站,可以在线唤醒。

http://www.dslreports.com/wakeup

http://www.depicus.com/wake-on-lan/woli.aspx