Eu não acho que BIND tem essa funcionalidade - só diminui em TTL ( cache-max-ttl
), não aumenta ( cache-min-ttl
não parece trabalhar no meu BIND, mas você poderia dar um giro e ver se ele faz para a sua versão). Mas poderíamos criar um domínio autoritário próprio. Depois disso, poderíamos criar um registro CNAME nesse domínio para o domínio externo.
test.mydomain.com CNAME test.example.com.
Em seguida, a consulta para test.mydomain.com
resolve o endereço IP de test.example.com
e o TTL pode ser configurado conforme desejado.
Teoricamente, poderíamos reescrever uma zona que o BIND armazena em cache e depois criá-la como um arquivo de zona local, definir o TTL e reiniciar o BIND; mas é horrível.
O software dnsmasq
tem uma opção, --min-cache-ttl=<time>
, em que time
é menor ou igual a 3600 segundos. O manual tem um aviso.
--min-cache-ttl=<time>
Extend short TTL values to the time given when caching them. Note that
artificially extending TTL values is in general a bad idea, do not do it
unless you have a good reason, and understand what you are doing. Dnsmasq
limits the value of this option to one hour, unless recompiled.
Sua pergunta é como se você soubesse o que está fazendo. Não consolidado tem o recurso também.
cache-min-ttl: <seconds>
Time to live minimum for RRsets and messages in the cache. Default is 0.
If the minimum kicks in, the data is cached for longer than the domain owner
intended, and thus less queries are made to look up the data. Zero makes sure the
data in the cache is as the domain owner intended, higher values, especially more
than an hour or so, can lead to trouble as the data in the cache does not match
up with the actual data any more.
Talvez substitua o BIND por Unbound ou dnsmasq, ou use um deles como encaminhador para o BIND.