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.
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 è 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.
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.
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.
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.
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
- Certificato SSL e protezione DDoS
- Velocità, flessibilità e scalabilità
- Dominio e consulente personale
- 1 anno gratis del gestionale di fatturazione elettronica FlexTax
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