我有一个在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议。
如何看看发生了什么事情:
要查看服务器在做什么,如果你有rndc
configuration运行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