我用nslookup工具查询DNS之时,有时会出现“Non-authoritative answer“的情况。其现象如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
[root@jay-linux ~]# nslookup google.com Server: 192.168.199.3 Address: 192.168.199.3#53 Non-authoritative answer: Name: google.com Address: 74.125.71.102 #省略后面关于google.com的输出 [root@jay-linux ~]# nslookup vt-master Server: 192.168.199.3 Address: 192.168.199.3#53 Name: vt-master.xx.yy.com Address: 192.168.162.55 |
对其进行了简单了解,首先,我的理解如下:如果在/etc/resolv.conf中配置的nameserver不是直接管理被查询的域名,那么它就会返回"Non-authoritative answer"的结果,表示这不是我直接控制的域名(从cache中得到),所以返回给你的IP解析可能是错误的(也许是过期了的域名IP绑定)。如果在primary name server或者secondary name server直接有对被查询域名的IP绑定,那么返回的则是授权的(即没有“Non-authoritative”这样的标识)。
显然,google.com不是我的dns(192.168.199.3)这个管辖的范围,所以是"Non-authoritative answer";而"vt-master.xx.yy.com"是我们的内部网络一台机器,它是在我查询的dns管辖范围之内的,返回的结果就是经过认证的。
如下是一些英文版的解释:
A name server indicates that its response is authoritative by setting the Authoritative Answer (AA) bit in the response to a query on a name for which it is authoritative. Name servers providing answers for which they are not authoritative (for example, name servers for parent zones), do not set the AA bit.
Part of the DNS message header is the Authoritative Answer (AA) bit. This bit is set in replies that come direct from a primary or secondary name server. This bit is clear in replies that come from a cache.
关于nslookup命令的一些操作过程,可以从参考:http://docstore.mik.ua/orelly/networking_2ndEd/dns/ch12_01.htm
我也有个博客,不过好久没有更新了!
那如果是运营商自己的DNS,而自己的网站DNS在上面木有更新,怎么办呢?
不是很明白你描述的情况啊~ DNS服务器本地没有记录,一般都会其他DNS查询过来,并缓存起来的(当然也可以不配置为这种方式)。一方面看下DNS配置是否有问题;另一方面,可以参考下我关于DNS的另一篇博文:http://smilejay.cn/2012/12/dhcp-and-dns-config/ (其中最后部分写了DNS查询的基本过程)