OpenWRT 的 dnsmasq 要多试好几次才能获取到 AAAA 记录

2022-05-06 09:19:18 +08:00
 villivateur

现象:路由器下的设备查询任意包含 AAAA 记录的域名,最先几次必然失败。如果该域名只有 AAAA 记录没有 A 记录,那么最先几次查询(几次到十几次不等)会瞬间返回 NXDOMAIN ;如果该域名既有 AAAA 记录又有 A 记录,那么最先几次查询只会瞬间返回 A 记录。疯狂查询多次后,AAAA 记录查询变正常,而且再查询其他包含 AAAA 记录的域名,也会正常,并且似乎也不是瞬间返回了。

但是再过也不知道多久,AAAA 记录的查询又不正常了……

当然,如果指定 DNS 服务器查询的话,AAAA 记录查询就是正常的,例如 nslookup cloudflare.com 8.8.8.8

求助,什么原因可能导致这个问题呢?

3726 次点击
所在节点    DNS
9 条回复
bfdh
2022-05-06 09:51:20 +08:00
1 、抓包
2 、测一下路由器的上游 dns
gesse
2022-05-06 10:01:56 +08:00
装的是原版吗?
villivateur
2022-05-06 10:05:15 +08:00
@gesse 是的
qakito
2022-05-06 10:10:37 +08:00
可能和路由器的上游 DNS 有关
而且 dnsmasq 有个特殊的处理:
如果指定了多个上游 DNS ,dnsmasq 是同时向这些 DNS 请求,谁先应答就采用谁的结果
如果某个上游 DNS 先回复了 no such domain ,那你获得的结果就是 no such domain 了

另外 nslookup 指定 DNS 是直接绕过 dnsmasq 的;不指定时走的还是 dnsmasq
Sekai
2022-05-06 10:57:35 +08:00
装 smartdns
acbot
2022-05-06 11:14:07 +08:00
只要是正常版本编译 dnsmasq 那么就不会是 dnsmasq 的问题。这种现象主要原因可能是:1. 上游 DNS 有问题; 2 ,你 dnsmasq 配置有问题,你需要检查一下 /etc/config/dhcp 特别是看一下 config dnsmasq 下面有没有 分流或者是其他被转发的。这个是检查的重点,因为 OP 上很多支持 DNS 功能的包在安装的时候都喜欢去修改这里的配置,然后让 dnsmasq 把 dns 请求转发给自己。
mortal
2022-05-06 12:32:11 +08:00
我也遇到这样子的问题了…等答案
Kobayashi
2022-05-06 12:54:20 +08:00
配置、日志都没有……
来,大家买定离手,人人都有机会猜对。
我先来,可能是多个上游某些不返回 AAAA 。
sontjer1
2022-05-10 16:39:57 +08:00
openwrt 下用 smartdns 和 pswll ,过滤代理域名 IPv6 选项打开会有此现象,关了就好

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/851084

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX