在解析时zapworld.com
,我从TLD服务器收到以下响应(g.gtld-servers.net.
):
zapworld.com. 172800 IN NS ns2.developyour.net.deleted.gandi.net.
zapworld.com. 172800 IN NS ns1.developyour.net.deleted.gandi.net.
但ns2.developyour.net.deleted.gandi.net.
指出127.0.0.1
:
;; ANSWER SECTION:
ns2.developyour.net.deleted.gandi.net. 86400 IN A 127.0.0.1
看起来该域名不再存在,但为什么会ns2.developyour.net.deleted.gandi.net.
这样?对于此类请求,127.0.0.1
直接返回不是更简单吗?NXDOMAIN
另外,递归解析器在遇到这种答案时应该做什么?我没有找到涵盖这种情况的 RFC?
答案1
你是写作递归解析器?您不应期望 RFC 涵盖所有可能的情况,尤其是当它们处理人们做出意想不到的事情时。虽然它们试图涵盖所有内容,但这是不可能的。您应该根据具体情况做一些合理的事情。
我期望真实名称服务器的情况是,递归解析器将获取 127.0.0.1 作为域的名称服务器,然后直接向该服务器(本身)发送查询,其中 RD 位被清除,期望得到权威响应。名称服务器发现它不是该域的权威,应该发送 REFUSED 响应。我向几个公共递归解析器查询了此域中的地址记录。大多数情况下,我收到的是 REFUSED 响应,但有几个返回了 SERVFAIL。
话虽如此,该域的 DNS 管理员的这种行为并不好。它会给不需要的服务器带来不必要的(尽管是最小的)负载。如果该域真的被“删除”,那么他们可能根本不提供任何 DNS 记录,或者只提供 SOA 记录。