Protegendo contra servidores DNS (infinitamente) lentos

6

Recentemente, um dos servidores DNS dos meus ISPs teve problemas. Para citar o pessoal da equipe de suporte, "não estava completamente em baixo, então as conexões eram infinitamente lentas". Meu aplicativo ficou inativo por algumas horas, pois não podia se conectar a serviços críticos em outras máquinas.

Embora eu tenha servidores DNS redundantes no meu arquivo /etc/resolv.conf , parece que essa lentidão não foi suficiente para o cliente DNS declarar que o servidor DNS está inativo e para retornar a um servidor DNS secundário.

Eu temo que esse tipo de problema possa ocorrer novamente, então eu tenho lido na configuração do Ubuntu DNS. Parece haver uma opção timeout com um padrão de 5 segundos , mas isso não parece ter trabalhei aqui.

Q1: Existe um arquivo de log no qual posso ver as tentativas de DNS e confirmar que eu entendi que os tempos limite não foram acionados?

Q2: O que eu preciso fazer para implementar esses tempos limite e me proteger de tais problemas de DNS novamente?

Para o registro, meu arquivo /etc/resolv.conf (expurgado):

search localhost
nameserver IP.addr.ess.1
nameserver IP.addr.ess.2
nameserver IP.addr.ess.3

Estou executando o Ubuntu 9.10 (Sim, sim, espero ter um período tranquilo em dezembro para atualizar.)

    
por Oddthinking 31.08.2011 / 07:33

1 resposta

4

Você pode tentar alterar seus servidores DNS com os do Google. Pode ser inviável se o seu ISP bloquear consultas DNS externas, no entanto.

Eu sugiro que você instale um servidor DNS local de encaminhamento / armazenamento em cache, como pdnsd , que é altamente configurável. Então você coloca nameserver 127.0.0.1 no seu /etc/resolv.conf ; pdnsd cuida de encaminhar solicitações para outros servidores de nomes ou resolve rápido como um raio do cache local. Você também pode configurar um tempo limite após o qual um servidor de nomes é considerado não responsivo, portanto, ele parece atender às suas necessidades.

O Pdnsd também suporta o acesso paralelo a vários servidores DNS, portanto, se um estiver lento, o aplicativo não ficará lento. Ele ainda suporta isso com servidores de failover (por exemplo, entre em contato com os dois primeiros servidores em paralelo; se eles não responderem, entre em contato com mais dois e ouça respostas de todos os quatro servidores, etc.)

A partir da descrição de aptitude :

pdnsd can be used with applications that do dns lookups, eg on startup, and can't be 
configured to change that behaviour, to prevent the often minute-long hangs
(or even crashes) that result from stalled dns queries.

Nota de segurança: pdnsd is (confesso) não é seguro para pessoas de fora acessarem: se a sua máquina estiver fora da Internet, você precisará configurar um firewall para permitir apenas o acesso à máquina local.

    
por Mr Shunz 31.08.2011 / 12:04

Tags