如何调试 Bind9 DNS 服务器配置?它没有向转发器发送请求

如何调试 Bind9 DNS 服务器配置?它没有向转发器发送请求

我在 VirtualBox Debian 主机上安装了 DNS Bind9 服务器。同一网络的另一台主机的名称服务器地址设置为 IP_OF_MACHINE_WITH_BIND。一段时间以来,这一直运行正常。然后我尝试创建自己的本地区域来为我的虚拟主机分配域名。但我设置错了:现在我的 DNS 服务器无法解析任何主机。我尝试在 named.conf.local 中关闭本地区域设置,但没有帮助。

主机向 DNS 服务器发送的请求确实到达了它。我可以在日志中看到此类消息:

client IP_OF_PINGER#some_counter query: www.google.com IN A + (IP_OF_DNS_SERVER)

是的,我当然已经在named.conf.options中设置了转发器变量。

问题是:您能否建议我一种方法来调试我的服务器配置并找出设置错误?我应该启用哪些日志以及如何启用?我如何理解为什么服务器没有将我的请求定向到提供商的 DNS 服务器(在 named.conf.options 中称为“转发器”)?

答案1

这听起来像是一个语法错误。无特定顺序:

1) 针对您的 named.conf 语法运行 named-checkconf。根据您的版本,您可能需要向其提供 named.conf 的完整路径

named-checkconf /etc/bind/named.conf

提示:“named-checkconf -h”和“man named-checkconf”将提供额外的详细信息。

此工具仅检查语法错误,不检查逻辑错误。

2)嗅探您的流量并确定查询是否实际被传递到上游 DNS 服务器。

tcpdump -n -i eth0 host IP_of_Upstream_DNS

3)检查所有配置文件。“/etc/bind/named.conf“通常至少有三个”包括” 声明,指出“命名的.conf.选项“,”命名的.conf.本地“, 和 ”命名的.conf.默认区域“由于您的货运代理声明位于”命名的.conf.选项",确保它没有被注释掉。

4) 如果其他方法都失败了,请考虑卸载/重新安装 BIND 并从头开始。在编辑任何配置文件之前,请先备份它们。然后逐步进行更改,每次更改后检查操作。

相关内容