SOA: il documento di identità della zona DNS
Il record SOA (Start of Authority) è il primo e più importante record di ogni zona DNS. Contiene i metadati fondamentali che governano il funzionamento della zona: chi è il nameserver primario, chi è l'amministratore, il serial number che traccia le modifiche, e i parametri che regolano la sincronizzazione tra nameserver primario e secondari. Ogni zona DNS deve avere esattamente un record SOA — è obbligatorio per le specifiche RFC.
Sebbene sia spesso trascurato dagli amministratori che si concentrano su record A, MX e CNAME, il record SOA ha un impatto diretto sulla velocità di propagazione delle modifiche DNS e sulla resilienza del sistema. Parametri SOA mal configurati possono causare ritardi nella propagazione, zone DNS non aggiornate sui nameserver secondari, e in casi estremi la perdita di autorità dei nameserver secondari.
Anatomia del record SOA
Il serial number è un contatore che viene incrementato ad ogni modifica alla zona. I nameserver secondari confrontano il serial del primario con il proprio: se quello del primario è maggiore, scaricano la nuova versione della zona (zone transfer). La convenzione più diffusa è il formato YYYYMMDDNN (data + numero sequenziale), ma qualsiasi numero intero crescente funziona. Se dimentichi di incrementare il serial dopo una modifica, i secondari non si aggiornano.
Refresh indica ogni quanti secondi il nameserver secondario verifica se il serial del primario è cambiato. Retry è l'intervallo tra i tentativi se il refresh fallisce. Expire è il tempo massimo dopo il quale, se il primario è irraggiungibile, il secondario smette di rispondere per la zona (considerandola stale). Il campo Minimum TTL (o Negative Cache TTL) indica per quanto tempo i resolver memorizzano le risposte negative (NXDOMAIN — dominio inesistente).
Valori SOA consigliati
I valori ottimali dipendono dal contesto. Per zone con modifiche frequenti: Refresh 300-900s, Retry 60-300s. Per zone stabili: Refresh 3600-7200s, Retry 900s. Expire dovrebbe essere sempre molto più alto del Refresh (7-14 giorni) per garantire che i secondari continuino a servire la zona durante outage prolungati del primario. Il Negative Cache TTL di 3600s è un buon valore di default — troppo alto e i sottodomini rimossi restano "fantasma" troppo a lungo.
Usa SOA Lookup per verificare i parametri della tua zona e confrontarli con le best practice. Abbina il controllo con NS Lookup per verificare che i nameserver elencati nel SOA corrispondano a quelli effettivamente delegati, e con DNS Health Check per un controllo completo della coerenza della zona. Il SOA è raramente la causa diretta di problemi visibili agli utenti, ma parametri errati possono amplificare l'impatto di altri problemi.
Un dettaglio che spesso confonde è il formato dell'email dell'amministratore nel SOA: admin.esempio.com non è un URL ma un indirizzo email dove il primo punto sostituisce la @. Quindi admin.esempio.com corrisponde ad admin@esempio.com. Se l'indirizzo contiene un punto prima della @, viene escaped con backslash: mario\.rossi.esempio.com corrisponde a mario.rossi@esempio.com. Questo formato legacy è una delle peculiarità del DNS ereditate dagli anni '80.