У меня возникают проблемы с 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 на нашей машине мониторинга 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
в течение дня, и, кажется, не имеет никаких побочных эффектов. Итак, эта версия, кажется, справляется с этим лучше.
вы должны добавить свой корневой сервер в файл подсказок на /etc/powerdns/recursor.conf
добавьте своего корневого мастера или подчиненных в файл подсказок, как показано ниже
. 360000000 NS my-dns-root-server.com
my-dns-root-server.com 360000000 A {your root server ip}