smartdns icon indicating copy to clipboard operation
smartdns copied to clipboard

最新版本37.2.10设置6053端口运行正常,但断开wan口重连后并不会自动恢复为上游服务器导致可上网但smartdns失效

Open 58285474 opened this issue 3 years ago • 68 comments

问题现象
最新版本37.2.10设置6053端口运行正常,但断开wan口重连后并不会自动恢复为上游服务器导致可上网但smartdns失效,另外最新版37.2.10和37.2.10-openwrt什么区别?

运行环境

  1. esir的openwrt夏季高大全

  2. 联通宽带

  3. smartdns版本37.2.10

  4. 涉及的配置(注意去除个人相关信息)

重现步骤

  1. 上游DNS配置。

  2. 访问的域名。

信息收集

  1. 将/var/log/smrtdns.log日志作为附件上传(注意去除个人相关信息)。
  2. 如进程异常,请将coredump功能开启,上传coredump信息文件,同时上传配套的smartdns进程文件。
    在自定义界面,开启设置->自定义设置->生成coredump配置,重现问题后提交coredump文件 coredump文件在/tmp目录下

58285474 avatar Sep 12 '22 15:09 58285474

~已知bug,请等下个版本修复。~ 仔细看了一下也是 dnsmasq 配置问题,但和 #1048 #1056 的不一样。已知自动配置 dnsmasq 这块有问题,下个版本有调整。在作者更新前我(个人)建议不要用自动配置dnsmasq功能(DO NOT TOUCH MY DNSMASQ!)

37.2.10是静态链接编译,37.2.10-openwrt是动态链接编译。release里都写着呢。请勿刷屏

PikuZheng avatar Sep 12 '22 15:09 PikuZheng

已知bug,请等下个版本修复。

抱歉,第一次反馈,如有不规范还请多担待

58285474 avatar Sep 12 '22 16:09 58285474

”断开wan口重连“是个什么行为?pppoe重新拨号?拔网线?禁用接口再启用?

PikuZheng avatar Sep 12 '22 16:09 PikuZheng

”断开wan口重连“是个什么行为?pppoe重新拨号?拔网线?禁用接口再启用?

定时任务重连wan口,例如:59 23 * * * ifdown wan;sleep 15;ifup wan,再请教一下动态链接编译和静态链接编译什么区别?,两个版本使用中没区别吧,感谢回答

58285474 avatar Sep 12 '22 16:09 58285474

接口状态变化不应该导致dnsmasq配置修改,猜测是有其他的软件在监视网络状态并做了重置或重启dnsmasq动作,一般是通过计划任务或热拔插脚本(/etc/hotplug.d/iface/)实现。

静态链接编译就是把引用到的运行库(linux的.so文件,约等于windows的.dll文件)集成到执行文件内部。程序文件会变大,但可以独立工作。动态链接编译就是不集成,系统环境中必须有这些运行库。程序文件较小。

PikuZheng avatar Sep 12 '22 23:09 PikuZheng

接口状态变化不应该导致dnsmasq配置修改,猜测是有其他的软件在监视网络状态并做了重置或重启dnsmasq动作,一般是通过计划任务或热拔插脚本(/etc/hotplug.d/iface/)实现。

静态链接编译就是把引用到的运行库(linux的.so文件,约等于windows的.dll文件)集成到执行文件内部。程序文件会变大,但可以独立工作。动态链接编译就是不集成,系统环境中必须有这些运行库。程序文件较小。

对于你说的重启dnsmasq应该是passwall的负载均衡,看日志是这样的,因为进程守护我设置passwall延迟10s,不然passwall的负载均衡都起不来,我觉得如果smartdns也加个进程守护就好了,这样可以最后启动smartdns,这样不会被其它进程所干扰,最起码保证dnsmassq最后由smartdns掌管

58285474 avatar Sep 12 '22 23:09 58285474

故障的时候,发一下/etc/config/dnsmasq文件内容。

pymumu avatar Sep 14 '22 01:09 pymumu

故障的时候,发一下/etc/config/dnsmasq文件内容。

明白你的意思,故障的时候我当时看了确实恢复了默认,并不是自动设置的上游127.0.0.1#6053,而什么都不动,再去保存一下smartdns又会设置上游,也就是6053!

58285474 avatar Sep 14 '22 01:09 58285474

那你看一下smartdns的配置,enabled是否是启用的状态。 有无可能是被某个程序disable了?

pymumu avatar Sep 14 '22 01:09 pymumu

那你看一下smartdns的配置,enabled是否是启用的状态。

有无可能是被某个程序disable了?

配置文件是没有问题的

58285474 avatar Sep 14 '22 01:09 58285474

那看看异常情况,dnsmasq的上游被改成了什么。

pymumu avatar Sep 14 '22 01:09 pymumu

那看看异常情况,dnsmasq的上游被改成了什么。

image

58285474 avatar Sep 14 '22 03:09 58285474

那看看异常情况,dnsmasq的上游被改成了什么。

image image

58285474 avatar Sep 14 '22 03:09 58285474

你把smartdns自动设置dnsmasq关闭,手工设置127.0.0.1#6053 然后重连,看看server字段还有没有。

如果server自带没有了,可能就是这个字段被其他程序清空了。

pymumu avatar Sep 14 '22 03:09 pymumu

你把smartdns自动设置dnsmasq关闭,手工设置127.0.0.1#6053

然后重连,看看server字段还有没有。

如果server自带没有了,可能就是这个字段被其他程序清空了。

我最初怀疑过自动设置失效,确实按你说的手动设置过,还是一样的故障

58285474 avatar Sep 14 '22 03:09 58285474

所以现在的问题还是openwrt系统中哪个软件改掉了dnsmasq的设置。我先猜一个shadowsocks-rust。 而且这个设置会在端口状态改变后瞬间消失吗?中间不会还存在几秒?

PikuZheng avatar Sep 14 '22 04:09 PikuZheng

所以现在的问题还是openwrt系统中哪个软件改掉了dnsmasq的设置。我先猜一个shadowsocks-rust。

而且这个设置会在端口状态改变后瞬间消失吗?中间不会还存在几秒?

是否存在几秒我也抓不住啊😂,只能看到启动后的效果

58285474 avatar Sep 14 '22 04:09 58285474

看一下计划任务

PikuZheng avatar Sep 14 '22 05:09 PikuZheng

看一下计划任务

0 0 * * * /etc/init.d/acme start 3 3 12 12 * /usr/bin/nginx-util 'check_ssl'

59 23 * * * ifdown wan;sleep 15;ifup wan 我只手动添加了一个23:59分重连wan口切换ip,这是这个定时我发现重启wan口后失效

58285474 avatar Sep 14 '22 05:09 58285474

看一下网口状态监视事件 /etc/hotplug.d/iface

要不就在ifup后重启smartdns

59 23 * * * ifdown wan;sleep 15;ifup wan && /etc/init.d/smartdns restart

PikuZheng avatar Sep 14 '22 05:09 PikuZheng

证实是passwall在修改dnsmasq,参考 https://github.com/xiaorouji/openwrt-passwall/issues/1925

PikuZheng avatar Sep 14 '22 05:09 PikuZheng

以后我安装好openwrt第一件事就是卸载dnsmasq,叫你们乱动哼 :angry:

PikuZheng avatar Sep 14 '22 05:09 PikuZheng

以后我安装好openwrt第一件事就是卸载dnsmasq,叫你们乱动哼 :angry:

臭宝,不可爱

58285474 avatar Sep 14 '22 05:09 58285474

以后我安装好openwrt第一件事就是卸载dnsmasq,叫你们乱动哼 :angry:

臭宝,不可爱

大佬,我小白,上面提到4.51-4没问题,可否告知哪里下载passwall的4.51-4版本 ipk

58285474 avatar Sep 14 '22 07:09 58285474

大佬,我小白,上面提到4.51-4没问题,可否告知哪里下载passwall的4.51-4版本 ipk

不用这玩意,不了解。不过要不先试试在ifup后重启smartdns?

PikuZheng avatar Sep 14 '22 07:09 PikuZheng

大佬,我小白,上面提到4.51-4没问题,可否告知哪里下载passwall的4.51-4版本 ipk

不用这玩意,不了解。不过要不先试试在ifup后重启smartdns?

好主意

58285474 avatar Sep 14 '22 07:09 58285474

大佬,我小白,上面提到4.51-4没问题,可否告知哪里下载passwall的4.51-4版本 ipk

不用这玩意,不了解。不过要不先试试在ifup后重启smartdns?

宝,38.0克服这个问题没?在想要不要更新

58285474 avatar Sep 15 '22 00:09 58285474

宝,38.0克服这个问题没?在想要不要更新

38.0撤回了。我不用这个功能(DO NOT TOUCH MY DNSMASQ!)

PikuZheng avatar Sep 15 '22 00:09 PikuZheng

我遇到类似问题 每天路由器定时自动重启以后拨号能获取到ip和dns smartdns也运行 但就是不能上网 除非关闭smartdns重启路由就一切正常 或者重复断电重启2-3次路由就正常了 37.2版 用的是重定向到53 dnsmasq配置都没动过 只绑定了几个设备的mac OpenWrt 21.02.2 r16495-bf0c965af0

wyjtm avatar Sep 15 '22 03:09 wyjtm

37.2的release不支持53端口监听,用6035端口并设置重定向53到6053 luci要和smartdns配套

pymumu avatar Sep 15 '22 04:09 pymumu