如何在 Ubuntu 上打开 BIND 的调试日志记录?

Tim*_*ski 5 domain-name-system ubuntu bind

我有一个在 Ubuntu 上运行的 BIND 服务器,它无法在 Microsoft 上查找 www.microsoft.com 或任何记录。google.com 和 yahoo.com 等所有其他域似乎都运行良好。我正在寻找一些关于如何改进日志记录的建议,以找出 BIND 在此域上出现问题的原因。

我已经将查询通道捕获到 default_syslog 中,并看到查询到达服务器,但是我没有看到 BIND 服务器在尝试查找这些名称的 IP 地址方面所做的努力的结果。

症状

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

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

其他查询似乎工作正常

此时,我将 db.root 用于根服务器,并且在此配置中没有设置转发器。我希望该服务器能够确定 microsoft.com 的根服务器,然后能够从那里找到记录。感谢您就如何改进 BIND 中的日志记录细节以及在何处查找日志消息提出任何建议。

Chr*_*s S 12

如何查看正在发生的事情:

  • 要查看服务器正在执行的操作,如果您已rndc配置运行rndc trace xx您要查看的调试级别在哪里)。

  • 要查看服务器实时执行的操作,rndc您必须在前台模式下运行服务器named -g -d x(这里x又是调试级别)。

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

    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; };
    };
    
    Run Code Online (Sandbox Code Playgroud)

    请注意,这会为“信息”级别及更高级别配置日志记录。这会为实时服务器转储相当多的信息。可能的值包括“extra”、“debug”、“info”、“error”、“fatal”和“dynamic”(必须在命令行中为动态提供 -d 的值)。

你的服务器出了什么问题:

您的服务器在尝试递归解析域时循环回自身。由于这仅发生在您知道的一个域中,因此您的hosts文件或named.conf文件(可能是后者)中可能存在问题。

对于循环回服务器或类似request failed: duplicate queryforwarders指令,获取几乎总是一个问题。