configurazione-ttl-dns

Configurazione del TTL per i record DNS

Il sistema DNS è un prodotto tecnologico fondamentale. La gestione di quasi tutte le richieste di rete di primo livello e le ricerche su Internet, l’inoltro del traffico Internet e della posta elettronica e molte altre operazioni sono possibili stabilendo determinate mappature nelle ricerche DNS (traducendo nomi come some.domain.org in indirizzi IP). o nomi di altri domini).

Abbiamo deciso di scrivere sul Time To Live (TTL) dei dati perché la maggior parte degli amministratori di sistema non deve lavorare con le configurazioni DNS ogni giorno e gran parte delle informazioni su questo parametro sono storie semi dimenticate tramandate dagli amministratori di sistema di generazione in generazione.

Che cos’è un record DNS?

Un record DNS (Domain Name Server) contiene due parametri importanti:
indirizzare (corrispondenti) le richieste per un record particolare;
tempo di pertinenza del record durante la memorizzazione nella cache: è questo valore che ha ricevuto il nome minaccioso “time to live” (TTL).

Perché i record DNS vengono memorizzati nella cache?

Molte organizzazioni impostano i record DNS una volta e non li cambiano per anni dopo. Poiché i record DNS vengono interrogati frequentemente ma raramente aggiornati, la loro memorizzazione nella cache può migliorare notevolmente le prestazioni della rete aumentando la complessità della valutazione e della risoluzione dei problemi DNS.

Cos’è TTL?

Time to Live (TTL) è la quantità di tempo in cui un record viene memorizzato nella cache da ogni collegamento nella catena di mappatura DNS. Questo valore è misurato in secondi (l’importanza di questo sarà spiegata di seguito).

Sfortunatamente, il termine “vita” generalmente accettato non può essere definito esaustivo. Forse un nome più logico sarebbe “tempo di ricerca” o “per quanto tempo una voce DNS è memorizzata nella cache”.

Qual è il valore TTL predefinito per i record DNS?

Il valore TTL è sempre espresso in secondi. La maggior parte dei servizi di configurazione DNS viene fornita con un elenco predefinito di valori per le voci.

300 secondi = 5 minuti = “Molto breve”
3600 secondi = 1 ora = “Breve”
86.400 secondi = 24 ore = “Lungo”
604.800 secondi = 7 giorni = “Massimo assoluto”

Come viene eseguita la ricerca DNS?

Quando si digita un URL in un browser, vengono create una serie di ricerche.
In ogni fase di questo processo (spesso ci sono più fasi di quelle elencate), vengono poste le seguenti domande.

  1. La voce desiderata è memorizzata nella cache?
  2. In caso affermativo, il suo valore TTL è valido?

Se la risposta a una di queste domande è “No”, la richiesta si sposta al collegamento successivo della catena.

Quanto tempo ci vuole per aggiornare un record DNS?

Per calcolare l’intervallo di tempo massimo (caso peggiore) necessario per aggiornare il valore di un record DNS nei referral per tutti i client, moltiplicare il numero di collegamenti nella catena (escluso il server autorevole) per il valore TTL.

Ad esempio, se il TTL è di 3600 secondi (1 ora) e la catena DNS è composta da 5 collegamenti, non dovrebbero essere necessari più di 18.000 secondi (5 ore) per la propagazione completa delle modifiche.
Ma se solo fosse così semplice.

Quali sono i costi delle ricerche DNS?

Quando si tratta del “costo” di una ricerca DNS, di solito è tempo piuttosto che denaro. A seconda del numero di gremlin di Internet nella rete globale, una query DNS richiede in genere 100-200 millisecondi per essere completata.

È un tempo molto breve, ma immagina una pagina web. La mappatura da nome a indirizzo IP in DNS deve essere configurata per tutte le immagini, i file CSS e i file di risorse JavaScript a cui si accede tramite i collegamenti nella pagina. Senza la memorizzazione nella cache, i tempi di caricamento aumenteranno notevolmente.

Schema dei costi di ricerca DNS semplificato

Io chiamo questo schema semplicistico perché è improbabile che tutte le risorse sul tuo sito Web si trovino in domini diversi. Inoltre, ci sono molte diverse funzionalità di memorizzazione nella cache integrate nei browser che rendono il caricamento dei contenuti più veloce di quanto mostrato nel mio diagramma.

Con memorizzazione nella cache

(30 file immagine x 50 ms per scaricare ogni file) + (100 ms per eseguire una ricerca DNS e quindi memorizzare nella cache) = 1600 ms

Senza memorizzazione nella cache

(30 file immagine x 50 ms per caricamento file) + (30 x 100 ms per ricerca DNS) = 3000 ms

Perché i miei record DNS non si aggiornano ?

Ci sono altri fattori che aumentano il tempo di propagazione per le modifiche. Alcuni di essi sono elencati di seguito.

  • • I browser Web memorizzano nella cache i record DNS in modo indipendente per un po’ di tempo senza tener conto del TTL, che presumibilmente ne aumenta la velocità. Ad esempio, le versioni moderne di Internet Explorer memorizzano nella cache i record DNS per 30 minuti per impostazione predefinita (precedente a IE 4 era 24 ore) e ignorano i valori TTL inferiori.
  • • I provider Internet mobili possono tentare di ridurre la quantità complessiva di traffico trasmesso aumentando il tempo TTL, riducendo la frequenza delle richieste.
  • • Reti interne complesse con più server DNS del previsto richiedono più tempo per l’aggiornamento per ovvi motivi.

Ecco perché in molti servizi vedrai la seguente dichiarazione: “Potrebbero essere necessari diversi giorni prima che le modifiche ai record DNS si propaghino completamente, quindi pianifica di conseguenza”.

C’è un modo per forzare il client ad aggiornare il record DNS in remoto?

Questa domanda viene solitamente posta nel seguente contesto: “Dopo aver aggiornato i record DNS, il client non può accedere ad alcuni siti. Come forzare l’aggiornamento?
Sfortunatamente, l’unica risposta a questa domanda è “non c’è modo”. Non esiste alcun comando in DNS per forzare un aggiornamento anticipato per i client downstream.

Puoi utilizzare i comandi per rimuovere i record DNS dalla cache locale, ma di solito non funzionano come vorresti a causa dei canali sia a monte (caching dei record DNS lato ISP) che a valle (caching dei record DNS del browser).

È meglio modificare i valori TTL nelle voci in anticipo.

Raccomandazioni per la gestione del cambiamento nei record dns

  1. 1. Alcuni giorni prima del passaggio, impostare l’impostazione TTL del record DNS su un valore basso, ad esempio 300 secondi.
  2. 2. Impostare la data di cambio per la voce.
  3. 3. Alcuni giorni dopo il passaggio, impostare un valore TTL più alto.
  4. Qual è il modo migliore per aggiungere nuovi record DNS?
  5. Aggiungere una nuova voce è più facile che modificarne una esistente.
  6. 1. Aggiungere una voce con un valore TTL basso.
  7. 2. Controlla se tutto funziona e aumenta il valore TTL.

Come controllare un record DNS su Internet?

A volte capita di dover controllare il record DNS senza un computer a portata di mano. Una versione pratica (e gratuita) del comando dig è disponibile da Google Tools all’indirizzo toolbox.googleapps.com/apps/dig .

Come assicurarsi di propagare TTL per il record DNS?

Se hai bisogno di scoprire se un server DNS specifico ha aggiornato le impostazioni dei record DNS, in qualsiasi strumento DNS (dig, nslookup, ecc.), invece dell’impostazione predefinita locale, puoi selezionare il server DNS su cui verrà eseguita la query eseguita.

Per un quadro completo delle modifiche, consiglio whatsmydns.net, che permette di controllare molti server DNS di primo livello (livello di provider Internet) e identificare possibili problemi.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.