如何启用名称服务器递归?

Got*_*bel 4 ubuntu dns dig resolv.conf

在 Ubuntu 14.04 上,当我执行

dig google.de
Run Code Online (Sandbox Code Playgroud)

在我的机器上,我得到一个REFUSED状态(减少到相关行):

me@machine:~# dig google.de
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 26926
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available
Run Code Online (Sandbox Code Playgroud)

/etc/resolv.conf知道三个域名服务器:

nameserver 1.2.3.4
nameserver 1.2.3.5
nameserver 8.8.8.8
Run Code Online (Sandbox Code Playgroud)

其中前两个是公司拥有的名称服务器。但至少最后一个 ( 8.8.8.8) 不应返回拒绝状态。那么如何启用递归以便考虑姓氏服务器?

neu*_*ron 8

如果第一个名称服务器返回错误(即)或无法访问,DNS解析器只会转移到其他名称服务器上SERVFAIL。如果DNS服务器返回,NXDOMAIN则解析器认为正确的答案并且不会检查其他答案。NXDOMAIN被认为是请求的域不存在的最终确定答案。

在您的情况下,第一个 namserver 已到达并拒绝您。

在那个 namserver'snamed.conf你应该有类似的东西allow-query { any; };

或者

一种解决方案可能是暂时更改名称服务器的顺序/etc/resolv.conf& put 8.8.8.8first

或者

只需直接dig使用8.8.8.8作为命令行,你可以做DNS服务器:

dig @8.8.8.8 google.de