Ubuntu系统nslookup解析出IP却返回NXDOMAIN的异常问题咨询
Ubuntu系统nslookup解析出IP却返回NXDOMAIN的异常问题咨询
嘿,我碰到个特别诡异的DNS解析问题,想请大家帮忙分析下根源!先给大家说下我的网络环境:
- Mikrotik路由器(IP:10.0.0.1):已配置静态DNS条目,将
myhost.mydomain.com指向10.0.0.4 - AdGuard服务器(IP:10.0.0.128):把10.0.0.1设为上游DNS服务器
- 本地DHCP分配的主DNS是10.0.0.128
异常情况1:解析出IP却返回NXDOMAIN
在Ubuntu机器上执行nslookup时,出现了矛盾的结果:
[21:22:18][root@ubuntu]:~# nslookup myhost.mydomain.com Server: 127.0.0.53 Address: 127.0.0.53#53 Non-authoritative answer: Name: myhost.mydomain.com Address: 10.0.0.4 ** server can't find myhost.mydomain.com: NXDOMAIN
明明已经正确解析出了10.0.0.4的IP,但最后却返回了NXDOMAIN(域名不存在)的错误提示,这实在太奇怪了!
异常情况2:添加公网CNAME后的怪异结果
后来我在域名注册商那边给*.mydomain.com加了一条指向mydomain.com的CNAME记录(mydomain.com会解析到我托管商的IP),这时Ubuntu上的nslookup输出变成了这样:
[21:58:04][root@ubuntu]:~# nslookup myhost.mydomain.com Server: 127.0.0.53 Address: 127.0.0.53#53 Non-authoritative answer: Name: myhost.mydomain.com Address: 10.0.0.4 myhost.mydomain.com canonical name = mydomain.com.
这次没有了NXDOMAIN错误,但同时出现了本地静态A记录和公网CNAME记录的混合结果,而我本地路由器上根本没有配置CNAME啊!
对比:macOS上的正常表现
更奇怪的是,我的日常使用的macOS机器上完全没有这个问题,解析结果正常:
[20:46:57][shalak@shalak-mac]:~$ nslookup myhost.mydomain.com Server: 10.0.0.128 Address: 10.0.0.128#53 Non-authoritative answer: Name: myhost.mydomain.com Address: 10.0.0.4
它直接通过AdGuard拿到了正确的A记录,没有任何异常输出。
有没有大佬能帮忙解释下,Ubuntu这边到底是哪里出了问题?为什么会出现解析出IP却报NXDOMAIN的矛盾情况?添加公网CNAME后的混合结果又是怎么回事呢?
备注:内容来源于stack exchange,提问作者Mirek




