openwrt 经常无法提供 dhcp、dns 服务 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
OpenWrt 是一个专门面向嵌入式设备的 Linux 发行版。你可以将 OpenWrt 支持的型号的嵌入式设备,比如各种路由器上的系统,换成一个有更多可能性可以折腾的 Linux 系统。
OpenWrt 官方网站
nowheretoseek
V2EX    OpenWrt

openwrt 经常无法提供 dhcp、dns 服务

  •  
  •   nowheretoseek 2023-05-07 00:49:23 +08:00 3115 次点击
    这是一个创建于 942 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在 newifi3-d2 上运行 openwrt 22.03.3 ,互联网是通过 wwan 接入的,wan 口无网线。

    问题表现为:

    1 、有时无线连不上,日志中很多 hostapd 相关信息,终端显示是卡在获取 IP 这一步
    2 、无线连接出问题时,有线连接也有同样问题,但印象里见过这时候有线可以用,只是无线连不上
    3 、出问题后,手动配置客户端的 ip 后可联网,但路由器 dns 转发功能不工作,需要手动配置公共 dns
    4 、lsof -i:53 结果为空(工作正常时,是会打印多行的文件描述符占用的),dns 转发解析不工作

    从现象看,是 dnsmasq 的问题,可 dnsmasq 显示版本号是 2.8.6 ,最近更新是 2021 ,并不是新近的版本。

    这个现象路由器重启后大概率会出现,但过段时间就好了(这段时间可能几十分钟甚至更久)。有时正常用着,突然又出了这问题。内核日志看不出异常,系统日志也看不出 dnsmasq 进程有异常。问题出现时,重启 dnsmasq 进程没用。

    我尝试过重刷系统,未作配置时,dhcp 服务无问题,恢复备份的 overlay 后重启,问题又出现。看上去是错误的配置或软件 bug ,可是有时问题过段时间又会消失,让人摸不着头脑。

    总之,从进程、日志我看不出明显的症结。怀疑是硬件或系统的问题,可以有没有搜到类似的报告。请有经验的朋友帮解惑下,谢谢!
    12 条回复    2023-05-15 14:13:00 +08:00
    br2049
        1
    br2049  
       2023-05-07 07:47:28 +08:00
    试试最新的 22.03.5 ?
    Yzh361
        2
    Yzh361  
       2023-05-07 08:51:30 +08:00 via Android
    换版本试试
    nowheretoseek
        3
    nowheretoseek  
    OP
       2023-05-07 09:20:46 +08:00
    @br2049 刷过 22.03.5 ,恢复 overlay 备份后还是这样
    nowheretoseek
        4
    nowheretoseek  
    OP
       2023-05-07 09:24:48 +08:00
    @Yzh361 另一台刷了 19.07.6 ,一直用着很稳定。我试过把有问题的这台也刷成 19.07.6 ,并恢复那台的 overlay 备份,也是不行,不过也可能是我什么疏忽给搞错了
    br2049
        5
    br2049  
       2023-05-07 10:23:44 +08:00
    去 op 论坛问问吧 带上日志
    nowheretoseek
        6
    nowheretoseek  
    OP
       2023-05-07 13:57:02 +08:00
    @br2049 好的,我会发发试试

    提供点额外信息,就是出问题时,系统不会监听 53 和 67 端口,为了确认不是系统问题,我新装了 samba ,发现 137-139 以及 445 端口都会被监听,另外安装 dnsmasq-full 也不解决问题。但进程列表中 dnsmasq 是在的。

    ```
    root@OpenWrt:~# ps | grep dnsmasq
    2644 root 2664 S {dnsmasq} /sbin/ujail -t 5 -n dnsmasq -u -l -r /bin/ubus -r /etc/TZ -r /etc/dnsmasq.conf -r /etc/dnsmasq.d -r /etc/ethers -r /etc/group -r /etc/hosts -r /etc/passwd
    2650 root 15996 R /usr/sbin/dnsmasq -C var/etc/dnsmasq.conf.cfg01411c -k -x /var/run/dnsmasq/dnsmasq.cfg01411c.pid
    ```
    nowheretoseek
        7
    nowheretoseek  
    OP
       2023-05-07 15:42:17 +08:00
    @nowheretoseek @br2049 @Yzh361 排查发现问题症结了,是 conf-dir 中引入的一个配置文件导致的,[accelerated-domains.china.conf]( https://github.com/felixonmars/dnsmasq-china-list/blob/master/accelerated-domains.china.conf),删除它重启 dnsmasq 就一切正常,恢复它重启 dnsmasq 后 53 端口和 67 端口服务就不监听。

    此文件在 19.07.6 版本 openwrt+2.80 版本 dnsmasq 也有使用,并无问题,出问题的环境是 22.03.3 版本的 openwrt+2.86 版本的 dnsmasq ,具体原因需要进一步排查。
    nowheretoseek
        8
    nowheretoseek  
    OP
       2023-05-07 15:56:15 +08:00
    查询发现是因为此配置文件引入大量的 server 规则( 6w+条),dnsmasq 2.86 更新似乎引入了 bug ,导致处理这种情况无力,cpu 高占用,一直遍历完规则才会在 53 端口和 67 端口开启服务,解决办法是放弃这个规则文件或更换 dnsmasq 版本。

    ```
    Mem: 99612K used, 410224K free, 11516K shrd, 0K buff, 41192K cached
    CPU: 24% usr 0% sys 0% nic 74% idle 0% io 0% irq 0% sirq
    Load average: 1.78 1.40 1.42 3/115 9331

    PID PPID USER STAT VSZ %VSZ %CPU COMMAND
    9287 9285 root R 6456 1% 24% /usr/sbin/dnsmasq -C /var/etc/dnsmasq.conf.cfg01411c -k -x /var/run/dnsmasq/dnsmasq.cfg01411c.pid
    ```
    flynaj
        9
    flynaj  
       2023-05-07 23:38:46 +08:00 via Android
    你的配置文件是从哪个版本升级来的,建议全部重新配置,不要覆盖。
    nowheretoseek
        10
    nowheretoseek  
    OP
       2023-05-08 03:22:14 +08:00
    @flynaj 是重新配置的,问题已解决,跟自定义配置无关,跟外部引入的规则文件以及 dnsmasq 的 bug 有关,在 8 楼说明了。
    huaxie1988
        11
    huaxie1988  
       2023-05-14 21:51:57 +08:00 via Android
    用 sdk backport trunk 的 dnsmasq 修改配置文件手动编译个 2.89 的
    nowheretoseek
        12
    nowheretoseek  
    OP
       2023-05-15 14:13:00 +08:00
    @huaxie1988 谢谢指教,以后尝试下。搜到了一个别人编译的适用 7621 的包: https://www.right.com.cn/forum/thread-8273761-1-1.html
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     931 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 20:14 PVG 04:14 LAX 12:14 JFK 15:14
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86