20.7 La risoluzione dei nomi
Come illustrato precedentemente, gli indirizzi IP sono dei numeri e non sono così facili da
ricordare come i nomi che magari hanno un significato che meglio può aiutare a ricordare il
nome stesso. Pertanto è stato elaborato un meccanismo per associare un nome ad un indirizzo
IP, in maniera tale che dal nome si possa univocamente ricondursi all’indirizzo IP ad esso
associato.
La risoluzione dei nomi (o DNS
lookup) è
il meccanismo con il quale l’indirizzo IP di un’interfaccia viene sostituito al suo corrispondente
nome mnemonico. Esso si basa sulle impostazioni contenute in appositi file. Quando deve
essere effettuata una risoluzione di nomi, come ad esempio quando si specifica un indirizzo
relativo ad una pagina web (es. http://www.google.it), il sistema controlla, in sequenza, il
contenuto dei seguenti file
- /etc/hosts
- /etc/resolv.conf
Il file /etc/hosts contiene l’associazione tra indirizzi IP e nomi mnemonici e costituisce
quindi la tabella di lookup statica dei nomi mnemonici delle interfacce. Esso contiene righe
con la seguente sintassi (v. RFC 952)
ip_address name_1 [name_2 [name_3 [...]]]
dove
-
ip_address
è l’indirizzo IP al quale possono essere associati uno o più nomi mnemonici;
-
name_i è uno dei possibili nomi mnemonici (alias) associati all’indirizzo IP specificato da
ip_address. I nomi possono essere costituiti da qualunque carattere alfanumerico,
e dai simboli ‘-’ e ‘.’;
Tale file conterrà ad esempio almeno la riga seguente
127.0.0.1 localhost.localdomain localhost
che specifica i nomi mnemonici di default relativi all’interfaccia di loopback.
Il file /etc/resolv.conf contiene gli indirizzi IP dei name server, ai quali il sistema
richiederà la risoluzione dei nomi. Esso è costituito da righe, ognuna delle quali può contenere
delle direttive, secondo la sintassi
keyword [value] [value] [...]
L’elenco delle direttive possibili (keyword) è riportato di seguito
-
nameserver
indica l’indirizzo IP di uno o più name server, uno di seguito all’altro. se non è
specificato, viene utilizzato il name server presente sul sistema);
-
domain indica il nome del dominio locale. Se non è specificato, il dominio locale viene
desunto dal nome del sistema (tutto ciò che segue il primo ‘.’);
-
search indica l’elenco di ricerca dei nomi di dominio (per default è composto soltanto
dal nome del dominio locale);
-
sortlist
indica l’ordine di ordinamento degli indirizzi ritornati dalla risoluzione del nome
di dominio;
-
options opt
permette l’accesso ad alcune variabili interne del resolver. I possibili valori di opt sono
i seguenti
-
debug attiva la modalità di debug;
-
ndots:n
imposta il numero massimo di ‘.’ che possono essere contenuti nel nome
di dominio da risolvere, secondo quanto specificato da n. Per default n è 1,
cioè se c’è anche solo un ‘.’ all’interno del nome di dominio da risolvere,
questo verrà considerato un nome assoluto, prima di appenderci uno
degli elementi presenti della direttiva search;
-
timeout:n
imposta il tempo (in secondi) che il resolver deve attendere quando
aspetta una risposta da un name server, prima di considerare fallito il
tentativo e provare la risoluzione del nome con un altro name server;
-
attempts:n
imposta il numero di tentativi che il resolver deve effettuare prima di
considerare impossibile la risoluzione del nome;
-
rotate attiva la selezione round robin dei name server tra quelli elencati nella
direttiva nameserver;
-
no-check-names
indica di disabilitare il controllo sintattico dei nomi di dominio (quelli
contenenti simboli non ASCII standard, o caratteri di controllo vengono
di norma considerati errati);
-
inet6 indica di dare la precedenza ai record AAAA rispetto a quelli A, nelle
risposte dai name server;
[da completare ...]