Obrigado a todos por sua contribuição e sugestões. Eles me direcionaram para a seguinte solução:
- Instale o bind9.
- Edite
/etc/bind/named.conf.options
para que os encaminhadores fiquem em branco (para que o servidor não use os registros armazenados em cache de outro servidor de armazenamento em cache). - Defina as opções
max-cache-ttl
emax-ncache-ttl
para 300 segundos. ( referência ) - Altere
listen-on-v6 { any; };
paralisten-on-v6 { localhost; };
para que o servidor não seja usado por outros sistemas. ( referência ) - Edite o
/etc/resolv.conf
do sistema para incluir apenasnameserver 127.0.0.1
, para que os aplicativos no servidor usem o novo servidor local.
Eu reiniciei bind9 e verifiquei que está funcionando:
dev:~# dig serverfault.com
; <<>> DiG 9.5.1-P2 <<>> serverfault.com
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 63591
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 0
;; QUESTION SECTION:
;serverfault.com. IN A
;; ANSWER SECTION:
serverfault.com. 300 IN A 69.59.196.212
;; AUTHORITY SECTION:
serverfault.com. 300 IN NS ns21.domaincontrol.com.
serverfault.com. 300 IN NS ns22.domaincontrol.com.
;; Query time: 190 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sat Jul 18 03:06:24 2009
;; MSG SIZE rcvd: 101
Os TTLs são exibidos como 300, embora os TTLs publicados do registro do serverfault.com sejam 3600.