Zona DNS
Il Domain Name System (DNS) è un sistema gerarchico diffuso in tutto il mondo per l’amministrazione di dati, legato ai domini Internet. Un dominio è un nome scritto in caratteri leggibili all’uomo, facile da ricordare e pratico da usare. Uno dei compiti principali del DNS consiste nella risoluzione dei nomi, ossia l’assegnazione di nomi di dominio agli indirizzi IP. Il DNS è una delle colonne portanti della struttura di Internet. Di seguito vi forniamo un paio di esempi di risoluzione dei nomi:
Nome di dominio interrogato | Indirizzo IP ottenuto in risposta |
---|---|
‘example.com’ | ‘93.184.216.34’ |
‘ionos.it’ | ‘217.160.86.80’ |
Da un punto di vista tecnico il DNS è composto da una rete di name server. Ma qual è il collegamento tra nomi di dominio e name server? Dove si trovano effettivamente le informazioni e come vengono contraddistinte da quelle di altri domini? Il concetto di zona DNS è fondamentale per spiegare tutto ciò in maniera chiara.
Che cos’è una zona DNS?
Il termine “DNS zone” (in italiano: “zona DNS”) viene utilizzato per la prima volta dalla Internet Engineering Task Force (IETF) nella specificazione pubblicata nel 1987. Nel documento RFC 1035 “Domain Names - Implementation And Specification” viene indicata la correlazione tra name server e zone DNS:
“I name server gestiscono due tipi di dati. Il primo tipo di dati prende il nome di zone; ogni zona corrisponde al database completo per una sezione definita dello spazio dei nomi di dominio. Questi dati vengono definiti autorevoli.” – Internet Engineering Task Force (IETF), Fonte: https://tools.ietf.org/html/rfc1035, Traduzione: IONOS
(Testo originale: “Name servers manage two kinds of data. The first kind of data held in sets called zones; each zone is the complete database for a particular "pruned" subtree of the domain space. This data is called authoritative.“)
Una zona DNS è una parte dello spazio dei nomi, gestita da una specifica organizzazione o persona. Si tratta di un’unità amministrativa che non va confusa con il dominio o con un name server specifico. Una zona DNS racchiude almeno un dominio e i suoi eventuali sottodomini. Tuttavia, i sottodomini possono essere realizzati in modo da costituire a loro volta delle zone autonome.
Che cos’è un file di zona DNS?
Il DNS zone file o file di zona DNS rappresenta la base per l’archiviazione delle informazioni DNS di una zona. Si tratta di un file di testo archiviato nel file system di un server. Anche la struttura di un file di zona DNS è stata stabilita nel sopracitato documento RFC 1035. Per definizione, un file di zona è basato su righe, con una direttiva o un record di risorse per ciascuna riga.
Le direttive si riconoscono in quanto iniziano con il simbolo del dollaro ‘$’ e comunicano al server di svolgere un’azione o di adottare una configurazione per la zona. Per esempio: l’istruzione ‘$INCLUDE’ permette di includere i file di zona subordinati. Questo risulta utile per rendere modulari i record dei file di zona. Solitamente tutte le direttive vengono elencate all’inizio del file di zona.
Dopo le direttive, trovate invece gli effettivi record DNS (record di risorse) per la zona descritta. Per ogni zona DNS deve essere presente esattamente un solo record SOA. Questo deve per forza essere il primo record del file di zona e serve a definire la struttura della zona così come anche lo scambio dei dati di zona tra i name server. Il record SOA è seguito da altri cosiddetti record di risorse. Tra i record di risorse più importanti si annoverano i record ‘A’ per determinare gli indirizzi IP dei server, i record ‘MX’ per definire i server di posta e i record ‘NS’ che contengono il name server autorevole per la zona.
Un file di zona che si riferisce a un name server specifico può essere modificabile o meno. Nel caso in cui lo sia significa allora che si tratta della copia originale del file e si parlerà di Primary DNS server o server DNS primario. Se, invece, il file di zona non può essere sovrascritto si tratta allora di una copia che fa riferimento a una fonte esterna. In questo caso si parla di Secondary DNS o DNS secondario. Un file di zona può descrivere una zona DNS autorevole o i contenuti di una cache DNS. Diamo anche qui un’occhiata alla definizione contenuta nella specificazione RFC 1035:
“Il secondo tipo di dati sono quelli contenuti nella cache e acquisiti da un risolutore locale. In certe circostanze questi dati non sono completi, ma servono a velocizzare l’accesso ripetuto a dati non locali. I dati contenuti nella cache vengono eliminati dopo un tempo prestabilito.” – Internet Engineering Task Force (IETF), Fonte: https://tools.ietf.org/html/rfc1035, Traduzione: IONOS
(Testo originale: “The second kind of data is cached data which was acquired by a local resolver. This data may be incomplete, but improves the performance of the retrieval process when non-local data is repeatedly accessed. Cached data is eventually discarded by a timeout mechanism.“)
Se una zona non dovesse essere trovata, ad esempio a causa di un errore tecnico nel file di zona, allora il name server risponde alla richiesta con l’errore NXDOMAIN.
Nel linguaggio tecnico i termini “zona DNS” e “file di zona DNS” sono spesso utilizzati come sinonimi.
Quali tipi di zone DNS esistono?
Le zone DNS hanno molti impieghi, in parte anche molto differenti tra di loro. Vi riportiamo una selezione dei concetti più comuni.
DNS root zone
La DNS root zone occupa il più alto livello nella gerarchia dello spazio dei nomi. Si riconosce per il punto finale nei nomi di dominio. Se un nome di dominio contiene un punto alla fine, allora si parla di “Fully Qualified Domain Name” (FQDN). Per esempio ‘example.com.’ è il FQDN di ‘example.com’.
La DNS root zone è presente anche nei 13 root name server del DNS e contiene informazioni riguardo ai name server autorevoli per i domini di primo livello o top level domains (TLD). Inviando una richiesta a uno dei root name server si può trovare un name server autorevole per uno dei domini di primo livello nazionali, conosciuti anche come Country Code Top Level Domains (ccTLDs). Oggigiorno le DNS Root Zone vengono autenticate tramite la certificazione DNSSEC, così da proteggerle da risposte DNS contraffatte.
La limitazione a 13 DNS root name server è di natura tecnica. I root name server sono assegnati ai nomi di dominio compresi fra ‘a.root-servers.net’ e ‘m.root-servers.net’. L’utilizzo della tecnologia Anycast mette a disposizione un numero più elevato di server fisici per rispondere alle richieste effettuate alla DNS root zone. Il sito web ufficiale della Root Server Technical Operations Association elenca i root server, mostrandone anche la posizione geografica.
Forward DNS Zone e Reverse DNS Zone
Il concetto di zona DNS fin qui descritto, così come i relativi file di zona, servono al “Forward DNS Lookup”, ossia alla risoluzione dei nomi di dominio in indirizzi IP. Nei file di zona vengono utilizzati i record ‘A’.
Il termine “Forward Zone” viene, a volte, anche utilizzato per descrivere un procedimento profondamente diverso, cioè l’inoltro di richieste DNS da parte di un risolutore DNS con funzione di caching a un name server autorevole. In questo caso il termine inglese “forward” viene usato come verbo, come quando si parla di inoltrare messaggi di posta elettronica.
Analogamente al Forward Lookup esiste anche il “Reverse DNS Lookup“ o risoluzione DNS inversa. L’aggettivo “inverso” lascia chiaramente intendere che il meccanismo funziona in maniera specularmente opposta all’appena descritto Forward DNS Lookup: gli indirizzi IP del server vengono tradotti nei nomi di dominio corrispondenti.
Una zona di ricerca inversa è un file di zona separato che definisce la risoluzione degli indirizzi IP dei nomi di dominio. Un file di zona DNS inverso contiene gli stessi record SOA e NS del corrispondente file di zona di ricerca diretta. Tuttavia, al posto dei record ‘A’ vengono utilizzati i cosiddetti record ‘PTR’. Un record ‘PTR’ collega un indirizzo IP nel formato ‘z.y.x.w.in-addr.arpa.’ con il relativo nome di dominio.
Zona DNS primaria e zona DNS secondaria
Come già menzionato, i termini “zona DNS” e “file di zona” vengono spesso usati come sinonimi. Ma nonostante si parli di zone DNS primarie e secondarie, in realtà si fa riferimento al file di zona memorizzato su un server DNS primario o secondario.
Qual è la differenza tra zona DNS e server DNS?
La zona DNS è un concetto amministrativo. È utile ricordare che una zona DNS si definisce come una parte dello spazio dei nomi DNS, gestita da una specifica organizzazione o persona. Al contrario, un server DNS è una componente fisica dell’infrastruttura tecnica di Internet e può essere autorevole per una o più zone. Tuttavia, si può trattare anche di un risolutore DNS, ovvero un server che non è autorevole per alcuna zona e che serve solamente a contenere nella cache le richieste DNS già eseguite.
Ne consegue che mentre non può esistere alcuna zona DNS senza name server, un name server non deve per forza definire obbligatoriamente una zona DNS.