POSSO questo essere fatto? Certo:ci sono server DNS non funzionanti (ad esempio quelli eseguiti da AOL) che lo fanno e ogni amministratore che conosco lo odia.
DOVREBBE questo essere fatto? Quasi certamente no.
In generale, il TTL è stato impostato su un valore particolare per un motivo (nel caso di Google, probabilmente la tolleranza agli errori:non sarai in grado di raggiungere Google per 5 minuti solo se il server si interrompe) e non dovresti scherzare con esso .
Stai già ottenendo un aumento delle prestazioni mantenendo il record di google.com nella cache per i 5 minuti per i quali è destinato a vivere poiché le tue singole workstation non si esauriranno su Internet per la risoluzione:non ottimizzare eccessivamente e interrompere il comportamento previsto :)
la cosa più sporca e brutta che si possa fare è...
1-Scaricare il sorgente2-trovare il file chiamato cache.c3-trovare la funzione is_expired
4- Modificalo in questo modo
static int is_expired(time_t now, struct crec *crecp)
{
if (crecp->flags & F_IMMORTAL)
return 0;
if (difftime(now, crecp->ttd) < 0)
return 0;
return 0; // IT WAS IN ONE
}
Quando la funzione ask è scaduta? abbiamo sempre visto no
In questo modo non scadrà mai e conquisterai il mondo.
USCITA:
; <<>> DiG 9.6.1-P2 <<>> www.google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28477
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;www.google.com. IN A
;; ANSWER SECTION:
www.google.com. 603937 IN CNAME www.l.google.com.
www.l.google.com. 4294966733 IN A 209.85.195.99
www.l.google.com. 4294966733 IN A 209.85.195.104
www.l.google.com. 4294966733 IN A 209.85.195.147
;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed Feb 17 18:34:47 2010
;; MSG SIZE rcvd: 110
Se sei veramente interessato alla storia piuttosto che alla precisione, il più veloce Il trucco più sporco che puoi fare è probabilmente rendere il tuo server dei nomi un master autorevole per il dominio e ricreare il file di zona con la frequenza necessaria tramite uno script. Decisamente consigliato solo per conquistare il mondo, non per la vita reale.
In generale, se vuoi davvero che un record di TTL molto breve persista all'interno di un'applicazione, sembra che l'unico modo sensato sia memorizzarlo nella cache all'interno dell'applicazione.