我在尝试在互联网上查找某个DNS名称时遇到问题。 出于某种原因,我仍然面临一个SERVFAIL认为显示正确的结果 – 如DNS名称被parsing两次(外部/本地?)。
我没有任何其他的查找任何麻烦,但这个单一的DNS名称让我头痛。 我的服务器场中的其他服务器在这个域上查找得很好。
让我给你一些信息。
操作系统 :Ubuntu 14(安装bind9)
/etc/resolv.conf :
nameserver 208.67.222.222 # opendns nameserver 127.0.0.1
错误的查询 :
# host whois.verisign-grs.com whois.verisign-grs.com has address 199.7.48.74 whois.verisign-grs.com has IPv6 address 2001:503:5419:1000::74 Host whois.verisign-grs.com not found: 2(SERVFAIL)
如果我没有在我的resolv.conf中的opendns条目,错误将是超时(通常是第一个答案)或SERVFAIL。
本地查找工具是否可以被破坏,或者是否可能发生,我的DNS查询在某个级别被阻止?
host似乎按顺序查询resolv.conf中的每个名称服务器条目。 这也许就是为什么当你请求你的本地DNS服务器时你得到了一个答案,然后是一个SERVFAIL状态。
要避免这种行为,请指定要查询的服务器:
server是一个可选参数,它是主机应查询的名称服务器的名称或IP地址,而不是/etc/resolv.conf中列出的一个或多个服务器。
host whois.verisign-grs.com 208.67.222.222
不要忘记, resolv.conf不是BIND的configuration文件,而是您的计算机的DNS服务器将转发哪个服务器的configuration文件。
如果你想使自己的BIND服务器的答案,即使它不拥有logging,设置一些转发器。
我试过,并有我的BIND服务器相同的问题:
dig @0 whois.verisign-grs.com给了我SERVFAIL状态。
dig @208.67.222.222 whois.verisign-grs.com一个答案。
刷新您的DNScaching:
sudo rndc flush
然后再请求:
dig @0 whois.verisign-grs.com +short 199.7.59.74