在服务器本身上执行nslookup时发生SERVERFAIL错误。 FreeBSD的

我使用FreeBSD来设置DNS服务器。 我已经安装BIND,并在resolv.confnamed.conf文件中设置一切。

这是我的DNS服务器192.168.10.100的IP地址。

resolv.conf我加了下面一行,

 nameserver 192.168.10.100 

我也在named.conf文件中创build了一个名为.pbv的区域,然后我使用了nsupdate向这个区域添加了一个域.pbv

现在,当我在服务器本身nslookup 192.168.10.100 ,它不起作用,总是返回,

 ;; Got SERVFAIL reply from 192.168.10.100, trying next server ;; connection timed out; no servers could be reached 

但是,当我nslookup testingpbv它返回以下,

 Server: 192.168.10.100 Address: 192.168.10.100#53 Name: testing.pbv Address: 192.168.10.100 

我不明白为什么我不能运行nslookup 192.168.10.100

这是我的resolv.conf

 nameserver 192.168.10.100 nameserver 8.8.8.8 

这里值得一提的是,我甚至无法查找google.com或任何其他外部域名。

这里有几件事情正在进行。 我们来分解一下。

  • 除非您为10.168.192.in-addr.arpaconfiguration了反向区域, 10.168.192.in-addr.arparecursion服务器必须从其他位置获取此信息。 你没有提到build立这样的区域,所以我会认为它不存在。
  • RFC 1918专用networking不在互联网上路由。 如果DNS服务器必须对此IP空间的反向DNS请求执行完全recursion,则会发生以下两种情况之一:
    1. 执行recursion直到达到IANA的黑洞服务器 。 他们将返回NXDOMAIN的回应。
    2. 服务器跳过接触互联网的步骤,因为它知道这是毫无意义的。 它伪造了NXDOMAIN的响应,不会浪费带宽。 BIND 9.9和向上通过称为自动空区域的东西。

为了简化所有这一切,如果你在这里看到SERVFAIL ,这意味着有些东西被破坏了。 无论是服务器试图从互联网上得到的答案,并没有这样做,或者你有一个破碎的configuration,并没有足够紧密的阅读日志。 (例如,如果您为10.168.192.in-addr.arpa创build了具有非法语法的区域,就会发生这种情况)

要排除networking问题,您可以尝试运行dig +trace 10.168.192.in-addr.arpa 。 如果此命令返回错误,则需要排除networking故障。 如果它没有返回错误,请仔细检查您的日志。

在IP上的nslookup将查找相应的PTRlogging,这在configuration中显然是缺失的。

也就是说,我曾经为拥有数百台服务器的大公司工作,而且他们都没有在本地IP上configuration反向查找。