openwrt网络唤醒无效

openwrt网络唤醒无效,第1张

openwrt网络唤醒无效查看arp状态。步骤:

1、ssh进入openwrt后台。

2、查看arp状态(命令:ipneigh)。

3、将服务器的arp信息更改成永久(permanent)。

4、命令:ipneighchange192.168.x.xlladdrxx:xx:xx:xxxxxxxxnudpermanentdevbr-lan(其中:192.168.x.x是设备地址,xx:xx:xx:xxxxxxxx是MAC地址)。

5、设置计划任务(每分每刻执行这条命令)*****ipneighchange192.168.x.xlladdrxx:xx:xx:xxxxxxxxnudpermanentdevbr-lan

家里组了台服务器存放资料,或者作为开发服务器,远程登陆成为刚性需求,由于机器需要的时候才用到,所以如果经常开机的话很费电,按需开机是最佳办法;网上教程很多,但是比较杂乱,表达累赘;还是自己总结一篇简单好用的;

https://wol.aquilatech.com/

http://sj.qq.com/myapp/detail.htm?apkName=com.easyapps.txtoolbox

https://play.google.com/store/apps/details?id=com.easyapps.txtoolbox

https://itunes.apple.com/CN/app/id310369182?mt=8

更多请访问原文:

https://tinyx.cc/network/network-experience/wol.html

下面的分析可以参考,跨网唤醒需要在路由上进行设置:

远程唤醒:

1、除了在BIOS中开启远程唤醒功能外,有些主板要求开启以下功能:

AC Back Function(设置掉电重启后系统的状态)

主板的来电唤醒功能 比如一插电源线主机就启动看你想怎么设置了 使用远程唤醒将“AC BACK Function”设置为“Full-on”即可 关机,开机,先前的状态(原来开时后来电就马上开机,原来关机后来电时还保持关机状态)

2、另外,有些网卡还要在其属性中进行另外设置:

系统重新启动后,单击[开始]-][控制面板],然后选择[系统]。

在“系统属性”窗口中,选择[硬件] 标签,然后单击[设备管理器]。

在“设备管理器”窗口中,单击[网络适配器] 旁边的加号+,然后双击[marvell yukon 88e8036/8053 pci-e fast ethernet controller]。

选择[高级] 标签,然后选择[wake from shut down] 属性。

在“值”列表中选择[开],然后单击[确定] 以关闭对话框。

跨网段远程唤醒:

于跨网段要经过交换机或路由器,而它们是不允许广播的,所有些网友回答用 ip help address 原理么类似跨网段的DHCP,或者IP

DIRECTED BROADCAST 和 IP FORWARD PROTOCOL 需要ENABLE等。可是使用后发现还是不行,后来见到一文章:

************************************************************

远程开机,现在有两种方法,本地同一广播域内开机,远程过路由开机。

先谈谈本地开机。

 

 要打开mac地址是00-0E-7F-7B-BD-32这台主机,发起pc发出一个广播。通过sniffer的ip包。可以看到目的MAC地址是FF-

FF-FF-FF-FF-FF,这是一个广播,再看目的ip地址,192.168.200.255,是ip广播,向下看,数据包是UDP,目的端口是

2304,源端口不必理会。

 

 那么说,发一个广播,只要端口是2304就可以开机吗?显然不是,开机是有针对性的,不是发一个这样的广播,所有的机器都开机。关键就在那个数据里面。

看一下这个126字节的数据到底有什么,最初的6个子字节是全F,7到12字节就是要开机的MAC地址,然后循环出现,直到填充到126个字节为止。这才

是确定开那一台机器的关键。

总结一下,要开机就必须让被开的机器,收到端口为2304的udp数据包,包的内容包含了被开机的MAC地址。但是没有开机的机器没有办法设定ip地址,怎么才能让其收到,于是广播就是最好的方式了。

那么远程过路由开机怎么办,又不能进行广播。

通过抓包可以发现,目的mac地址变成了网关的,目的ip地址变成了那台机器设定的静态ip,其它数据没有变化。那么这样可以开机吗?前面不是说过了,没有开机的机器是无法设定ip的,它如何才能把这个数据送到该网卡呢。

 

 这里就牵扯到一些路由器,交换机,hub的一些原理。hub是把所有的数据都发送到所有端口(物理),所以效率不高;交换机呢,是根据已经注册的mac

地址和端口(物理)的对应关系转发,那么没有开机的情况下,当然也没有注册mac地址了,但是交换机在对待没有注册的mac地址的时候,会把这个数据包发

往所有的端口(物理),这样也没问题了。那么作为远程的关键导入点的路由器,是工作在3层,它要查找ip地址和mac的对应关系,就用arp协议,我们知

道如果这台机器是down状态下,是不会应答arp广播的,那么这样说来无法开机了?结果却出人意料,机器却开机了,为什么?

析一下,进入路由器,察看arp

table,竟然有ip地址和mac的对应,稍作思考就明白,原来这台测试用的电脑刚刚做完开机测试,刚关机,开机的时候,即使我们什么都不

做,windows机器也会去找微软的服务器的,这已经不是秘密,那么它必然找过网关,所以网关当然就知道了这个ip和mac的对应关系,根本就不用

arp查找,直接就发出数据,机器接收到也就能开机了。为了证实这个想法,把路由器内的对应关系删除,果然不能开机了。

远程开机不能只开刚刚关闭的机器吧,症结就在ip和mac的关系上,那么绑定对应关系,问题迎刃而解。

************************************************************

于是在交换机中加入IP与MAC地址的绑定命令:arp 192.168.1.2 0011.e4e5.2489 arpa

然后用AMD的开机软件测试,在IP地址中输入192.168.1.2,在MAC地址中输入0011.e4e5.2489 ,OK成功。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/223940.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-07
下一篇2023-04-07

发表评论

登录后才能评论

评论列表(0条)

    保存