DNS
Si è visto come la comunicazione fra calcolatori avviene
tramite l'uso di indirizzi IP, che vengono poi convertiti
in indirizzi MAC quando ci si trova in reti locali.
Normalmente, si è abituati a identificare gli altri PC
con nomi facilmente memorizzabili, come ad esempio
lab12.cs.dm.unipi.it
invece che
131.114.10.132
. Come fa il PC a passare
da una rappresentazione all'altra? Questo è il lavoro
di un server DNS (Domain Name System), che viene contattato
per avere queste informazioni; ovviamente l'indirizzo di
questo server deve essere già noto in forma di indirizzo IP!
Su Linux è possibile interrogare il server DNS configurato
sul sistema tramite alcuni comandi, come ad esempio host
.
host NNNNNN
, dove NNNNNN
indica un qualunque nome di dominio, per scoprirne l'IP. Quali sono gli IP
dei computer di laboratorio?
Tipi di campi nel DNS
Nell'esempio fatto precedentemente, abbiamo chiesto al server
DNS di convertire un nome (ad esempio lab12.cs.dm.unipi.it
),
in un indirizzo IP. Questa informazione viene memorizzato nel campo
A del DNS, che può venire richiesto esplicitamente
tramite il comando
$ host -t A lab12.cs.dm.unipi.itSi noti che questo comando, al contrario del precedente, fornisce un po' meno informazioni, perché abbiamo chiesto esplicitamente solo il recordo di tipo A. È possibile chiedere anche altri tipi di record, che ora elenchiamo in una lista non esaustiva:
- Record A: questo contiene l'indirizzo IP associato ad un nome.
- Record AAAA: questo recordo contiene l'indirizzo IPv6, la prossima generazione di indirizzo IP che sta lentamente sostituendo gli indirizzi IP. Si esprimono solitamente usando caratteri esadecimali (per maggior compattezza) e sono in numero molto più alto. Questo risolverà il problem attuale con gli indirizzi IP, che sono troppo pochi per il numero di computer connessi ad internet.
-
Record PTR: Questi record servono ad effettuare l'operazione
inversa a quella vista fino ad ora: dato un indirizzo IP, ci dicono qual è il
suo nome di dominio. Attenzione, la corrispondenza fra nome e indirizzi non è
necessariamente bigettiva, dunque a volte si trovano indirizzo senza nessun
nome associato.
Provare a riottenere il nome delle macchine in laboratorio dal loro IP utilizzando il comando
host
. Quetso comando è sufficientemente furbo da richiedere in automatico il recordPTR
nel caso gli si passi come argomento un indirizzo IP. -
Record MX: Il record
MX
ci dice quale server gestisce la posta per un dato dominio. Ad esempio, per un indirizzo emailesempio@gmail.com
deve esistere (almeno) un recordMX
per il nomegmail.com
che dica a quale server affidare la posta per l'utente desiderato.Si utilizzi il comandohost
per identificare il server di posta che gestisce gli indirizzi@mail.dm.unipi.it
. Come si chiama? -
Record TXT: I record di tipo
TXT
servono a memorizzare vari tipi di informazioni ausiliarie per i domini, senza alcun formato particolare specificato. Attualmente vengono utilizzati spesso per rendere più sicura la posta, specificando quali sono i server abilitati a spedire per un dato dominio, e/o le chiavi crittografica da utilizzarsi per firmare i messaggi. Si vedano ad esempio i protocolli SPF e DKIM. -
Record NS: Il record
NS
ci dice chi sono i server DNS incaricati a rispondere alle query per un certo dominio. La gerarchia dei DNS funziona in base alla suddivisione dei nomi tramite punti, in questo modo:- Ci sono alcuni DNS, detti root servers, di cui si concorda di fidarsi. Questi hanno degli IP fissati, che devono essere noti.
- Questi DNS, tramite i record
NS
, delegano la risoluzione dei domini "top-level" ad altri server, tipicamente legati a determinate nazioni (ad esempio,.it
viene delegato all'Italia). - Ognuno di questi domini nazionali distribuisce deleghe per i sottodomini. Ad esempio,
unipi.it
viene delegato all'Università di Pisa. - Questi possono a loro volta delegare sottodomini, ad esempio
dm.unipi.it
al Dipartimento di Matematica, e così via.
-
Record SOA: Questo record sta per "Start of Authority", e serve a memorizzare dei
dati legati a chi si prende la responsabilità per un dato dominio, in base al sistema di deleghe
menzionato sopra. In particolare, indica almeno un nameserver e un indirizzo e-mail di contatto.
L'email viene scritta in un formato un po' curioso, ad esempio
utente@gmail.com
diventautente.gmail.com
.Si determini qual è l'email di contatto per i dominiunipi.it
edm.unipi.it
.