1. 当前位置: 网站首页 >  路由器百科 >  nslookup输出怎么看?第一行不是你填的DNS,非权威应答也不是错

nslookup输出怎么看?第一行不是你填的DNS,非权威应答也不是错

nslookup输出结果逐行解读:上半场显示当前DNS服务器,下半场非权威应答才是答案

上个月给我妈家路由器改DNS,改完想验证一下有没有生效,网上教程清一色让我敲 nslookup。命令敲下去我心凉了半截:第一行「服务器」显示的是 192.168.31.1——我明明填的是 223.5.5.5,这是没生效?下面还跟着一行「非权威应答」,听着更像出事了。折腾一圈才明白,这两处都是正常输出,只是没人告诉我这些行到底在说什么。后来我拿自家域名 www.shunot.com 把这条命令从头到尾问了一遍,每个字段都有了着落。

先看懂这个两段式结构:上半场报的是你问了谁

nslookup 的输出永远是两段。上半场两行,「服务器」和「Address」,报的是你这台电脑当前用的 DNS 是谁;下半场才是查询结果,「名称」「Addresses」这些行。第一次看不懂的人,九成是把上半场当成了答案。

那行 192.168.31.1 为什么不是你填的 223.5.5.5?因为路由器开了 DNS 代理:电脑的 DNS 指向网关,网关收到问题再转手问 223.5.5.5,答案原路带回来。你在路由器后台填的 DNS 生效没生效,跟电脑这行显示什么没关系——它只说明「电脑把问题交给了路由器」。想知道路由器到底用的谁,得用指定服务器的问法,后面说。

顺带一提,「服务器」那行经常显示 UnKnown,也不是故障。这是你的 DNS 服务器没有给自己配反向解析(PTR 记录),nslookup 想报它的名字没报出来,就写了 UnKnown,地址照样能用。

非权威应答:不是错,是「转述」

那行最唬人的「非权威应答」,翻译过来就一句话:这个答案不是我亲口说的,是我从缓存里翻出来转述给你的。权威应答的定义反过来——管这个域名的那台 DNS 服务器本人给的答案。

我拿自家域名把这条链路亲手跑了一遍。先查权威是谁:nslookup -type=ns shunot.com,拿到两条 NS 记录,freens1.jdgslb.com 和 freens2.jdgslb.com,这是京东云的机器,我家域名就托管在它俩手里。再把 freens1 解析出 IP(116.196.126.18),然后直接问它本人要 www.shunot.com 的地址——它给的答案里就没有「非权威应答」这行字了,地址 49.51.202.150,跟公共 DNS 报的一模一样。

所以日常你查出来的一律是非权威应答,因为 223.5.5.5 这类公共 DNS 本来就是二道贩子,它替你跑腿、把缓存的答案递给你。答案过期没有答案里另一个数字能告诉你:TTL。我拿三家 DNS 同一时刻查同一个域名,阿里报 120 秒、腾讯报 120 秒、114 报 603 秒——同一个 IP,三家的缓存新旧各不相同,这背后就是解析流程里那本缓存小账。

五种常用姿势,一张表记全

这条命令总共就五种用法,我把每种都跑了真数据:

想干什么怎么敲我跑出来的结果
日常查个域名的IPnslookup www.shunot.com49.51.202.150
指定服务器绕开路由器nslookup www.shunot.com 223.5.5.5同IP,服务器行变成 223.5.5.5 本尊
查别的记录类型nslookup -type=ns/mx/txt/aaaa 域名NS 查出权威、MX 查出邮箱、TXT 查出验证串
连续问好几个光敲 nslookup 回车,进 > 提示符server 223.5.5.5 换服务器,set type=mx 换类型,exit 退出
查IPv6有没有nslookup -type=aaaa www.shunot.com240d:c000:f07f:9500:7492:9fa8:c010:0

第二种姿势最值钱。验证路由器改的 DNS 生没生效,别看默认输出,直接指定服务器问:答案跟权威对得上,说明这条链路是通的;想确认路由器自己用的是哪家,就去路由器 WAN 口状态页看,命令管不到那一层。另外「服务器」那行也可以直接填域名,比如 nslookup www.shunot.com one.one.one.one,前提是你本机的 DNS 能先把 one.one.one.one 解析成 1.1.1.1。

查不出来也分三种话,含义完全不同。第一种「NXDOMAIN」或者 DNS request timed out 之后跟着 no such name,是域名本身不存在,我随手编了个 bucunzai-shunot-test-abc.com 去问,回来的就是这种,协议里叫 rcode=3。第二种是整段超时请求超时,说明那台 DNS 服务器根本没应答——通道的事,不是域名的事,换个 DNS 再问或者查查 UDP 53 这条路有没有被动过手脚。第三种「无该类型的记录」最冷门:域名好好的,只是没有你要的那种记录,比如我家域名就没有 MX,问它邮箱走哪,答的就是没有,不代表网站坏了。

实战一:怀疑DNS被抢答,拿暗号域名问一圈

改 DNS 这事我最关心的还是有没有被运营商抢答——你填了 223.5.5.5,半路被截胡替你答,填了等于白填。114 有个官方检测域名 whether.114dns.com,专门干这个用,我拿它在两家 DNS 之间问了一圈,结果很有意思:问 114.114.114.114,答 127.0.0.218 和 127.0.0.208;问 223.5.5.5,答 127.0.0.1。

每家给的回环地址还不一样,这是各家自己的「正常暗号」——127 开头是本机回环段,正常 DNS 照实转发,答案永远是那几个约定好的地址;一旦被中间人抢答,这个域名它多半没见过,会还你一个 NXDOMAIN 或者一个真实公网 IP,暗号就对不上了。这也是我当年在光猫上改 DNS 那篇里提过的老办法,这次连「各家的正常答案长啥样」也一并记下了。

再配上多家对比就更稳:同一个域名问阿里、腾讯、114 三家,IP 一致说明解析正常;要是有一家报出完全不同的地址,先别喊劫持,很多大站挂着 CDN,不同 DNS 调度到不同节点本来就是常态,两三个 IP 都在同一个云厂商段里,属于正常分发。

实战二:CNAME、MX、TXT,域名背后还挂着这些花样

-type 参数换一换,能看到域名完全不同的侧面。查 www.qq.com,答案不是一行,是一串:先来一条 CNAME,说 www.qq.com 其实是 ins-r23tsuuf.ias.tencent-cloud.net 的别名;这个别名又是一条 CNAME,指向 tra-kbagmtra.ias.tencent-cloud.net;到第三层才吐出两个真 IP,121.14.77.221 和 121.14.77.201。这就是大站的标准结构——域名挂在别名链上,最里层才是真正干活的服务器,换机器、切机房都只动链条尾巴,用户侧的域名纹丝不动。nslookup 把这些行原样列出来,Aliases 标别名、Addresses 标真 IP。

查 -type=mx qq.com,出来的是邮箱投递路线:pref=10 mx3.qq.com、pref=30 mx1.qq.com。pref 是优先级,数字越小越先用,10 号忙不过来才轮到 30 号。你要是给自家域名配企业邮箱,MX 记录配没配对,敲这条一眼就知道。

查 -type=txt 就更有意思了。我家域名下面挂着一条 google-site-verification 开头的一串乱码——当年向谷歌站长平台证明「这域名是我的」时留下的验证串;qq.com 的 TXT 里则躺着一条 v=spf1 开头的记录,那是反垃圾邮件的 SPF 声明,告诉收件方哪些服务器有权以它的名义发信。域名这些登记簿一样的记录,nslookup 全都能翻出来看。

什么症状用什么招,对号入座

把这套工具放进排障流程里。网站打不开,先 nslookup 一下做分诊:NXDOMAIN 是域名侧的事,要么敲错了要么对方真没了;请求超时是通道侧的事,换一家 DNS 试试,能通就是上一家的问题;解析正常但还是打不开,那就跟 DNS 没关系了,往下查网络层。这个顺序跟 ping 那篇的三段定位是搭档,一个管「名字翻译没翻译」,一个管「路通没通」。

你想知道的事敲什么看哪一行
路由器改的DNS生效没nslookup 域名 223.5.5.5答案跟平时一致就通了
有没有被抢答nslookup whether.114dns.com 各家各问一遍回环暗号对不对得上
域名是不是真挂了nslookup 域名NXDOMAIN 还是超时
域名托管在谁家nslookup -type=ns 域名NS 记录那两行
网站为啥换IP了nslookup -type=a 域名,多问几家CNAME 链和 IP 段

跟之前写过的几篇也交代下分工:DNS 解析那篇讲的是流程本身,递归迭代、三层缓存;缓存那篇管的是改完为什么没马上生效,flushdns 清哪层;这篇只管一件事——命令敲下去,屏幕上每一行怎么读。三篇凑一起,从原理到工具就齐了。

展开全文


版权说明 手机扫码阅读
版权所有:《数巢笔记》 => 《nslookup输出怎么看?第一行不是你填的DNS,非权威应答也不是错》
本文地址:https://www.shunot.com/lybk/1264.html
除非注明,文章均为 《SHUNOT》 原创,欢迎转载!转载请注明本文地址,谢谢。

发表评论

联系我们

在线咨询:点击这里给我发消息

微信号:master_135

工作日:9:00-23:00,节假日休息

扫码关注