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: