关于电脑网络唤醒(WOL)远程关机或待机等

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

局域网内的WOL
现在的电脑主板一般都支持通过网卡实现关机状态下的网络唤醒(Wake on Lan),只需要在bios里启用WOL即可,有的电脑上可能还需要在网卡属性里面启用WOL功能,比如下图中的唤醒魔包(Wake on Magic Packet)。

如想实现待机状态下的WOL,则还需要到网卡属性里的电源管理项设置一下(该设置不影响关机状态下的WOL)。

注:如果不勾选“只允许magic packet唤醒计算机”,局域网内的各种数据包容易误唤醒待机状态下的电脑。

虽说Magic Packet不如直接网络访问触发来得方便,但现在支持Magic Packet的软件不少,所以还可以接受。

现在可以通过Magic Packet软件在局域网内远程开机或唤醒电脑了,Windows操作系统下可用的WOL软件是Magic Packet Utility或WakeOnLanGui,iOS平台上可用iNet Pro,Android平台上可用Fing。

另外,有的嵌入式系统比如路由器,GUI管理界面已内置了WOL工具,在一些刷了第三方固件如DD或Tomato的路由器还支持终端命令行界面里执行WOL命令(DD是wol,而Tomato是ether-wake)。

顺便提一下,只有正常关机的电脑才可以被远程开机或唤醒,非正常关机的电脑上是无法实现的。

至于远程关机(remote shutdown)、待机(standy)或重启(restart)等功能,则需要先在电脑上做几个批处理文件,文件名可随便写
#如下两行内容保存为gj.bat
shutdown -s -t 00
exit
#如下两行内容保存为dj.bat
rundll32.exe powrprof.dll,SetSuspendState
exit
#如下两行内容保存为cq.bat
shutdown -r -t 00
exit
以Win7操作系统为例,将如上三个批处理文件保存在电脑的c:\Users\Administrator\目录下(XP的话应该是c:\Documents and
Settings\Administrator\),另外,如果Administrator帐号没有启用,请自行上网搜索如何启用和设置密码。

然后在电脑上安装SSH Server软件,这里推荐WinSSHD,该软件针对个人使用免费。

安装完成并启用后,就可在局域网内的其他任意一台电脑或移动设备(iOS或Android等平台)上使用ssh客户端,登录SSH Server后在如下的命令行界面运行前述的三个批处理命令,可实现远程关机、待机或重启。

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\Users\Administrator>
Windows操作系统下可用的ssh客户端建议putty,iOS平台issh,Android平台ConnectBot,具体用法请自行网上搜索。

另外,有的路由器,比如刷了DD或Tomato等第三方固件的,也内置了ssh客户端。

当然也可以在电脑上安装第三方的VNC之类的远程控制软件(Windows系统自带的Remote Desktop Connection软件没法远程关机)来实现这三个功能,不过VNC软件占用的带宽更高,局域网内使用无所谓,但对于通过互联网尤其是移动数据网络的操作来说,ssh方式占用带宽更低、速度更快、也更安全。

通过互联网的WOL
从外网(互联网,包括移动数据网络)远程开机或唤醒内网中的一台电脑则要麻烦些,因为关机状态的电脑是没有ip的,所以magic packet只能利用局域网内的广播方式(但路由器默认屏蔽了来自外网的访问类似192.168.1.255广播地址的请求)来唤醒对应某个MAC地址的电脑,除非使用静态ARP绑定(static ARP binding)。

在试过局域网内的WOL功能都正常之后,先在路由器上设置DDNS(动态域名服务,因为一般情形下宽带运营商ISP分配的是动态ip),以便从外网可以通过域名访问到路由器,然后在路由器上做一个NAT端口映射(自定义的端口号->UDP 2301);
接下来在路由器上设置DHCP静态分配ip(本例中是192.168.1.9)给指定的内网电脑;同时设置一下静态ARP绑定,如果路由器的GUI界面没有静态ARP 绑定工具,可以在脚本或定时任务中添加命令行(如下以刷了DD或Tomato第三方固件的路由器为例)
ip neigh change ip地址 lladdr MAC地址 nud permanent dev br0
ip neigh add ip地址 lladdr MAC地址 nud permanent dev br0
注:这里的ip地址跟前面端口映射设置中的ip地址须一致。

最后通过WakeOnLanGui从外网远程开机或唤醒指定的内网电脑。

如果路由器本身不支持静态ARP绑定,则有篇博文介绍了一种另类的办法可让路由器接受来自外网的广播地址请求。

比如设置子网掩码为255.255.255.128而非常见的255.255.255.0,则192.168.1.127就是192.168.1.0网段的广播地址了,然后做一个端口映射指向该广播地址。

不过这种方法会造成内网ip 的管理不方便,也不够直观。

需要提醒的是,上述的端口映射方式安全性不太好,任何人只要知道端口号、路由器的外网ip或域名就可以唤醒这台内网子机了,所以建议使用刷了DD或Tomato等第三方固件的路由器。

因为路由器本身支持SSH Server/Client,则可先远程登录到路由器的SSH Server,再通过路由器的终端命令行界面里执行WOL命令(还可自制WOL脚本,可大大简化命令行的操作);而如果路由器本身支持VPN Server的话就更方便了,相当于在同一个局域网内操作WOL。

至于从外网远程关机、待机或重启,相对而言比较简单,可通过如下几种方式:
1. 同样在路由器上做一个端口映射(自定义的端口号->TCP 22),允许从外网通过自定义的端口登录到指定的内网电脑上的SSH Server即可;
2. 如果路由器本身支持SSH Server/Client,则可先远程登录到路由器的SSH Server,再通过路由器的SSH Client登录电脑上的SSH Server,这样更安全,因为路由器只需对外开放一个ssh端口;
3. 而如果路由器本身支持VPN Server的话就更方便了,相当于在同一个局域网内进行操作。

相关文档
最新文档