unbound.service 服务单元在 1 个虚拟机上启动/重启缓慢,而在另一台虚拟机上启动/重启快速

unbound.service 服务单元在 1 个虚拟机上启动/重启缓慢,而在另一台虚拟机上启动/重启快速

我正在调试 CentOS Linux 版本 7.5.1804 (Core) 上 Unbound (DNS 解析器软件) 的问题。我在不同的环境中有 2 个虚拟机,它们应该运行相同的 Unbound 软件。

[root@vm1 ~]# rpm -qa | grep unbound
unbound-libs-1.6.6-1.el7.x86_64
unbound-1.6.6-1.el7.x86_64

和:

[root@vm2 ~]# rpm -qa | grep unbound
unbound-libs-1.6.6-1.el7.x86_64
unbound-1.6.6-1.el7.x86_64

两个虚拟机都是 CentOS 7.5.1804(我检查过/etc/redhat-release)并且运行 CentOS 的最新内核:kernel-3.10.0-862.14.4.el7.x86_64

两个虚拟机都有足够的 CPU、RAM 和 HDD 空间。

VM1 是从最小 ISO CentOS 实例化的,而对于 VM2 我记不清楚了。

两个虚拟机都安装了大约 600 个 rpm 包(如果这很重要的话)。它们的 rpm 包有所不同,但它们拥有的所有 rpm 包都是最新的(yum update)。

两个虚拟机都有相同的unbound*.service文件、相同的unbound.conf文件以及相同的文件和目录/etc/unbound/

我遇到的问题是:

  • systemctl start unbound.service(或restart)在 VM1 上需要大约 1 分钟才能完成。
  • systemctl start unbound.service(或restart)在 VM2 上需要 1-2 秒才能完成。

我不确定发生了什么事。

VM1 可能存在什么问题?我该如何调试这样的问题?

答案1

对于遇到此问题的其他任何人。我有一个非常类似的问题,结果发现它与防火墙有关。具体来说,当 unbound 启动时,它会尝试更新 中的根锚点/var/lib/unbound/root.key。当我尝试手动执行此操作时,运行unbound-anchor -a "/var/lib/unbound/root.key"到根服务器的 DNS 请求在我的其中一台 unbound 服务器上被阻止,但另一台没有。在被阻止的服务器上,unbound-anchor 命令需要一分钟多的时间才能返回,并且 root.key 文件未更新。

DNS 解析似乎很好,因为/etc/resolv.conf它指向一个正在运行的递归解析器,但来自未绑定 IP 地址的请求被阻止了。

您可以尝试使用/usr/sbin/unbound -d -vvvv并检查启动未绑定/var/log/messages。如果您遇到 DNS 问题,您将看到多次查询根服务器的尝试和sendto failed错误。

答案2

就我而言,防火墙上的tcp53端口已关闭。

相关内容