pymumu / smartdns

A local DNS server to obtain the fastest website IP for the best Internet experience, support DoT, DoH. 一个本地DNS服务器,获取最快的网站IP,获得最佳上网体验,支持DoH,DoT。
https://pymumu.github.io/smartdns/
GNU General Public License v3.0
8.32k stars 1.07k forks source link

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

Closed 58285474 closed 8 months ago

58285474 commented 2 years ago

问题现象
最新版本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目录下
PikuZheng commented 2 years ago

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

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

58285474 commented 2 years ago

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

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

PikuZheng commented 2 years ago

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

58285474 commented 2 years ago

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

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

PikuZheng commented 2 years ago

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

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

58285474 commented 2 years ago

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

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

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

pymumu commented 2 years ago

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

58285474 commented 2 years ago

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

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

pymumu commented 2 years ago

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

58285474 commented 2 years ago

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

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

配置文件是没有问题的

pymumu commented 2 years ago

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

58285474 commented 2 years ago

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

image

58285474 commented 2 years ago

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

image image

pymumu commented 2 years ago

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

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

58285474 commented 2 years ago

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

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

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

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

PikuZheng commented 2 years ago

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

58285474 commented 2 years ago

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

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

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

PikuZheng commented 2 years ago

看一下计划任务

58285474 commented 2 years ago

看一下计划任务

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口后失效

PikuZheng commented 2 years ago

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

要不就在ifup后重启smartdns

59 23 * * * ifdown wan;sleep 15;ifup wan && /etc/init.d/smartdns restart
PikuZheng commented 2 years ago

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

PikuZheng commented 2 years ago

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

58285474 commented 2 years ago

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

臭宝,不可爱

58285474 commented 2 years ago

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

臭宝,不可爱

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

PikuZheng commented 2 years ago

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

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

58285474 commented 2 years ago

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

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

好主意

58285474 commented 2 years ago

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

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

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

PikuZheng commented 2 years ago

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

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

wyjtm commented 2 years ago

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

pymumu commented 2 years ago

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

wyjtm commented 2 years ago

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

你更新推荐的用重定向到53 不让用设置dnsmasq上游

pymumu commented 2 years ago

只要luci和smartdns配套,两种都可以 但如果安装有ssrp的设置为dnsmasq上游不容易出问题

PikuZheng commented 2 years ago

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

您这个是查询循环问题。配置smartdns上游请使用ip地址,不要用域名

wyjtm commented 2 years ago

只要luci和smartdns配套,两种都可以 但如果安装有ssrp的设置为dnsmasq上游不容易出问题

我这边用到37.2重定向到53这个选项才能正常用还有问题 37版之前的重定向到53这个选项从来都是不能用的 只要选了就不能解析dns 所有域名都不能解析 不知道为啥38版直接就删除了作为dnsmasq上游这个选项

wyjtm commented 2 years ago

询循环问题。配置smartdns上游请使

我这边smartdns没上游直接拨号上网的 选项都是ui里的

PikuZheng commented 2 years ago

我这边smartdns没上游直接拨号上网的 选项都是ui里的

smartdns不配置上游的话肯定是没法正常工作的

58285474 commented 2 years ago

我遇到类似问题 每天路由器定时自动重启以后拨号能获取到ip和dns smartdns也运行 但就是不能上网 除非关闭smartdns重启路由就一切正常 或者重复断电重启2-3次路由就正常了 37.2版 用的是重定向到53

dnsmasq配置都没动过 只绑定了几个设备的mac

OpenWrt 21.02.2 r16495-bf0c965af0

不用重启路由,你试试关闭smartdns,检查一下DNS转发并且重新保存一下此画面会有意外惊喜

wyjtm commented 2 years ago

artdns不配置上游的话肯定

不是添加了dns就能用吗? 我一直这样用的 还要啥上游? 我没在说明那看见啊 都按照说明搞的

wyjtm commented 2 years ago

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

不用重启路由,你试试关闭smartdns,检查一下DNS转发并且重新保存一下此画面会有意外惊喜

好的 谢谢 下次看看是不是这个问题

58285474 commented 2 years ago

只要luci和smartdns配套,两种都可以 但如果安装有ssrp的设置为dnsmasq上游不容易出问题

我这边用到37.2重定向到53这个选项才能正常用还有问题 37版之前的重定向到53这个选项从来都是不能用的 只要选了就不能解析dns 所有域名都不能解析

不知道为啥38版直接就删除了作为dnsmasq上游这个选项 我下载了38.0版本,还没装,啥时候完善啥时候用吧

wyjtm commented 2 years ago

只要luci和smartdns配套,两种都可以 但如果安装有ssrp的设置为dnsmasq上游不容易出问题

配不配套不知道 我每次安装的都是用在同一个release版本里下的ui+本体 每个release版本我都有下载到本地按release版本保存

PikuZheng commented 2 years ago

不是添加了dns就能用吗

这个就是smartdns的上游dns服务器啊。这里要用ip,不要用域名

PikuZheng commented 2 years ago

自动配置dnsmasq这个功能一直是有问题的,原因1是各个openwrt的dnsmasq配置方法不完全相同 2总有其他的app也在改dnsmasq而且还不告诉你。

将smartdns作为dnsmasq的上游,建议不要勾选那个自动配置,然后去dnsmasq里单独配置好。

wyjtm commented 2 years ago

不是添加了dns就能用吗

这个就是smartdns的上游dns服务器啊。这里要用ip,不要用域名

这个啊 我两种都有 ip的有用本地运营商的+223.5.5.5+119.29.29.29+思科的两个,还有两个域名的doh,doh域名自动解析ipv4和v6地址总不能固定一个吧 这样也不够吗?

PikuZheng commented 2 years ago

还有两个域名的doh

取决于具体配置。smartdns在启动时会使用系统dns把doh域名解析为ip。您系统dns指向dnsmasq,dnsmasq上游是smartdns,如果此时(有策略限制)无法用ip的dns解析返回,则导致死循环,服务不可用

wyjtm commented 2 years ago

还有两个域名的doh

取决于具体配置。smartdns在启动时会使用系统dns把doh域名解析为ip。您系统dns指向dnsmasq,dnsmasq上游是smartdns,如果此时(有策略限制)无法用ip的dns解析返回,则导致死循环,服务不可用

不是这样 使用“作为dnsmasq的上游服务器”的时候并不会出现问题 我一直用这个选项

37版本之前的版本 使用“重定向53端口到SmartDNS”这个选项的时候就会出现无法解析的问题 必定是每次都是无法解析 怎么重启路由都没用 37版本 使用“重定向53端口到SmartDNS”这个选项会出现随机重启路由后的无法解析问题 不是每次都出现

在我这看来“重定向53端口到SmartDNS” 这个选项只是在37版本终于有效能用了但是有bug 而不是从之前的版本都一直都能用功能

37版本看了更新日志后设定了“重定向53端口到SmartDNS”,就一直出现半夜路由自动重启后我早上起来第一件事要检查能不能正常上网,不能就要去断电重启路由,折腾了两天就又改回“作为dnsmasq的上游服务器”这个选项了

不知道有一样字体为啥会变大 将就看吧

PikuZheng commented 2 years ago

这个选项只是在37版本终于有效能用了但是有bug

正确的,从37到38中间改了十几个版本,涉及到dnsmasq的也有四五次。刚看到release38提交了,请试试

58285474 commented 2 years ago

还有两个域名的doh

取决于具体配置。smartdns在启动时会使用系统dns把doh域名解析为ip。您系统dns指向dnsmasq,dnsmasq上游是smartdns,如果此时(有策略限制)无法用ip的dns解析返回,则导致死循环,服务不可用

不是这样

使用“作为dnsmasq的上游服务器”的时候并不会出现问题 我一直用这个选项

37版本之前的版本 使用“重定向53端口到SmartDNS”这个选项的时候就会出现无法解析的问题 必定是每次都是无法解析 怎么重启路由都没用

37版本 使用“重定向53端口到SmartDNS”这个选项会出现随机重启路由后的无法解析问题 不是每次都出现

在我这看来“重定向53端口到SmartDNS” 这个选项只是在37版本终于有效能用了但是有bug 而不是从之前的版本都一直都能用功能


37版本看了更新日志后设定了“重定向53端口到SmartDNS”,就一直出现半夜路由自动重启后我早上起来第一件事要检查能不能正常上网,不能就要去断电重启路由,折腾了两天就又改回“作为dnsmasq的上游服务器”这个选项了

不知道有一样字体为啥会变大 将就看吧

怎么样,换38.0版本吗?我还没弄先问问你

wyjtm commented 2 years ago

这个选项只是在37版本终于有效能用了但是有bug

正确的,从37到38中间改了十几个版本,涉及到dnsmasq的也有四五次。刚看到release38提交了,请试试

好的 谢谢

wyjtm commented 2 years ago

还有两个域名的doh

取决于具体配置。smartdns在启动时会使用系统dns把doh域名解析为ip。您系统dns指向dnsmasq,dnsmasq上游是smartdns,如果此时(有策略限制)无法用ip的dns解析返回,则导致死循环,服务不可用

不是这样 使用“作为dnsmasq的上游服务器”的时候并不会出现问题 我一直用这个选项 37版本之前的版本 使用“重定向53端口到SmartDNS”这个选项的时候就会出现无法解析的问题 必定是每次都是无法解析 怎么重启路由都没用 37版本 使用“重定向53端口到SmartDNS”这个选项会出现随机重启路由后的无法解析问题 不是每次都出现 在我这看来“重定向53端口到SmartDNS” 这个选项只是在37版本终于有效能用了但是有bug 而不是从之前的版本都一直都能用功能

37版本看了更新日志后设定了“重定向53端口到SmartDNS”,就一直出现半夜路由自动重启后我早上起来第一件事要检查能不能正常上网,不能就要去断电重启路由,折腾了两天就又改回“作为dnsmasq的上游服务器”这个选项了 不知道有一样字体为啥会变大 将就看吧

怎么样,换38.0版本吗?我还没弄先问问你

更啊 晚上回去就干 协助解决bug 我用起来就能更好 晚上回去试试