微博 微信

Hao4K影音

[分享讨论] 为广域网WoL远程开机解决OpenWrt ARP绑定(IP/MAC绑定)无效的问题

2021-6-29 20:47:20 349 0 回帖奖励 |倒序浏览 |阅读模式

小uu 帖主

2021-6-29 20:47:20

写在前面:我非专业人士,对编程、计较机理论唯一外熟悉悉,没有系统的进修,经常知其然不知其所以然,所以我说的话能够一些在大佬看来很睿智,请包涵。
一、碰到的题目
比来我在重组家庭组网,更换了主路由,碰到了个烦心的题目——我平常为了能在外网串流我的PC中的游戏(用的Moonlight),需要用到WoL功用远程叫醒家里的PC,而且是在广域网(外网)利用WoL。这就需要路由器支持ARP绑定(PC的WoL相关的设备和路由器端口映照也得做好)。而我的刷了OpenWrt的软路由,它的ARP绑定却欠好使。明显系统设备是有这个设备,可是就是不生效,具体表示为——
OpenWrt的“IP/MAC绑定”中已设备了绑定,但用ip neigh号令检察arp表的时辰,发现条目状态为REACHABLE而并非PERMANENT,该主机封闭后,本条arp信息即生效,未构成永久绑定关系。
这会致使经过端口映照发送来的远程叫醒包没法到达IP/MAC绑定的主机,主机没法经过外网端口映照叫醒。
具体见下图(上面这段话和下面这图都是我援用后文提到的Fyred大佬的):
当我输入以上代码的时辰,会显现File exist毛病,这暗示arp内外已经有对应的ip/MAC的静态绑定条目了!这是一个稀里糊涂的情况,它的绑定状态明显是默许的REACHABLE,咋就被谁绑定了?
搞不懂,但既然如此,我们不能用ip neigh add代码了(add暗示增加绑定关系),改成用:
chg也可以改成change、replace。代表把IP/MAC的绑定关系改成“PERMANENT”。这样的话应当就成功了.....吧?
但是现实再一次击打我这个菜鸟 明显已经绑定为PERMANENT的IP,过了一会以后再查询居然酿成了REACHABLE!? 时候不肯定多久,可是REACHABLE条目是静态绑定的,关机后REACHABLE必定会老化成FAILED,然后从路由表上消失,广域网WoL也固然生效。
这实在已经超越我这菜鸟的水平范围之外了,只能依靠于百度。没想到最初真的搜到github上有人提出了一条Issue,题主Fyred看来比力懂行的,他描写碰到的题目就是跟我的如出一辙,可是他表达得很清楚、很到位,还表达了自己的一些料想,大师可以去看看:
这条issue虽然最初大师也没会商出个公道的处理法子,可是我很感激他,它让我看清楚了并不是我的设备有题目,而看来是OpenWrt自己的题目,有能够是部份内核版本才会有题目(我是4.19)。他提到了OpenWrt的IP/MAC绑定功用是经过arpbind启动脚原本实现的,而这剧本的代码是写的"ip neigh
add",在这个莫名的情况下绑定失利了;然后他还提出了一个重要的料想——“
路由器启动后还有什么法式在修改ARP表”,据我观察正是这个法式一向在运作,这也致利用add号令的时辰提醒“File exist”,也致使明显绑定成PERMANENT了还会被变回REACHABLE。
搞清楚了不是我的题目,可是这让我更蛋疼,由于我折腾家庭组网已经弄吐了(这是别的一个故事了),不想再尝试换OpenWrt内核,不换内核的话我又不懂代码,无从动手。
三、终极处理计划
最初是一位很耐心讲授的大佬点拨了我一个治标不治标可是很现实有用的法子——既然是是由于IP/MAC条目被未知的法式延续改写成REACHABLE进而致使关机后在路由表中只能保持一段时候,那末我弄个
一向履行的剧本,延续田自动改写这条目为PERMANENT不便可以了吗?
OpenWrt中恰好有“计划使命”这个功用,可免得除手动敲crontab号令。在里面新增一行代码:
回复

使用道具 举报

   发表回复

您需要登录后才可以回帖 登录 | 立即注册

返回列表 本版积分规则

  • 在线客服

  • 返回顶部