
У меня проблемы с powerdns-recursor (версия 3.5.3-1ubuntu0.1, Ubuntu 14.04), возвращающим SERVFAIL, когда запрошенный корневой сервер не работает. Я думал, что он запросит другой, но вместо этого он просто возвращает SERVFAIL...
В настоящее время b.root-servers.net (199.9.14.201) недоступен (по крайней мере у меня):
# dig google.com @199.9.14.201
; <<>> DiG 9.9.5-3ubuntu0.17-Ubuntu <<>> google.com @199.9.14.201
;; global options: +cmd
;; connection timed out; no servers could be reached
и мой локальный сервер колеблется между возвратом SERVFAIL и хорошим результатом. Этот результат, похоже, исходит из кэша пакетов.
Я настроил локальный pdns-recursor на нашей машине мониторинга Nagios и использую его, /etc/resolv.conf
чтобы убедиться, что Nagios быстро видит проблемы с зоной DNS или сервером (в противном случае может пройти день или больше, прежде чем проблема будет обнаружена). Мой /etc/powerdns/recursor.conf
:
local-address=127.0.0.1, ::1
local-port=53
max-cache-ttl=60
quiet=no
setgid=pdns
setuid=pdns
Я не могу понять, как заставить Power DNS пробовать другие корневые серверы на SERVFAIL. Мне кажется бессмысленным, что он вернет SERVFAIL клиенту, когда один из запрошенных корневых серверов не работает.
Редактировать: Я обновил сервер до 16.04 с Power DNS 4.0. Я заблокировал корневой сервер B ip(6)tables
на день, и, похоже, это не имело никаких негативных последствий. Так что эта версия, похоже, справляется с этим лучше.
решение1
вы должны добавить свой корневой сервер в файл подсказок в /etc/powerdns/recursor.conf
добавьте свой корневой главный или подчиненный сервер в файл подсказок, как показано ниже
. 360000000 NS my-dns-root-server.com
my-dns-root-server.com 360000000 A {your root server ip}