在“zooyo (生得一对好腰花) ”超级版主和“yiguangqiang88会员”新型冠状病毒的来源的鼓励和帮助下实验 终于成功了,现在把教程写出来,贡献给大家。 环境:adsl动态IP上网、1M速度,ros 2.9.27 . 一.远程唤醒的基本条件 Wake on LAN(WOL),俗称远程唤醒,是现在很多网卡都支持的功能。而远程唤醒的实现,主
要是向目标主机发送特殊格式的数据包,是AMD公司制作的Magic Packet这套软件以生成网 络唤醒所需要的特殊数据包,俗称魔术包(Magic Packet)。Magic Packet格式虽然只是AMD 公司开发推广的技术,并非世界公认的标准,但是仍然受到很多网卡制造商的支持,因此 许 多具有网络唤醒功能的网卡都能与之兼容。 Boeing无线接入点、IBM、Cisco、United States Army、Canada Customs and Revenue Agency、Intel Corp、Compaq、Lucent、Microsoft Ltd、Dell Computer Corporation、Hewlett-Packard、Siemens、Walt Disney World Co.、Compuware Corp、AMD (Isn't that ironic)、Nortel Networks、Macromedia Inc.、British Telecommunications plc、eBay等等公司均在使用WOL技术。 要实现远程唤醒,还需要硬件的设置: 主板和网卡必须都支持远程唤醒功能。一般目前的主板都支持这个功能(2002年以后的板都 有),支持的主板上通常都有一个专门的3芯插座,以便在关机时为网卡供电。但并非所有 的网卡都支持该功能(特别是一些价格较便宜的低档网卡),要判断网卡是否支持远程唤醒功 能的方法很简单,支持远程唤醒的网卡上都有一个3针的WOL接口和一条3芯的远程唤醒电 缆,通过判断网卡是否带有WOL接口即可(有些较新的网卡可能没有WOL接口也能支持远程唤 醒。这是因为现在流行的主板支持PCI2.2标准,而PCI 2.2标准不需要通过专门的WOL接 口为网卡供电,允许主板直接通过PCI插槽向网卡提供Standby电源)。 1.硬件连接 网卡安装完毕后将远程唤醒电缆的一端插入到网卡的WOL接口上,另外一端与主板的3针
WOL远程唤醒接口相连(该接口旁通常标有WOL_CON的字样,当然如果主板和网卡都支持 PCI2.2标准则无须做这一步)。 需要说明的是,某些主板上已经集成了具有网络唤醒功能的网卡,只要开启“Wake on
PCI Card”功能就可以了,没有什么三脚插座,更不需要专用的三芯连线。 2.CMOS设置 打开CMOS远程唤醒功能很简单,只要将CMOS设置中的“如何用ps处理文字Power Management Setup”的 “Wake Up On LAN”或“Resume by LAN驱动加载失败”项设置为“Enable”或“On”即可。 ATX电源 必须要使用ATX电源,而且其+5V Standby电流必须比较大,根据Intel的建议,它需要在 600mA以上。该电流的大小可以从电源外部标识中的+5VSB(或+5AUX,5VSB)栏里查到。 (绝大部分的网卡在0.7A以下都可唤醒) 如果远程计算机最后一次关机的时候是属于非正常关机(突然断电或者关机时死机等),
唤醒就有可能会失败。在Windows 2000/XP系统中如果在关闭计算机时使用休眠 ,也可能 会造成唤醒失败。这是因为一些网卡需要复位一个标记,这只有在操作系统正常关闭的时 候才会发生。 软件的实现方面,其实就是通过socket向目标的机器发送Magic Packet(魔术包),魔术
包的格式,包含有连续6个字节的“FF”和连续重复16次的MAC地址。你可以在任何协议 的数据包(如在TCP/IP、IPX包)中填上 "FFFFFFFFFFFF"+连续重复16次的MAC地址,就 可利用该协议作出一个使用该协议的Magic Packet。只要NIC检测到数据包中任何地方有 这样的片段,便会将计算机唤醒. 假设被控计算机的Mac地址为01:02:03:04:05:06 (6 bytes),那么那台机器的网卡在数据 帧内发现以下的片断便会将计算机唤醒。 FFFFFFFFFFFF010203040506010203040506010203040506010203040506 010203040506010203040506010203040506010203040506010203040506 010203040506010203040506010203040506010203040506010203040506 010203040506010203040506 正是因为这个Magic Packet可以封装在任何协议的数据包中,可以在各种Router和 switch之间传送,而不会影响Magic Packet唤醒的功能。也就是说,不管Magic Packet 是来自于LAN还是WAN,只要网卡检测到Magic Packet就能唤醒。最常被使用的是UDP 广播包,不需要端口号,只要知道被控计算机的MAC地址即可。 二、ros上的设置 1.在ros羽绒服品牌大全上arp邦定你远程控制的机器。(为什么要这么做在第5点中会讲到) 2.如是动态IP上网,就去changeip申请一个域名,这样就在外网只要一ping你 的域名,就会反回你的所获得的公网地址),然后在把脚本加入到ros的计划任务中, 这样每次公网IP变更你都会了如指掌。有固定公网IP的可以略过此步。 3.ros的防火墙设置,如图1计算机科学与技术学什么的设置的这些没有问题,不会阻碍包的发送和接收。 4.按图2-图10的顺序设置ros.其中图3、图4设好后就得到图4-1的结果。(图2 实际为最终的规则列表图,图5、6、7为一个规则,图8、9、10为一个规则) 5.图8-图10是映射远程开机端口的,但是为什么转发是190.164.7.12的定向规则, 没有用190.164.7.255呢,因为我实验了后者开不了机,但如果不邦定此机的arp,关机 后ros的arp列表里就会消失掉这台机器的IP地址,那条规则就会失效,所以就必须 做第1步。 6.有人会问:怎样在公网向你获得的公网地址发送开机信息呢,不急网络上大有好 人在,只要能上网页就能发送,你去这个网站: www.depicus/wake-on-lan/woli.aspx (图11),Your Subnet Mask一般 是填255.255.255.255,Any Port Number是填图8中的你所填的端口数。点发送后,你 就可看到你所开机的流量显示图:图12. 7.那开机后你就可做根据图5规则中的端口数,打开在你的所在机器的远程桌面连 接程序远程连接你的机器了(图13),当然IP地址也可为你的changip域名,因为端 口可以随意定,所以可为你的局域网机器都映射(注意不要填那些常用的端口如80、 21、23等) 8.教程到此结速。有兴趣者可以一试,欢迎回馈信息! [ 本帖最后由 lshzcb1 于 2007-10-27 18:23 编辑 ] |
发表评论