BIND (encaminhador + armazenado em cache) - serve em cache se o encaminhador falhar

2

Eu quero configurar o BIND como redirecionador de DNS e utilizar o cache também.

Como posso configurá-lo para exibir resultados em cache (mesmo que além do TTL) se o encaminhador falhar?

Essas perguntas já foram feitas aqui, mas não foi publicada nenhuma resposta - Como fazer o BIND retornar o cache antigo se todos os encaminhadores falharem?

Razão que eu preciso fazer isso, eu tenho muito mau ISP (e não tem melhor alternativa disponível na minha área). Muitas vezes, todas as solicitações de pesquisa de DNS falham, tentei muitos provedores de DNS gratuitos, todos eles falharam durante esse período. A conectividade com a Internet não está inativa, apenas as consultas DNS falham.

Essa é a razão por trás da minha exigência, então quando isso acontecer, eu ainda posso continuar fazendo meu trabalho, com resultados DNS armazenados em cache (obviamente, que já existe no cache).

    
por Mihir 24.12.2015 / 07:39

3 respostas

3

O uso de dados expirados é um "não obrigatório" muito strong nos padrões, por isso, ficaria muito surpreso se fosse possível fazer com que o BIND fizesse isso. Você pode querer olhar para resolvedores alternativos mais de perto para uso pessoal, ou (já que parece que seu ISP bloqueia intermitentemente o tráfego para a porta 53) tente obter um túnel VPN e faça com que seu BIND use isso.

    
por 24.12.2015 / 13:06
0

Calle está correto, você não vai conseguir que o BIND viole o TTL (além de diminuir o máximo, o que não ajuda aqui). Dito isto, se o seu ISP é tão ruim que você não pode atingir os forwarders de forma confiável, eu não tenho certeza do valor que deve ser usado em forwarders para ser .

Muitos domínios oferecem mais servidores de nomes autorizados do que o número de encaminhadores que normalmente acabam sendo configurados (2). Isso, por sua vez, significa mais oportunidades para a consulta obter uma resposta em um cenário em que você está vendo a perda de pacotes. Parece-me que você obtém mais milhagem fazendo a recursão do que usando uma configuração de encaminhador.

Você também pode querer experimentar uma versão mais nova do BIND que ofereça suporte ao recurso de pré-busca. Combinado a fazer sua própria recursão, o servidor tentará automaticamente executar uma atualização em todos os servidores de nomes para o registro imediatamente antes do registro expirar do cache. Isso só acontece se uma consulta chegar antes que o registro expire, mas ainda pode ser útil aqui.

prefetch

When a query is received for cached data which is to expire shortly, named can refresh the data from the authoritative server immediately, ensuring that the cache always has an answer available.

The prefetch specifies the "trigger" TTL value at which prefetch of the current query will take place: when a cache record with a lower TTL value is encountered during query processing, it will be refreshed. Valid trigger TTL values are 1 to 10 seconds. Values larger than 10 seconds will be silently reduced to 10. Setting a trigger TTL to zero (0) causes prefetch to be disabled. The default trigger TTL is 2.

An optional second argument specifies the "eligibility" TTL: the smallest original TTL value that will be accepted for a record to be eligible for prefetching. The eligibility TTL must be at least six seconds longer than the trigger TTL; if it isn't, named will silently adjust it upward. The default eligibility TTL is 9.

ftp://ftp.isc.org/isc/bind9/cur/9.10/doc/arm/Bv9ARM.ch06.html

    
por 24.12.2015 / 21:11
0

O BIND é um servidor DNS, segue os padrões e obedece às regras do TTL. O que você precisa é de cache de proxy com suporte a cache DNS. Por exemplo, o Squid com positive_dns_ttl configurado para algum valor grande pode funcionar ou qualquer outro proxy que você preferir.

    
por 24.12.2015 / 23:19