Estou tendo problemas com o powerdns-recursor (versão 3.5.3-1ubuntu0.1, Ubuntu 14.04) retornando SERVFAIL quando o servidor raiz consultado está inativo. Eu acho que seria consultar outro, mas em vez disso, apenas retorna SERVFAIL ...
Atualmente o b.root-servers.net (199.9.14.201) está inativo (pelo menos para mim):
# 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
e meu servidor local varia entre retornar SERVFAIL e um bom resultado. Este resultado parece vir do cache de pacotes.
Eu configurei um pdns-recursor local em nossa máquina de monitoramento Nagios e usei-o em /etc/resolv.conf
para ter certeza de que o Nagios vê problemas de zona DNS ou servidor rapidamente (caso contrário, pode demorar um dia ou mais antes que um problema seja detectado) . Meu /etc/powerdns/recursor.conf
é:
local-address=127.0.0.1, ::1
local-port=53
max-cache-ttl=60
quiet=no
setgid=pdns
setuid=pdns
Não consigo imaginar como fazer com que o Power DNS experimente outros servidores raiz no SERVFAIL. Não faz sentido para mim retornar o SERVFAIL ao cliente quando um dos servidores raiz solicitados estiver inativo.
Edit: Eu atualizei o servidor para 16.04, com o Power DNS 4.0. Eu bloqueei o servidor raiz B com ip(6)tables
por um dia, e parece não ter efeitos negativos. Então, esta versão parece lidar melhor com isso.