Il valore DNS TTL (le due sigle sono acronimi di, ri­spet­ti­va­men­te, Domain Name System e Time To Live) sta­bi­li­sce per quanto tempo devono rimanere salvate le richieste DNS e le ri­spet­ti­ve in­for­ma­zio­ni. Il valore DNS TTL può tornare par­ti­co­lar­men­te utile quando si tra­sfe­ri­sce un sito web o si crea un nuovo sot­to­do­mi­nio.

Cos’è il TTL?

TTL sta per “Time to Live”: questo record DNS fa ri­fe­ri­men­to alla durata del sal­va­tag­gio tem­po­ra­neo delle vostre im­po­sta­zio­ni DNS prima che vengano ag­gior­na­te au­to­ma­ti­ca­men­te.

Quando si effettua una modifica DNS è ne­ces­sa­rio un po’ di tempo prima che il resto di Internet se ne accorga. Alcuni esempi di modifica sono l’ag­gior­na­men­to dell’indirizzo IP di un server, l’ag­gior­na­men­to del suo record MX, il nuovo hosting di un indirizzo e-mail e l’aggiunta di un nuovo sito web. L’im­po­sta­zio­ne TTL comunica a Internet il tempo ne­ces­sa­rio a ve­ri­fi­ca­re di quanto tempo il record DNS ha bisogno per creare nuove in­for­ma­zio­ni.

Se l’im­po­sta­zio­ne TTL del vostro DNS è di 12 ore, i vostri record DNS saranno contenuti nella cache per 12 ore prima che scadano e le in­for­ma­zio­ni vengano so­sti­tui­te con delle nuove.

Consiglio

Il valore TTL sui domini IONOS può arrivare fino a un’ora per tutti i record A, AAA, MX, TXT e CNAME.

Controllo Dominio

Quanto tempo può durare il TTL?

Il TTL è spe­ci­fi­ca­to in secondi. In genere il valore pre­de­fi­ni­to è di 12 ore (43.200 secondi) o di 24 ore (86.400 secondi). Se avete tra­sfe­ri­to un sito web su un nuovo server o avete aggiunto un nuovo URL a un server esistente, ci vorranno da 12 a 24 ore perché i nuovi cam­bia­men­ti DNS abbiano effetto.

DNS TTL: prassi migliore

La maggior parte delle volte non è in­di­spen­sa­bi­le cambiare il TTL del vostro DNS. Tuttavia, se prevedete di fare un im­por­tan­te cam­bia­men­to DNS e volete che le modifiche avvengano ra­pi­da­men­te, potete cambiare il vostro TTL prima del tempo.

Ag­gior­na­te il valore del vostro TTL a un valore più breve almeno 24 ore prima. Potete, per esempio, im­po­star­lo a 3600 (1 ora).

Una volta fatto ciò, as­si­cu­ra­te­vi di tornare indietro e ri­pri­sti­na­re le im­po­sta­zio­ni TTL ai loro valori originali. Il DNS caching è un ottimo modo per ridurre il carico sui server ed è meglio che questo tipo di traffico sia mantenuto basso.

Tenete presente che anche cambiando i TTL per il vostro nome di dominio, non significa au­to­ma­ti­ca­men­te che ogni rete su Internet accetterà questo valore. Molti Internet Service Provider (ISP) ignorano le im­po­sta­zio­ni TTL e con­trol­la­no i record DNS esterni secondo il proprio ca­len­da­rio.

Valore minimo del DNS TTL

Se a breve avete in­ten­zio­ne di apportare modifiche al DNS, dovreste prima impostare un TTL basso. In tal modo i vostri cam­bia­men­ti si di­stri­bui­ran­no più ve­lo­ce­men­te e saranno ri­co­no­sciu­ti su Internet.

Impostate il valore minimo DNS TTL su un numero maggiore di 0. Non dovreste mai impostare il vostro DNS TTL a 0, poiché il numero 0 non è definito nello standard e può com­por­ta­re che le vostre in­for­ma­zio­ni DNS vengano ignorate o rifiutate.

Consiglio

3600 (1 ora) è un buon valore minimo. È ab­ba­stan­za basso perché i cam­bia­men­ti vengano ef­fet­tua­ti pron­ta­men­te, ma non così basso da so­vrac­ca­ri­ca­re i server DNS.

Valore massimo del DNS TTL

Il valore TTL più alto possibile è 604800 (7 giorni). Seppur tec­ni­ca­men­te non esista un’im­po­sta­zio­ne massima del TTL del DNS, i valori superiori a 7 giorni vengono ar­ro­ton­da­ti au­to­ma­ti­ca­men­te a 7 giorni.

Consiglio

Nella maggior parte dei casi, un’im­po­sta­zio­ne massima del TTL del DNS di 86400 (24 ore) sarà la scelta giusta.

Dynamic DNS TTL

Il DNS dinamico (DynDNS) è una soluzione ec­cel­len­te per assegnare i nomi di dominio a un indirizzo IP non statico.

Sup­po­nia­mo che abbiate il nome di dominio esempio.it. Ora, de­si­de­ra­te assegnare casa.esempio.it a un server presente nella vostra rete domestica, ma il vostro ISP non vi fornisce un IP fisso. Ciò significa che l’indirizzo IP esterno del vostro server domestico cambia re­go­lar­men­te.

Consiglio

Potete trovare una pa­no­ra­mi­ca dei migliori provider di DynDNS dinamici gratuiti nel nostro articolo rias­sun­ti­vo.

I servizi DNS dinamici sono in grado di assegnare un nome di dominio (come casa.esempio.it) a un IP variabile. Ogni volta che l’indirizzo IP cambia, il vostro DNS si ag­gior­ne­rà au­to­ma­ti­ca­men­te in modo che il cam­bia­men­to abbia effetto ra­pi­da­men­te.

Al momento di impostare il DNS dinamico per un nome di dominio, potrebbe esservi richiesto di spe­ci­fi­ca­re un TTL per i record. Non esiste una risposta uni­ver­sa­le per il valore TTL da usare per un record DNS dinamico. In parte, però, dipende dal tempo in cui l’indirizzo IP rimane costante: più fre­quen­te­men­te cambia l’indirizzo IP, più basso dovrebbe essere il TTL.

Consiglio

Una buona regola empirica è quella di ridurre il TTL del DDNS della metà della durata del noleggio del DHCP. Se il contratto dell’indirizzo IP è impostato a 60 (1 minuto), allora fissate il vostro TTL a 30 (30 secondi). Se l’indirizzo IP ha un valore di 3600 (1 ora), impostate il TTL a 1800 (30 minuti).

Con­sul­ta­re il TTL del DNS

Scoprite come con­trol­la­re le im­po­sta­zio­ni TTL del vostro sito web.

Linux, Unix o Mac OS X

Il modo più semplice per in­ter­ro­ga­re le im­po­sta­zio­ni TTL del DNS è usare la funzione Dig, presente su Linux, Unix e Mac OS X.

Nella shell (riga di comando), digitate quanto segue:

dig esempio.it

In questo modo otterrete le in­for­ma­zio­ni DNS (compresi i valori TTL) per il nome di dominio passato.

Windows

Sul sistema operativo Windows potete ricorrere alla funzione nslookup per con­trol­la­re i valori DNS TTL di un sito web.

Per prima cosa aprite la finestra del prompt dei comandi.

  • Windows 7: “Start” > “Tutti i programmi” > “Strumenti” > “Prompt dei comandi”
  • Windows 10: clic destro su “Start” > “Esegui” > Digitare “cmd” > Clic su “OK”

Per eseguire nslookup e ottenere i valori TTL, digitate il seguente comando:

nslookup -type=soa esempio.it

Verranno vi­sua­liz­za­te le in­for­ma­zio­ni sul server dei nomi au­to­ri­ta­ti­vi per quel dominio, compreso il TTL pre­de­fi­ni­to in secondi e ore.

Online

Esistono diversi siti web che vi per­met­to­no di usare la funzione dig per eseguire gra­tui­ta­men­te una ricerca del TTL del DNS.

Di seguito useremo Google Apps:

Come potete vedere, i valori DNS TTL per i record di questo dominio sono impostati su 21.599 secondi (6 ore).

Come cambiare il TTL del DNS se si fa l’hosting del proprio server DNS

Se avete un vostro server DNS, per cambiare i TTL sarà suf­fi­cien­te mo­di­fi­ca­re il vostro file di zona DNS e as­si­cu­rar­vi che il vostro servizio DNS accetti le modifiche. Le spe­ci­fi­che variano a seconda del servizio DNS che uti­liz­za­te. In alcuni casi, può giocare un ruolo anche la versione di Linux o Unix uti­liz­za­ta.

Dopo aver apportato le modifiche, potete ve­ri­fi­ca­re che abbiano avuto effetto ri­chie­den­do le nuove in­for­ma­zio­ni DNS al vostro server con il seguente comando:

dig @localhost esempio.it

BIND

BIND è il software DNS più in uso. Con BIND, il TTL è me­mo­riz­za­to all’inizio del file di zona, in genere sulla seconda riga. La di­chia­ra­zio­ne TTL inizia con $TTL. Il TTL pre­de­fi­ni­to è impostato a quattro ore (14.400 secondi):

$TTL 14400

Come trovare il file di zona su Red Hat e CentOS:

In una normale in­stal­la­zio­ne BIND su Red Hat o CentOS, il file di zona di un sito web ha il seguente aspetto: /var/named/[nome di dominio].db oder /var/named/[nome di dominio].zone. Per esempio, per mo­di­fi­ca­re il file esempio.it in una con­fi­gu­ra­zio­ne pre­de­fi­ni­ta, il comando è:

sudo nano /var/named/esempio.it.db

In­di­vi­dua­re il file di zona in Debian e Ubuntu:

In una tipica in­stal­la­zio­ne BIND su Debian o Ubuntu, il file di zona di un sito web si presenta come segue: /etc/bind/[nome di dominio].db. Se per esempio, volete mo­di­fi­ca­re il file esempio.it in una tipica con­fi­gu­ra­zio­ne pre­de­fi­ni­ta, dovete usare il seguente comando:

sudo nano /etc/bind/esempio.it.db

Mo­di­fi­ca­re il file di zona

Le righe da mo­di­fi­ca­re nel file di zona sono due: il TTL e il numero di serie.

  • Ag­gior­na­te il TTL al valore che volete usare.
  • Ag­gior­na­te il numero di serie in modo che BIND registri il cam­bia­men­to.

Ag­gior­na­re il TTL

Il TTL sarà la prima riga del file e avrà un aspetto simile a questo:

$TTL            86400

Cambiate sem­pli­ce­men­te il numero con il valore TTL (in secondi) che intendete impostare.

Ag­gior­na­re il numero di serie

In una con­fi­gu­ra­zio­ne standard, il numero di serie deve solo essere in­cre­men­ta­to. Per esempio, un numero di serie viene ag­gior­na­to da 1234 a 1235.

Alcuni am­mi­ni­stra­to­ri di sistema uti­liz­za­no una marca temporale (o timestamp), un numero di versione o un programma per aumentare au­to­ma­ti­ca­men­te il numero di serie. Con­tat­ta­te l’am­mi­ni­stra­to­re del vostro server se non siete sicuri di quale sistema sia usato per i vostri numeri di serie BIND.

Ora salvate e chiudete il file.

Ve­ri­fi­ca­re il file

Prima di caricare nuo­va­men­te le modifiche, è ne­ces­sa­rio con­trol­la­re la sintassi della con­fi­gu­ra­zio­ne prin­ci­pa­le di BIND mediante il seguente comando:

sudo named-checkconf

Se è tutto a posto, con­trol­la­te la sintassi del file di zona che avete appena mo­di­fi­ca­to con il seguente comando:

sudo named-checkzone [nome di dominio] [path to file]

Per esempio, se avete cambiato il TTL per esempio.it nel file /var/named/esempio.it.db, il comando sarà:

sudo named-checkzone example.com /var/named/esempio.it.db

Ri­ca­ri­ca­re le modifiche

Se i file superano il controllo della sintassi, ri­ca­ri­ca­te il file di zona in BIND uti­liz­zan­do il seguente comando:

sudo rndc reload esempio.it

Op­zio­nal­men­te, se systemctl è stato con­fi­gu­ra­to, potete riavviare BIND su Red Hat e CentOS con il seguente comando:

sudo systemctl restart named
Web Hosting
Diventa il n°1 della rete con il provider di hosting n°1 in Europa
  • Di­spo­ni­bi­li­tà garantita al 99,99%
  • Dominio, SSL ed e-mail inclusi
  • As­si­sten­za 24/7 in lingua italiana

Unbound

Unbound ha so­sti­tui­to BIND come server DNS pre­de­fi­ni­to su molti sistemi BSD, compresi FreeBSD 10 e versioni più recenti e OpenBSD 5.6 e versioni più recenti.

Per im­po­sta­zio­ne pre­de­fi­ni­ta, sulla maggior parte dei sistemi il file di con­fi­gu­ra­zio­ne si trova in:

  • OpenBSD: /var/unbound/etc/unbound.conf
  • FreeBSD 10.0 and älter: /usr/local/etc/unbound/unbound.conf
  • FreeBSD 10.1 und neuer: /etc/unbound/unbound.conf
  • Red Hat and CentOS 7: /etc/unbound/unbound.conf

Il file di con­fi­gu­ra­zio­ne standard di Unbound non ha valori TTL spe­ci­fi­ca­ti. Potete ag­giun­ge­re TTL al vostro file Unbound Zone con i seguenti attributi:

  • cache-max-ttl è la quantità massima di tempo per me­mo­riz­za­re il TTL nella cache. L’im­po­sta­zio­ne pre­de­fi­ni­ta qui è di 86.400 secondi (1 giorno).
  • cache-min-ttl è la durata minima per me­mo­riz­za­re il TTL nella cache. L’im­po­sta­zio­ne pre­de­fi­ni­ta è 0 secondi. At­ten­zio­ne: secondo la do­cu­men­ta­zio­ne ufficiale è con­si­glia­bi­le lasciare questo valore a 0.

Per cambiare o impostare il TTL, mo­di­fi­ca­te il vostro file unbound.conf:

sudo nano /etc/unbound/unbound.conf

Con­trol­la­te il file con gli attributi cache-max-ttl e cache-min-ttl. Se esistono già, è possibile mo­di­fi­ca­re questi valori. Se non esistono, dovrete ag­giun­ger­li:

## Minimum lifetime of cache entries in seconds. Default is 0.
cache-min-ttl: 0
## Maximum lifetime of cached entries. Default is 86400 seconds (1 day).
cache-max-ttl: 14400

Inserite queste con­fi­gu­ra­zio­ni nel blocco di comando del server prin­ci­pa­le, salvate il file e chiu­de­te­lo.

Una volta mo­di­fi­ca­to il file di con­fi­gu­ra­zio­ne, potete testarlo con il seguente comando:

unbound-checkconf

Infine, riavviate Unbound perché le modifiche abbiano effetto. Per farlo, servitevi del seguente comando:

unbound-control reload
Vai al menu prin­ci­pa­le