smartdns
smartdns copied to clipboard
openwrt设备如果系统时间未校正较旧,查询dns不返回给客户端
问题现象
如题,smartdns设置为dnsmasq的上游,openwrt设备刚刷完固件起来后,时间没有校正(可能时间是错的),分别观察openwrt上audit.log和smartdns.log, 发现smartdns.log收到了来自客户端的查询包,但并没有返回给客户端查询结果,在audit.log里看到有向外部dns查询到返回结果。btw: smartdns里配置的全是doH doT的server,国内国外均是(不想使用非doH/doT的server),不知道是不是因为查询证书不在有效时间里导致的。
主要问题是:设备起来的时候,如果没法解析dns,就不能用ntp去解析时间服务器去同步时间,如果时间不能同步,那上面这个问题就导致dns一直解析不了,就形成死循环了。
运行环境
-
固件型号
lede 分支最新版 -
运营商
中国电信
重现步骤
- 上游DNS配置。
跟配置没关系 - 访问的域名。
所有域名
信息收集
- 将/var/log/smrtdns.log日志作为附件上传。
- 如进程异常,请将coredump功能开启,上传coredump信息文件。
在自定义界面,开启设置->自定义设置->生成coredump配置,重现问题后提交coredump文件 coredump文件在/tmp目录下
试试配置ntp服务器为 182.92.12.11 202.112.29.82
本地时间不准会导致 TLS/SSL 握手失败,DoH 和 DoT 的上游自然不能连接。
解决办法是openwrt本身的DNS设置为114或者光猫的IP 然后启动以后就会自动同步时间了
不要把路由器本身的DNS改为127.0.0.1,这个做法是错的
把时间同步服务器不要设置域名就行了,直接填时间同步服务器的IP就行了
最新版本验证,有问题reopen issue