你如何打开Ubuntu的BIND的debugging日志?

我有一个在Ubuntu上运行的BIND服务器,它无法查找www.microsoft.com或Microsoft的任何logging。 所有其他域名,如google.com和yahoo.com似乎工作得很好。 我正在寻找一些关于如何改进日志logging的build议,以找出BIND为什么会遇到这个域的问题。

我已经将查询通道捕获到default_syslog中,并查看到达服务器的查询,但是我没有看到BIND服务器试图find这些名称的IP地址的结果。

症状

> ping www.microsoft.com查找失败,表示找不到主机

> dig @ABCD www.microsoft.com ABCD > dig @ABCD www.microsoft.com也超时,其中ABCD是此内部DNS服务器的IP地址。

其他查询似乎工作正常

此时,我正在使用db.root作为根服务器,并且没有在此configuration中设置转发器。 我希望这台服务器能够确定microsoft.com的根服务器,然后从那里findlogging。 感谢您提供有关如何改进BIND日志logging详细信息以及在哪里查找日志消息的build议。

如何看看发生了什么事情:

  • 要查看服务器在做什么,如果你有rndcconfiguration运行rndc trace x (其中x是你想查看的debugging级别)。

  • 要在没有rndc情况下查看服务器在做什么,您必须以named -g -dx (其中x又是debugging级别)的前台模式运行服务器。

  • 要将日志loggingconfiguration到文件,请打开named.conf并编辑/添加日志logging部分,例如:

     logging { channel default_file { file "/var/log/named.log" size 10m; severity info; print-time yes; print-severity yes; print-category yes; }; category default{ default_file; }; }; 

    请注意,这将configuration“info”级别和更高级别的日志logging。 这为现场服务器转储了相当多的信息。 可能的值包括“extra”,“debug”,“info”,“error”,“fatal”和“dynamic”(dynamic命令行中必须提供-d的值)。

你的服务器有什么问题:

在尝试recursionparsing域时,服务器正在循环回自己。 由于这只发生在你知道的一个域中,所以你的hosts文件或named.conf文件(可能是后者)可能是一个问题。

获取request failed: duplicate query几乎总是有一个forwarders指令的问题,这个指令可以循环回到服务器或类似的地方。

这可能是caching问题。 你有没有尝试刷新caching?

 rndc flush # all entries rndc flushname microsoft.com # all entries for microsoft.com supported from bind 9.3