windows下远程开机、自动关机那点事

评价:
0
(0用户)

前两天公司更换了新路由器,结果我公司电脑的远程开机功能用不了了。这个功能对我很重要,因为很多时候都要在外面控制公司的电脑,这个不用多说,相信很多用户都有这个需求。最终我前前后后折腾了有个把小时吧,设置好了,所以这里记录下关于远程开机和自动关机这点事,希望能您能少走点弯路。这里我们只讨论windows系统下,linux下稍特殊,还没这种需求,所以还没试过。

 

一、远程开机

要实现远程开机有几个条件,必需满足,缺一不可:

1、主板bios里启用远程唤醒,不同主板各有不同,不过都大同小异;

2、进入系统在网卡的高级设置里,启用远程唤醒(如果有这个设置),并关闭节能功能(如果有这个设置);

3、记录下本机的mac地址和ip地址,在命令行执行ipconfig/all即可看到;

4、如果是从外网启动内网的机器,还需要端口转发和mac地址绑定,后面会说到;

5、远程开机的工具,其实就是一个发送数据包的小程序,有命令行版的,我这里发了一个图形化的,使用起来更方便,详见我上一篇博文:windows下图形化远程开机工具WakeOnLanGui.exe,直接下载解压即可使用;

上面几个条件都满足后,就可以尝试远程开机了,所谓远程开机,其实就是把一个特定的数据包发送到指定电脑的网卡上,只要上面说的bios和网上设置都正确,这个数据包能准确地发送过来,网卡收到后,电脑就一定会开机,如果电脑没能开机,肯定是哪个环节有问题,不要着急,需要一个一个排查。

下面我们详细说说远程开机,可能的几种情况:

1、同一局域网内远程开机,即同一局域网内一台电脑唤醒另一台电脑,这个很简单,直接执行上面的工具,填写参数,数据包就会发送到指定电脑的网卡,如果电脑设置都正确,马上就会开机,这种情况平时不太常见,也就是一些网管可能会遇到,比如在网吧等环境中,这里要注意ip填写的是局域网ip,方式选择局域网,端口号这里没意义,随便写即可;

2、不同网络间远程开机,我们平时绝大多数都是这种情况,比如在家里远程启动公司的电脑,电脑不在一个网络内,这时情况就比较复杂了,我们一一说明:

a、首先需要用到我们上面说的端口转发了,一般都是通过目标网络的路由器进行端口转发,不同路由器设置大同小异,比如我们设置:公网ip:1080 =>192.168.0.10:1080,就是表示路由器把到公网ip1080端口的请求转发到内网192.168.0.10的1080端口上,这个我们请求远程开机的数据包,才能从公网穿透到内网,发送到指定电脑上;

b、但是只设置端口转发是不够的,还必需在路由器上设置要开机那台电脑的mac地址和ip绑定,因为在那台电脑关机状态下,路由器的arp表中是没有那个电脑的mac地址和ip记录的,数据包也就无法送达,arp缓存也只能保存2分钟,所以必需要在路由器里做绑定,路由器才能把数据包准确发送出去。

c、更复杂的情况(悲催:比如我们公司那个新换的路由器),路由器里没有mac地址/ip绑定功能;这时就必需在内网里再增加一个有绑定功能的路由器(买个最便宜的),做二次端口转发,如下:

主路由器,两个内网ip:192.168.0.1、192.168.1.1(做二次端口转发用),转发设置:公网IP:1080 => 192.168.1.10:1080,即将外网发来的数据先转发至辅助路由器处理 辅助路由器,外网ip:192.168.1.10,与主路由器第二个IP同一子网,并与转发设置ip对应,接收转发,内网ip:192.168.0.10,与要唤醒电脑和主路由器第一个IP同一子网,处理转发。转发设置:192.168.1.10:1080 => 192.168.0.100:1080,同时做mac地址和ip绑定 待唤醒电脑:ip:192.168.0.100

这里有两个子网,即:192.168.0.X和192.168.1.X,其实第二个子网段:192.168.1.x没有实际意义,只是让唤醒数据包通过辅助路由器转个圈回到第一个子网而已。注意这里工具的设置,ip地址写主路由器的公网IP、方式写internet,端口写主路由器转发设置的公网端口。最后我们来梳理一下数据的流向:

1)假设你在公司主路由器公网ip:8.8.8.8,其他设置与上表相同;

2)你在家中用WakeOnLanGui.exe,发送唤醒数据到8.8.8.8:1080,模式internet;

3)主路由器收到数据来自1080端口,做端口转发,按规则转发到辅助路由器192.168.1.10:1080;

4)辅助路由器收到数据来自1080端口,做端口转发,按转发规则并通过mac地址绑定转发到电脑192.168.0.100的网卡;

5)待唤醒电脑网卡收到转发了2次的数据包,通电启动。

d、通过vpn拨到内网不一定可行,我一开始也想过,如果通过vpn先拨号进公司内网,再通过局域网内的方式开机不就行了吗?但实际情况是不行。具体原因没有深究。

e、以上讨论的仅限于路由器公网IP固定的情况,如果路由器是动态的公网ip,还要涉及到如何获得公司ip的问题,一般是通过动态域名解决,这里就不再深讨论了。

二、定时关机

相对于远程开机,定时关机就太简单了:

1、命令行执行:shutdown /s /f /t 3600,即可,/s代表关机,/f代表强制结束程序,/t 3600代表3600秒之后,数据可以修改

2、在老版windows中,/t 后面的参数最大不能超过1000,那么命令可以写成这样:ping 127.0.0.1 -n 3600 && shutdown /s /f /t 0,前面ping 本机3600次(大概一秒一次),然后立即关机。

本文为原创文章,转载请注明出处!

注册并通过认证的用户才可以进行评价!

Read More

发表评论