现象:路由器下的设备查询任意包含 AAAA 记录的域名,最先几次必然失败。如果该域名只有 AAAA 记录没有 A 记录,那么最先几次查询(几次到十几次不等)会瞬间返回 NXDOMAIN ;如果该域名既有 AAAA 记录又有 A 记录,那么最先几次查询只会瞬间返回 A 记录。疯狂查询多次后,AAAA 记录查询变正常,而且再查询其他包含 AAAA 记录的域名,也会正常,并且似乎也不是瞬间返回了。
但是再过也不知道多久,AAAA 记录的查询又不正常了……
当然,如果指定 DNS 服务器查询的话,AAAA 记录查询就是正常的,例如 nslookup cloudflare.com 8.8.8.8
求助,什么原因可能导致这个问题呢?
1
bfdh 2022-05-06 09:51:20 +08:00 1
1 、抓包
2 、测一下路由器的上游 dns |
2
gesse 2022-05-06 10:01:56 +08:00
装的是原版吗?
|
3
villivateur OP @gesse 是的
|
4
qakito 2022-05-06 10:10:37 +08:00 1
可能和路由器的上游 DNS 有关
而且 dnsmasq 有个特殊的处理: 如果指定了多个上游 DNS ,dnsmasq 是同时向这些 DNS 请求,谁先应答就采用谁的结果 如果某个上游 DNS 先回复了 no such domain ,那你获得的结果就是 no such domain 了 另外 nslookup 指定 DNS 是直接绕过 dnsmasq 的;不指定时走的还是 dnsmasq |
5
Sekai 2022-05-06 10:57:35 +08:00
装 smartdns
|
6
acbot 2022-05-06 11:14:07 +08:00 2
只要是正常版本编译 dnsmasq 那么就不会是 dnsmasq 的问题。这种现象主要原因可能是:1. 上游 DNS 有问题; 2 ,你 dnsmasq 配置有问题,你需要检查一下 /etc/config/dhcp 特别是看一下 config dnsmasq 下面有没有 分流或者是其他被转发的。这个是检查的重点,因为 OP 上很多支持 DNS 功能的包在安装的时候都喜欢去修改这里的配置,然后让 dnsmasq 把 dns 请求转发给自己。
|
7
mortal 2022-05-06 12:32:11 +08:00 via iPhone
我也遇到这样子的问题了…等答案
|
8
Kobayashi 2022-05-06 12:54:20 +08:00 via Android
配置、日志都没有……
来,大家买定离手,人人都有机会猜对。 我先来,可能是多个上游某些不返回 AAAA 。 |
9
sontjer1 2022-05-10 16:39:57 +08:00
openwrt 下用 smartdns 和 pswll ,过滤代理域名 IPv6 选项打开会有此现象,关了就好
|