首页 >>  正文

openwrt+lan口不绑定

来源:baiyundou.net   日期:2024-09-24

作者:白芝麻狐


前言:


由于openwrt出现莫名故障,暂未查明具体原因,临时写了个脚本进行补救,该文对此进行记录。


故障描述:



主要硬件信息:


cpu:N3150

网卡:

root@OpenWrt:~# lspci|grep -i 'eth'
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 07)
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 07)


故障表现:


lan口随机出现断网情况,拔插lan口连接ap的网线即可再次正常工作,并且日志中并无故障相关信息,暂未找到实际原因。

怀疑过系统问题,刷了多个版本的openwrt后故障依然存在。怀疑过与ap不兼容,在lan口加交换机后连接ap,依然会出现该问题。拔插交换机-op段的网线可恢复,拔插交换机-ap段的网线无效。


解决思路:


由于并未找到实际原因,以及拔插lan口后可以恢复网络,打算暂时写个脚本让主路由能正常工作。具体逻辑是通过循环ping ap的ip判断内网是否通畅,不通畅则重启lan口。

ping -c 1 -W 1 ip;ping检测命令,超时判断减少为1s
ifup lan;#重启lan口命令


初始代码:


ip=192.168.3.2;#此处填内网验证ip
for((i=0;i<10;i=(i)))#勿吐槽,随便写了个死循环
do
       /bin/ping -c 1 -W 1 $ip
       if [ $? -eq 0 ]; then
               echo "ping $ip  success!"
       else
               echo "ping  $ip fail!"
               logger "lan error, restart lan"
               ifup lan
               sleep 6;
       fi
       sleep 1;
done

该代码能实现基本要求,但是考虑到有一定几率杀后台,所以需要加入守护。这里我偷个懒,直接用crontab每几分钟调用一次,脚本只需要判断是否有脚本在运行即可,如果没有运行则继续运行。

info=`ps | grep /root/ping_test.sh | grep -v grep | cut -d " " -f 1`;#用于检测是否已经运行,路径填完整防止与其他冲突
info=($info)#转成数组,方便判断有几个后台在运行。


最终代码:


#!/bin/bash
info=`ps | grep /root/ping_test.sh | grep -v grep | cut -d " " -f 1`;
info=($info)
#echo $info
#echo ${#info[@]}
ip=192.168.3.2;#此处填内网验证ip
if [ ${#info[@]} = 2 ];then #有两个结果则开始运行
   for((i=0;i<10;i=(i)))
   do
       /bin/ping -c 1 -W 1 $ip
       if [ $? -eq 0 ]; then
               echo "ping $ip  success!";
       else
               echo "ping  $ip fail!";
               logger "lan error, restart lan!";
               ifup lan;
               sleep 6;
       fi
       sleep 1;
   done
else
   echo "still running";
fi

将文件保存为ping_test.sh,保存在/root/路径下,之后再crontab中写入计划任务,可每分钟执行一次,自行调整。

1 * * * * /bin/bash /root/ping_test.sh &

或者

1 * * * * nohup /bin/bash /root/ping_test.sh >/dev/null 2>&1 &



执行结果日志:


ip信息已删除


Sun Feb 19 06:37:07 2023 daemon.info watchcat[25546]: Could not reach 8.8.8.8 for 60. Rebooting after reaching 21600

此处成功发现内网已经断开,将lan口重启
Sun Feb 19 06:38:48 2023 user.notice root: lan error, restart lan!
Sun Feb 19 06:38:48 2023 daemon.notice netifd: Interface 'lan' is now down
Sun Feb 19 06:38:48 2023 daemon.info avahi-daemon[3771]: Withdrawing address record for 240e:::::1 on eth0.
Sun Feb 19 06:38:48 2023 daemon.notice ttyd[19019]: [2023/02/19 06:38:48:4523] N: rops_handle_POLLIN_netlink: DELADDR
Sun Feb 19 06:38:48 2023 daemon.info avahi-daemon[3771]: Registering new address record for fe80:::::4e24 on eth0.*.
Sun Feb 19 06:38:48 2023 daemon.info avahi-daemon[3771]: Registering new address record for 240e:::::1 on eth0.*.
Sun Feb 19 06:38:48 2023 daemon.info avahi-daemon[3771]: Withdrawing address record for 192.168.3.1 on eth0.
Sun Feb 19 06:38:48 2023 daemon.info avahi-daemon[3771]: Leaving mDNS multicast group on interface eth0.IPv4 with address 192.168.3.1.
Sun Feb 19 06:38:48 2023 daemon.notice ttyd[19019]: [2023/02/19 06:38:48:5212] N: rops_handle_POLLIN_netlink: DELADDR
Sun Feb 19 06:38:48 2023 daemon.notice ttyd[19019]: [2023/02/19 06:38:48:5213] N: rops_handle_POLLIN_netlink: DELADDR
Sun Feb 19 06:38:48 2023 daemon.notice ttyd[19019]: [2023/02/19 06:38:48:5214] N: rops_handle_POLLIN_netlink: DELADDR
Sun Feb 19 06:38:48 2023 daemon.notice netifd: Interface 'lan' is disabled
Sun Feb 19 06:38:48 2023 daemon.notice netifd: Network device 'eth0' link is down
Sun Feb 19 06:38:48 2023 daemon.notice netifd: Interface 'lan' has link connectivity loss
Sun Feb 19 06:38:48 2023 daemon.info avahi-daemon[3771]: Interface eth0.IPv4 no longer relevant for mDNS.
Sun Feb 19 06:38:48 2023 daemon.info avahi-daemon[3771]: Interface eth0.IPv6 no longer relevant for mDNS.
Sun Feb 19 06:38:48 2023 daemon.info avahi-daemon[3771]: Leaving mDNS multicast group on interface eth0.IPv6 with address 240e:::1.
Sun Feb 19 06:38:48 2023 daemon.info avahi-daemon[3771]: Withdrawing address record for fe80:::4e24 on eth0.
Sun Feb 19 06:38:48 2023 daemon.info avahi-daemon[3771]: Withdrawing address record for fd1a:::1 on eth0.
Sun Feb 19 06:38:48 2023 daemon.info avahi-daemon[3771]: Withdrawing address record for 240e:::::1 on eth0.
Sun Feb 19 06:38:48 2023 kern.info kernel: [97420.894078] eth0: 0xffffc9000006d000, 00:00:00:00:00:00, IRQ 119
Sun Feb 19 06:38:48 2023 daemon.notice netifd: Interface 'lan' is enabled
Sun Feb 19 06:38:48 2023 daemon.notice netifd: Interface 'lan' is setting up now
Sun Feb 19 06:38:48 2023 daemon.info avahi-daemon[3771]: Joining mDNS multicast group on interface eth0.IPv4 with address 192.168.31.1.
Sun Feb 19 06:38:48 2023 daemon.info avahi-daemon[3771]: New relevant interface eth0.IPv4 for mDNS.
Sun Feb 19 06:38:48 2023 daemon.info avahi-daemon[3771]: Registering new address record for 192.168.31.1 on eth0.IPv4.
Sun Feb 19 06:38:48 2023 daemon.info avahi-daemon[3771]: Joining mDNS multicast group on interface eth0.IPv6 with address 240e:::1.
Sun Feb 19 06:38:48 2023 daemon.info avahi-daemon[3771]: New relevant interface eth0.IPv6 for mDNS.
Sun Feb 19 06:38:48 2023 daemon.notice netifd: Interface 'lan' is now up
Sun Feb 19 06:38:48 2023 daemon.info avahi-daemon[3771]: Registering new address record for 240e:::::1 on eth0.*.
Sun Feb 19 06:38:48 2023 daemon.info avahi-daemon[3771]: Registering new address record for fd1a::::1 on eth0.*.
Sun Feb 19 06:38:49 2023 daemon.err odhcpd[2637]: Failed to send to ff02::1%lan@eth0 (Address not available)
Sun Feb 19 06:38:50 2023 daemon.info samba4-server: io_uring module found, enabling VFS io_uring. (also needs Kernel 5.4+ Support)
Sun Feb 19 06:38:50 2023 daemon.info samba4-server: io_uring module found, enabling VFS io_uring. (also needs Kernel 5.4+ Support)
Sun Feb 19 06:38:50 2023 daemon.info samba4-server: io_uring module found, enabling VFS io_uring. (also needs Kernel 5.4+ Support)
Sun Feb 19 06:38:50 2023 daemon.info samba4-server: io_uring module found, enabling VFS io_uring. (also needs Kernel 5.4+ Support)
Sun Feb 19 06:38:52 2023 kern.info kernel: [97425.132501] r8168: eth0: link up
Sun Feb 19 06:38:52 2023 kern.info kernel: [97425.134542] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
Sun Feb 19 06:38:52 2023 daemon.notice netifd: Network device 'eth0' link is up
Sun Feb 19 06:38:52 2023 daemon.notice netifd: Interface 'lan' has link connectivity




","force_purephv":"0","gnid":"9ddca1b07fc170941","img_data":[{"flag":2,"img":[]}],"original":0,"pat":"art_src_1,fts0,sts0","powerby":"hbase","pub_time":1676902667000,"pure":"","rawurl":"http://zm.news.so.com/0e2061d62fce4ae6e074015ba5ecf811","redirect":0,"rptid":"125cbc8c57d56a7d","rss_ext":[],"s":"t","src":"什么值得买","tag":[],"title":"openwrt lan口未知原因断网的修补方案记录

师败受2054路由器刷openwrt失败 但ping得通,怎么补救? -
郎鲍顺18513013385 ______ 你可以试一下能否进入安全模式,进入后可刷回原厂固件.进安全模式方法: 路由上电时,灯会全亮一下,当sys灯再次亮时,要立刻按住reset2-3秒,然后sys灯快闪了. 这说明,安全模式成功了!用网线连接路由LAN口,另一端连上你的电脑...

师败受2054openwrt如何转wifi为有线信号 -
郎鲍顺18513013385 ______ 很简单,现在市面上有超多这种设备,买一个CPE吧,CPE就是客户端前置设备,可以将wifi信号有效接收下来,同时改善wifi的上行信号,最重要的是它可以提供给你需要的以太网口,方便连接有线设备.淘宝上一大堆这种东西,上淘宝上买一个就行了. 无线路由器都有一种功能就是WDS,或是无线中继.本意是通过中继扩大无线的覆盖信号. 中继成功后,路由器的LAN口接上网线也是可以上网的.

师败受2054openwrt四个网口的怎么配置 -
郎鲍顺18513013385 ______ 看你要设置成交换机,还是路由器,可以通过VLAN设置的

师败受2054老大些我的MTK7620N刷OpenWRT 怎么把LAN口设置成WAN口? -
郎鲍顺18513013385 ______ 用WINSCP登陆修改/etc/config/network 可以把某个LAN口改成WAN口,貌似也有人做成功了修改有风险,仅供参考 查看更多答案>>

师败受2054求助,OPENWRT如何在一级路由访问二级路由? -
郎鲍顺18513013385 ______ 如果是openwrt官方的默认设置,用二级路由器访问一级路由器本来就可以如果要用二级路由器下的电脑访问一级路由器,要设置电脑的路由表从一级访问二级,要在二级路由器的防火墙设置里,允许二级路由器接收wan区域的入站数据(默认不允许)从外网访问二级,要设置客户端路由表,设置一级路由器允许wan区域到lan区域的转发,再加上上一行的设置A路由器LAN下的电脑如何访问B路由器LAN下的电脑,要设置B路由器允许wan区域到lan区域的转发,再加上端口转发的设置

师败受2054路由器刷好openwrt锐捷怎样设置 -
郎鲍顺18513013385 ______ 你好,猫出来的网线连接到路由器的WAN口,再用网线连接路由器的LAN口和电脑,在IE地址栏输入192.168.1.1,用户名和密码都是admin,(如果不对查看路由器底面贴纸或说明书),进入路由器设置,在WAN口设置里选PPPOE连接方式,输入上网账号和密码,开启DHCP服务,保存设置,进入无线设置,开启无线功能和SSID广播,设置无线连接密码,保存设置.然后把所有的电脑的本地连接的TCPIP属性的两项都设为“自动获得....”,以后就不用电脑再拨号上网了.路由器自动拨号上网.如有问题请追问.

师败受2054openwrt 使用3g网卡,路由器已经连接到移动网络但无法上网,cmnet接入,已获取移动Ip,但电脑无法上网 -
郎鲍顺18513013385 ______ LAN口插入电脑设置的,可以把路由器设置为交换机或路由器方式,设置交换机方式就是关闭DHCP功能,你哪个一插路由器接交换机,和电脑线全插LAN口.要是做路由器的方式,就把路由器设置开启DHCP功能就行,你哪个一插能用的路由器LAN分一条线给另一个路由器插WAN口,且这个路由器的LAN口对电脑.

师败受2054求大神怎么办呀?wnr2200刷openwrt把lan口设置成了
郎鲍顺18513013385 ______ 步骤一 发现硬件复位按键 NETGEAR路由器如果拥有一个复位按键,其最可能出现在2个位置,一为设备背部铭牌处,二为设备网口同侧背板上.下面的视图显示了它们可...

师败受2054openwrt,如何设置多wan口 -
郎鲍顺18513013385 ______ /etc/config/network里面设置config 'switch_vlan' option 'device' 'eth0' option 'vlan' '1' option 'ports' '0 1 2 3 5t'config 'switch_vlan' option 'device' 'eth0' option 'vlan' '2' option 'ports' '4 5t'这样设置之后,lan4就变为wan口了

师败受2054openwrt怎么知道哪个商品是eth0.1,eth0.2,eth0.3 -
郎鲍顺18513013385 ______ 我也不知道这个问题有没有标准答案,从我的经验来讲,有这么两个办法 1. 你把所有接口上的网线都拔了,只留一根网线插在你的网口上.这时候你在OpenWRT的命令行里跑ifconfig,看哪个NIC还有显示,那插上去的口就代表那个NIC.(注...

(编辑:自媒体)
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图 @ 白云都 2024