Indice dei contenuti
Questo articolo conclude la nostra panoramica sul funzionamento del Domain Name System descrivendo il funzionamento dei principali Record DNS utilizzati su Internet: A, CNAME, MX e TXT. Dopo una breve introduzione, nel corso della quale cercheremo di illustrare a grandi linee i concetti generali comuni a tutti i Record DNS, ci dedicheremo a illustrare lo scopo e il funzionamento di ciascuno di essi.
Introduzione
I Record DNS rappresentano l’obiettivo ultimo di una Query DNS, in quanto contengono le informazioni esatte per risalire all’indirizzo IP di ciascun nome di dominio. Nella metafora della biblioteca utilizzata nel nostro articolo precedente, ciascun record DNS rappresenta dunque una “pagina” del libro dedicato al dominio di secondo livello (es. google.it) che stiamo cercando di risolvere.
Per ragioni di spazio, in questo articolo ci limiteremo a descrivere i quattro record DNS più comuni: A, CNAME, MX e TXT. Tuttavia, esistono decine di Record DNS che è possibile definire per ciascun dominio di secondo livello. L’elenco completo dei Record DNS ad oggi supportati dal Domain Name System è disponibile qui:
Record A
Il Record A è normalmente utilizzato per collegare un hostname al suo indirizzo IP: in altre parole, si tratta dell’obiettivo “terminale” di una query DNS, a conclusione delle attività ricorsive di ricerca effettuate dal DNS resolver.
Cerchiamo di spiegare il suo funzionamento con un esempio: supponiamo che il client (browser) stia cercando di connettersi a www.ryadel.com. Cosa succede dietro le quinte?
- Il client effettua la Query DNS per risolvere l'indirizzo IP dell'hostname www.ryadel.com
- La Query DNS viene gestita dal Root nameserver, quindi dal TLD nameserver e infine dall'Authoritative nameserver (una o più volte ) fino a recuperare un Record A che consenta di ottenere l'IP associato all'hostname www.ryadel.com (o all'esito ricorsivo della Query DNS relativa all'hostname indicato da un Record CNAME).
- Il client, grazie all'informazione contenuta nel Record A, ottiene l'indirizzo IP di www.ryadel.com a cui effettuare la request.
In linea generale, il Record A va utilizzato quando vogliamo associare un indirizzo IP a uno dei nostri domini di secondo livello (google.it) o uno dei terzi livelli ad esso relativi (www.google.it, app.google.it, etc).
Record CNAME
Il Record CNAME si utilizza in modo simile al Record A, con la differenza che, anziché associare un terzo livello a un indirizzo IP, lo associa a un altro dominio: in altre parole, consente di definire un hostname come "alias" di un altro hostname, che può a sua volta puntare a un Record CNAME, e così via... fino a raggiungere un Record A che consentirà di "risolvere" l'hostname originario su un indirizzo IP vero e proprio.
In linea generale, il Record CNAME va utilizzato quando vogliamo “agganciare” un hostname a un altro, in modo che cambino indirizzo IP insieme. Un classico caso è l'hostname di terzo livello “www” (www.ryadel.com), che viene spesso configurato come CNAME di un hostname di secondo livello corrispondente (ryadel.com), sul quale viene configurato un record A che punta all’indirizzo IP del server effettivo: in questo modo avremo un solo record A da modificare, con il CNAME (terzo livello) che viene “automaticamente” aggiornato in quanto non è che un alias del secondo livello.
Record MX
Noto anche come Mail Exchanger Record (MX è l'acronimo di Mail eXchanger). Sono record specifici per la gestione delle e-mail, e hanno lo scopo di specificare i mail server autorizzati ad accettare messaggi e-mail per conto del dominio di destinazione.
In linea generale, il Record MX risponde alla domanda "chi gestisce gli indirizzi di posta elettronica per questo dominio?" fornendo gli indirizzi IP dei relativi mail server.
Record TXT
I record TXT vengono utilizzati per indicare alcune informazioni di testo utilizzabili da fonti esterne al dominio. L’esempio tipico è dato dai record TXT utilizzati da Google o da altri servizi (come ad esempio quelli che ti rilasciano il certificato SSL) per verificare che chi ha effettuato la richiesta è realmente il proprietario del dominio.
Questa verifica avviene mediante i seguenti passaggi:
- Al momento di verificare la paternità di un dominio, Google assegna un identificativo univoco complesso da inserire come record TXT nel dominio (es.: 23v4b89j23459b8j258hj2598259b892h8b529h)
- Il proprietario del dominio (solo lui può farlo) inserisce il record TXT relativo, attende un certo lasso di tempo per far sì che la propagazione del DNS aggiorni le informazioni presenti sui vari nameserver, quindi informa Google (solitamente mediante il click di un tasto "Verifica Record TXT" o simile) del completamento dell'operazione.
- Una volta ricevuto l'OK per la verifica, Google scansiona i record TXT del dominio in questione per trovare un record TXT che abbia il valore corrispondente all’identificativo univoco che ti ha indicato, così da verificare che sia stato inserito il valore corretto e "confermare" la paternità del dominio.
I record TXT possono essere usati per vari scopi: i loro utilizzi prevalenti comprendono la conferma della proprietà del dominio (come nell'esempio di cui sopra) e la configurazione di una serie di protocolli (SPF, DKIM, DMARC, etc) che hanno lo scopo di garantire la sicurezza delle email.
Conclusioni
Per il momento è tutto. Ci auguriamo che questa panoramica sui Record A, CNAME, MX e TXT possa aiutarvi a comprendere in modo più chiaro il funzionamento della rete Internet e le peculiarità del Domain Name System alla base del processo di risoluzione del DNS: alla prossima!