bind9 usa os valores de tempo de vida (TTL) especificados como parte de cada registro DNS para determinar por quanto tempo armazená-lo em cache. Isso é o que é exigido pelos padrões de DNS. Não parece haver uma maneira fácil de substituir isso no bind, e o upstream provavelmente não alterará esse porque geralmente é uma má ideia .
Uma opção é executar a versão Debian do bind9; eles fizeram um patch para adicionar uma opção min-cache-ttl
.
Se você não está rodando Debian, no Serverfault, o OmniWired sugere que você pode pegar a fonte e editar a função is_expired
para alterar o comportamento do cache. Seu exemplo apenas altera o return 1
(expirado) para return 0
(não expirado); obviamente conhecimento de programação C seria necessário para implementar algo mais complicado.
Se você tiver algum conhecimento em C, também poderá aplicar o Debian min-cache-ttl patch .
Outra alternativa é o servidor DNS não consolidado que tem uma diretiva cache-min-ttl
para substituir os TTLs muito baixos.