Consultare il DNS TTL e modificare il valore DNS TTL

Il valore DNS TTL (le due sigle sono acronimi di, rispettivamente, Domain Name System e Time To Live) stabilisce per quanto tempo devono rimanere salvate le richieste DNS e le rispettive informazioni. Il valore DNS TTL può tornare particolarmente utile quando si trasferisce un sito web o si crea un nuovo sottodominio.

Cos’è il TTL?

TTL sta per “Time to Live”: questo record DNS fa riferimento alla durata del salvataggio temporaneo delle vostre impostazioni DNS prima che vengano aggiornate automaticamente.

Quando si effettua una modifica DNS è necessario un po’ di tempo prima che il resto di Internet se ne accorga. Alcuni esempi di modifica sono l’aggiornamento dell’indirizzo IP di un server, l’aggiornamento del suo record MX, il nuovo hosting di un indirizzo e-mail e l’aggiunta di un nuovo sito web. L’impostazione TTL comunica a Internet il tempo necessario a verificare di quanto tempo il record DNS ha bisogno per creare nuove informazioni.

Se l’impostazione TTL del vostro DNS è di 12 ore, i vostri record DNS saranno contenuti nella cache per 12 ore prima che scadano e le informazioni vengano sostituite 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.

Check dominio
  • .it
  • .email
  • .com

Quanto tempo può durare il TTL?

Il TTL è specificato in secondi. In genere il valore predefinito è di 12 ore (43.200 secondi) o di 24 ore (86.400 secondi). Se avete trasferito 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 cambiamenti DNS abbiano effetto.

DNS TTL: prassi migliore

La maggior parte delle volte non è indispensabile cambiare il TTL del vostro DNS. Tuttavia, se prevedete di fare un importante cambiamento DNS e volete che le modifiche avvengano rapidamente, potete cambiare il vostro TTL prima del tempo.

Aggiornate il valore del vostro TTL a un valore più breve almeno 24 ore prima. Potete, per esempio, impostarlo a 3600 (1 ora).

Una volta fatto ciò, assicuratevi di tornare indietro e ripristinare le impostazioni 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 automaticamente che ogni rete su Internet accetterà questo valore. Molti Internet Service Provider (ISP) ignorano le impostazioni TTL e controllano i record DNS esterni secondo il proprio calendario.

Valore minimo del DNS TTL

Se a breve avete intenzione di apportare modifiche al DNS, dovreste prima impostare un TTL basso. In tal modo i vostri cambiamenti si distribuiranno più velocemente e saranno riconosciuti 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ò comportare che le vostre informazioni DNS vengano ignorate o rifiutate.

Consiglio

3600 (1 ora) è un buon valore minimo. È abbastanza basso perché i cambiamenti vengano effettuati prontamente, ma non così basso da sovraccaricare i server DNS.

Valore massimo del DNS TTL

Il valore TTL più alto possibile è 604800 (7 giorni). Seppur tecnicamente non esista un’impostazione massima del TTL del DNS, i valori superiori a 7 giorni vengono arrotondati automaticamente a 7 giorni.

Consiglio

Nella maggior parte dei casi, un’impostazione massima del TTL del DNS di 86400 (24 ore) sarà la scelta giusta.

Dynamic DNS TTL

Il DNS dinamico (DynDNS) è una soluzione eccellente per assegnare i nomi di dominio a un indirizzo IP non statico.

Supponiamo che abbiate il nome di dominio esempio.it. Ora, desiderate 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 regolarmente.

Consiglio

Potete trovare una panoramica dei migliori provider di DynDNS dinamici gratuiti nel nostro articolo riassuntivo.

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 aggiornerà automaticamente in modo che il cambiamento abbia effetto rapidamente.

Al momento di impostare il DNS dinamico per un nome di dominio, potrebbe esservi richiesto di specificare un TTL per i record. Non esiste una risposta universale 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ù frequentemente 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).

Consultare il TTL del DNS

Scoprite come controllare le impostazioni TTL del vostro sito web.

Linux, Unix o Mac OS X

Il modo più semplice per interrogare le impostazioni 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 informazioni DNS (compresi i valori TTL) per il nome di dominio passato.

Windows

Sul sistema operativo Windows potete ricorrere alla funzione nslookup per controllare 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 visualizzate le informazioni sul server dei nomi autoritativi per quel dominio, compreso il TTL predefinito in secondi e ore.

Online

Esistono diversi siti web che vi permettono di usare la funzione dig per eseguire gratuitamente 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à sufficiente modificare il vostro file di zona DNS e assicurarvi che il vostro servizio DNS accetti le modifiche. Le specifiche variano a seconda del servizio DNS che utilizzate. In alcuni casi, può giocare un ruolo anche la versione di Linux o Unix utilizzata.

Dopo aver apportato le modifiche, potete verificare che abbiano avuto effetto richiedendo le nuove informazioni DNS al vostro server con il seguente comando:

 

dig @localhost esempio.it

BIND

BIND è il software DNS più in uso. Con BIND, il TTL è memorizzato all’inizio del file di zona, in genere sulla seconda riga. La dichiarazione TTL inizia con $TTL. Il TTL predefinito è impostato a quattro ore (14.400 secondi):

$TTL 14400

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

In una normale installazione 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 modificare il file esempio.it in una configurazione predefinita, il comando è:

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

Individuare il file di zona in Debian e Ubuntu:

In una tipica installazione 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 modificare il file esempio.it in una tipica configurazione predefinita, dovete usare il seguente comando:

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

Modificare il file di zona

Le righe da modificare nel file di zona sono due: il TTL e il numero di serie.

  • Aggiornate il TTL al valore che volete usare.
  • Aggiornate il numero di serie in modo che BIND registri il cambiamento.

Aggiornare il TTL

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

$TTL            86400

Cambiate semplicemente il numero con il valore TTL (in secondi) che intendete impostare.

Aggiornare il numero di serie

In una configurazione standard, il numero di serie deve solo essere incrementato. Per esempio, un numero di serie viene aggiornato da 1234 a 1235.

Alcuni amministratori di sistema utilizzano una marca temporale (o timestamp), un numero di versione o un programma per aumentare automaticamente il numero di serie. Contattate l’amministratore 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.

Verificare il file

Prima di caricare nuovamente le modifiche, è necessario controllare la sintassi della configurazione principale di BIND mediante il seguente comando:

sudo named-checkconf

Se è tutto a posto, controllate la sintassi del file di zona che avete appena modificato 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

Ricaricare le modifiche

Se i file superano il controllo della sintassi, ricaricate il file di zona in BIND utilizzando il seguente comando:

sudo rndc reload esempio.it

Opzionalmente, se systemctl è stato configurato, potete riavviare BIND su Red Hat e CentOS con il seguente comando:

sudo systemctl restart named

Web hosting con consulente personale!

Web hosting veloce e scalabile + consulente personale con IONOS!

Dominio gratis
SSL
Assistenza 24/7

Unbound

Unbound ha sostituito BIND come server DNS predefinito su molti sistemi BSD, compresi FreeBSD 10 e versioni più recenti e OpenBSD 5.6 e versioni più recenti.

Per impostazione predefinita, sulla maggior parte dei sistemi il file di configurazione 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 configurazione standard di Unbound non ha valori TTL specificati. Potete aggiungere TTL al vostro file Unbound Zone con i seguenti attributi:

  • cache-max-ttl è la quantità massima di tempo per memorizzare il TTL nella cache. L’impostazione predefinita qui è di 86.400 secondi (1 giorno).
  • cache-min-ttl è la durata minima per memorizzare il TTL nella cache. L’impostazione predefinita è 0 secondi. Attenzione: secondo la documentazione ufficiale è consigliabile lasciare questo valore a 0.

Per cambiare o impostare il TTL, modificate il vostro file unbound.conf:

sudo nano /etc/unbound/unbound.conf

Controllate il file con gli attributi cache-max-ttl e cache-min-ttl. Se esistono già, è possibile modificare questi valori. Se non esistono, dovrete aggiungerli:

## 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 configurazioni nel blocco di comando del server principale, salvate il file e chiudetelo.

Una volta modificato il file di configurazione, 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