递归不可用,但仍然给出答案

递归不可用,但仍然给出答案

我尝试在非递归 DNS 服务器上挖掘域名。据我所知(到目前为止),非递归 DNS 不应该回答它们不具有权威性的问题。

例如 :

[root@dhcppc14 vwxyz]# dig muse.mu @202.159.36.218

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6_6.3 <<>> muse.mu @202.159.36.218
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46239
;; flags: qr rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
**;; WARNING: recursion requested but not available**

;; QUESTION SECTION:

;muse.mu.                       IN      A

;; ANSWER SECTION:

**muse.mu.                3600    IN      A       162.249.109.50**

;; Query time: 253 msec
;; SERVER: 202.159.36.218#53(202.159.36.218)
;; WHEN: Sat Jun 27 05:58:14 2015
;; MSG SIZE  rcvd: 41

你能解释一下究竟发生了什么吗?

谢谢,

答案1

我不确定是否202.159.36.218应该是一个权威的名称服务器,muse.mu也不确定它从何而来。因此,我无法解释为什么202.159.36.218答案muse.mu是非递归的。

dig每当它发送带有 RD(需要递归)的查询并收到不带 RA(可用递归)的响应时,就会打印出您看到的警告。

dig默认发送递归查询(消息类型 RD,“需要递归”)。

dig手册页中:

+[否]递归

切换查询中的 RD(需要递归)位的设置。此位默认设置,这意味着dig 通常会发送递归查询。当使用 +nssearch 或 +trace 查询选项时,递归会自动禁用。

RFC 883

支持递归服务的名称服务器会在其生成的所有响应中设置“递归可用 (RA)”位。请求者通过在查询中设置“所需递归 (RD)”位来请求递归服务。在某些情况下,如果递归服务是获取所需信息的唯一途径(见下文),即使 RD 为零,名称服务器也可能进行递归。

每当您查询不允许递归的权威名称服务器而没有指定查询为非递归(选项+norecurse)时,都会打印警告。

答案2

尝试

dig +trace @202.159.36.218 muse.mu

检查您的情况的具体解决情况。

它要么立即返回 DNS 记录,因为它已经将其存储在本地缓存中,要么直接查询对该记录具有权威性的 DNS 名称服务器,这意味着它肯定拥有该主机名的正确 IP。

相关内容