Я отлаживаю проблему с Unbound (программа DNS Resolver) в CentOS Linux версии 7.5.1804 (Core). У меня есть 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
.
У обеих ВМ достаточно ЦП, ОЗУ, места на жестком диске.
VM1 был создан из минимального ISO CentOS, а для VM2 я не помню.
На обеих виртуальных машинах установлены пакеты со скоростью ~ 600 об / мин (если это вообще имеет значение). Они различаются пакетами rpm, но все имеющиеся у них пакеты rpm являются самыми последними из доступных (yum update).
У обеих ВМ одинаковые unbound*.service
файлы, то же самое unbound.conf
файл и те же файлы и каталоги в /etc/unbound/
.
У меня проблема:
systemctl start unbound.service
(или restart
) на ВМ1 для завершения требуется ~ 1 минута.systemctl start unbound.service
(или restart
) на ВМ2 занимает 1-2 секунды.Я не уверен, что происходит.
В чем может быть проблема с ВМ1? Как мне отладить такую проблему?
Для всех, кто сталкивается с этим. У меня была очень похожая проблема, и оказалось, что это связано с брандмауэром. В частности, при запуске без привязки он пытается обновить корневой якорь в /var/lib/unbound/root.key
. Когда я пытался сделать это вручную, unbound-anchor -a "/var/lib/unbound/root.key"
DNS-запросы к корневым серверам блокировались на одном из моих несвязанных серверов, но не на другом. На заблокированном сервере для возврата команды unbound-anchor потребовалось больше минуты, а файл root.key не был обновлен.
Разрешение DNS казалось нормальным, потому что /etc/resolv.conf
указывает на рекурсивный преобразователь, который работал, но запросы с несвязанного IP-адреса блокировались.
Вы можете попробовать запустить несвязанный, используя /usr/sbin/unbound -d -vvvv
и проверка /var/log/messages
. Если у вас возникли проблемы с DNS, вы увидите несколько попыток запроса корневых серверов и sendto failed
ошибки.
В моем случае порт tcp53 на брандмауэре был закрыт.