[indice generale] [precedente] [successivo] [indice analitico] [note introduttive]

75. DNS: introduzione

Un servizio di risoluzione dei nomi, ovvero ciò che viene fornito da un server DNS, è ciò che gestisce la traduzione di un nome di dominio in un numero IP e viceversa. L'elaboratore che fornisce questo servizio può rispondere direttamente alle richieste riferite ai nomi di dominio di competenza della sua zona, e per gli altri, deve interpellare altri nodi competenti. Il capitolo inizia con l'illustrazione di un esempio, contando sull'intuizione del lettore. *1*

In questo capitolo e in tutto il resto del documento, si fa riferimento generalmente al pacchetto BIND, quando si parla del programma named per la gestione del sistema di risoluzione dei nomi. È bene cercare di non fare confusione: named è il nome del demone che compie il lavoro; BIND è il nome del pacchetto che racchiude tutto il necessario alla gestione del DNS, compreso named.

75.1 Descrizione di un esempio

Si dispone di una piccola rete locale composta da due elaboratori con indirizzi IPv4:

192.168.1.1 dinkel.brot.dg

192.168.1.2 roggen.brot.dg

Il primo di questi due elaboratori è connesso a Internet attraverso la rete telefonica e viene predisposto per gestire un servizio di risoluzione dei nomi attraverso il demone named.

La connessione telefonica serve solo all'elaboratore dinkel e non permette all'altro elaboratore di accedere a Internet.

75.1.1 Prima di gestire un server DNS

Quando non si gestisce localmente un servizio di risoluzione dei nomi, e si vuole accedere a Internet, è necessario almeno fare uso di un servizio esterno, di solito messo a disposizione dallo stesso ISP (Internet Service Provider)

/etc/host.conf ( 74.1.1)

È il file di configurazione principale dei servizi di rete. Serve in particolare per determinare in che modo si intendono risolvere i nomi di dominio. L'esempio seguente è quello classico, utilizzato quasi sempre.

order hosts,bind
multi on

La riga order indica l'ordine dei servizi. In questo caso si utilizza prima il file /etc/hosts e quindi si interpella il servizio di risoluzione dei nomi.

/etc/hosts ( 74.2.1)

Questo file permette di definire i nomi degli elaboratori abbinati al loro indirizzo IP, senza fare uso di un server DNS. Per entrambi gli elaboratori dell'esempio, va bene il contenuto seguente:

#necessario per il loopback
127.0.0.1       localhost.localdomain	localhost

192.168.1.1     dinkel.brot.dg    	dinkel
192.168.1.2     roggen.brot.dg       	roggen

/etc/networks ( 74.2.2)

Questo file attribuisce i nomi agli indirizzi di rete. Per entrambi gli elaboratori dell'esempio va bene il contenuto seguente:

localdomain     127.0.0.0
brot.dg     	192.168.1.0

/etc/resolv.conf ( 74.2.3)

Viene usato per conoscere l'indirizzo o gli indirizzi dei servizi di risoluzione dei nomi di competenza della rete cui si appartiene. Se non si vuole gestire questo servizio nella propria rete locale, se ne deve indicare almeno uno esterno per accedere a Internet. Nell'esempio seguente, si fa riferimento a un indirizzo fornito dal proprio ISP (l'indirizzo dell'esempio è messo a caso: deve essere sostituito con uno o più indirizzi forniti dal proprio ISP).

nameserver 194.22.123.201

75.1.2 Predisposizione di un server DNS elementare

Il tipo di servizio di risoluzione dei nomi più semplice è quello che si occupa solo di accumulare in una memoria cache gli ultimi indirizzi richiesti, senza avere alcuna competenza di zona. Il servizio viene allestito all'interno dell'elaboratore dinkel.

/etc/resolv.conf ( 74.2.3)

Viene modificato in modo da fare riferimento all'indirizzo locale (localhost), dal momento che si intende usare il proprio elaboratore per la gestione del servizio di risoluzione dei nomi.

nameserver 127.0.0.1

/etc/named.conf

Viene utilizzato da named come punto di partenza della configurazione del servizio DNS.

options {
	directory "/var/named";
};
zone "." {
	type hint;
	file "named.root";
};
zone "0.0.127.in-addr.arpa" {
	type master;
	file "zone/127.0.0";
};

La prima direttiva, che occupa le prime tre righe, definisce la directory predefinita per contenere gli altri file di configurazione del servizio di risoluzione dei nomi.

La seconda direttiva indica il file named.root contenuto in /var/named/ che serve come fonte per gli indirizzi necessari a raggiungere i servizi di risoluzione dei nomi del dominio principale (ciò è rappresentato simbolicamente dal punto isolato).

La terza direttiva indica il file 127.0.0 contenuto in /var/named/zone/, utilizzato come configurazione per la rete dell'elaboratore locale (localhost).

in-addr.arpa è un dominio speciale attraverso il quale si definisce che le cifre precedenti rappresentano un indirizzo IP rovesciato.

/etc/named.boot (obsoleto)

Nelle versioni più vecchie di named, al posto del file /etc/named.conf, si usava /etc/named.boot. L'esempio seguente è l'equivalente di quanto mostrato nel punto precedente.

directory                                /var/named
cache           .                        named.root
primary         0.0.127.in-addr.arpa     zone/127.0.0

/var/named/named.root, /var/named/named.ca

Si tratta del file contenente le indicazioni necessarie a raggiungere i servizi di risoluzione dei nomi del dominio principale. Nella consuetudine può avere diversi nomi, tra cui i più importanti sono named.root e named.rc. Questo file viene realizzato da un'autorità esterna e viene quindi semplicemente utilizzato così com'è. Segue un esempio di questo.

.                        3600000  IN  NS    A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET.      3600000      A     198.41.0.4
.                        3600000      NS    B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET.      3600000      A     128.9.0.107
.                        3600000      NS    C.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET.      3600000      A     192.33.4.12
.                        3600000      NS    D.ROOT-SERVERS.NET.
D.ROOT-SERVERS.NET.      3600000      A     128.8.10.90
.                        3600000      NS    E.ROOT-SERVERS.NET.
E.ROOT-SERVERS.NET.      3600000      A     192.203.230.10
.                        3600000      NS    F.ROOT-SERVERS.NET.
F.ROOT-SERVERS.NET.      3600000      A     192.5.5.241
.                        3600000      NS    G.ROOT-SERVERS.NET.
G.ROOT-SERVERS.NET.      3600000      A     192.112.36.4
.                        3600000      NS    H.ROOT-SERVERS.NET.
H.ROOT-SERVERS.NET.      3600000      A     128.63.2.53
.                        3600000      NS    I.ROOT-SERVERS.NET.
I.ROOT-SERVERS.NET.      3600000      A     192.36.148.17
.                        3600000      NS    J.ROOT-SERVERS.NET.
J.ROOT-SERVERS.NET.      3600000      A     198.41.0.10
.                        3600000      NS    K.ROOT-SERVERS.NET.
K.ROOT-SERVERS.NET.      3600000      A     193.0.14.129 
.                        3600000      NS    L.ROOT-SERVERS.NET.
L.ROOT-SERVERS.NET.      3600000      A     198.32.64.12
.                        3600000      NS    M.ROOT-SERVERS.NET.
M.ROOT-SERVERS.NET.      3600000      A     198.32.65.12

/var/named/zone/127.0.0

Definisce la configurazione per la rete 127.0.0.0, cioè quella del localhost.

@  IN  SOA   localhost.localdomain. root.localhost.localdomain. (
                 1998031800 ; Serial
                 28800      ; Refresh
                 7200       ; Retry
                 604800     ; Expire
                 86400 )    ; Minimum
       NS    localhost.localdomain.
1      PTR   localhost.localdomain.

La prima riga, SOA (Start Of Authority), è il preambolo del file. Si riferisce all'origine rappresentata dal simbolo @ (in questo caso @ rappresenta 0.0.127.in-addr.arpa) e definisce in particolare i dati seguenti:

l'elaboratore di provenienza che è localhost.localdomain indicato in modo assoluto, e per questo terminato con un punto;

l'indirizzo di posta elettronica della persona o del gruppo che mantiene il servizio di risoluzione dei nomi, e in questo caso, la notazione root.localhost.localdomain. si riferisce all'utente root@localhost.localdomain e l'indirizzo è assoluto perché termina con un punto;

il numero di serie, rappresentato in modo da comprendere la data (anno, mese, giorno), seguita da due cifre che permettono di esprimere la versione del giorno.

La seconda riga, NS (Name Server) indica il nome dell'elaboratore che offre il servizio di risoluzione dei nomi.

La terza riga, PTR, indica che l'indirizzo locale 1 del dominio 0.0.127.in-addr.arpa (cioè 1.0.0.127.in-addr.arpa, ovvero 127.0.0.1) è chiamato localhost.localdomain.

In pratica, tutto questo definisce servizio di risoluzione dei nomi che è in grado esclusivamente di interrogare i servizi del livello principale e di tradurre l'indirizzo 127.0.0.1 in localhost.localdomain.

75.1.3 Gestire anche la rete locale

Perché il servizio di risoluzione dei nomi sia in grado di gestire anche la rete locale, occorre che possa tradurre i nomi utilizzati nella rete locale in indirizzi IP e viceversa.

/etc/named.conf

Il file viene modificato in modo da fare riferimento ad altri due file:

/var/named/zone/brot.dg

per la trasformazione dei nomi di dominio appartenenti alla rete locale (brot.dg) in indirizzi IP;

/var/named/zone/192.168.1

per la trasformazione degli indirizzi IP appartenenti alla rete locale (192.168.1.0) in nomi di dominio.

options {
	directory "/var/named";
};
//
zone "." {
	type hint;
	file "named.root";
};
// 
zone "0.0.127.in-addr.arpa" {
	type master;
	file "zone/127.0.0";
};
zone "1.168.192.in-addr.arpa" {
	type master;
	file "zone/192.168.1";
};
zone "brot.dg" {
	type master;
	file "zone/brot.dg";
};

/etc/named.boot (obsoleto)

Questo file viene usato nelle versioni più vecchie di named. Quello che segue è il contenuto equivalente a quanto mostrato nel punto precedente.

directory                               /var/named
;
cache           .                       named.root
;
primary         0.0.127.in-addr.arpa    zone/127.0.0
primary         1.168.192.in-addr.arpa  zone/192.168.1
primary         brot.dg		 	zone/brot.dg

/var/named/zone/192.168.1

Definisce la configurazione per la rete locale 192.168.1.0.

@  IN  SOA   dinkel.brot.dg. root.dinkel.brot.dg.  (
                 1998031800 ; Serial
                 28800      ; Refresh
                 7200       ; Retry
                 604800     ; Expire
                 86400 )    ; Minimum
       NS    dinkel.brot.dg.

1      PTR   dinkel.brot.dg.
2      PTR   roggen.brot.dg.

In tal modo è possibile determinare che l'indirizzo 192.168.1.1 corrisponde a dinkel.brot.dg e che 192.168.1.2 corrisponde a roggen.brot.dg *2*

/var/named/zone/brot.dg

Definisce la configurazione per la rete locale brot.dg.

@  IN              SOA  dinkel.brot.dg. root.dinkel.brot.dg.  (
                               1998031800 ; Serial
                               28800      ; Refresh
                               7200       ; Retry
                               604800     ; Expire
                               86400 )    ; Minimum
                   NS   dinkel.brot.dg.

dinkel.brot.dg.    A    192.168.1.1
roggen.brot.dg.    A    192.168.1.2

In tal modo è possibile determinare che l'indirizzo dinkel.brot.dg corrisponde a 192.168.1.1 e che roggen.brot.dg corrisponde a 192.168.1.2

/var/named/zone/127.0.0

Dal momento che adesso l'elaboratore locale può essere identificato con un nome più significativo del semplice localhost, conviene modificare anche il file /var/named/zone/127.0.0, benché ciò non sia strettamente necessario.

@  IN  SOA   dinkel.brot.dg. root.dinkel.brot.dg.  (
                 1998031800 ; Serial
                 28800      ; Refresh
                 7200       ; Retry
                 604800     ; Expire
                 86400 )    ; Minimum
       NS    dinkel.brot.dg.

1      PTR   localhost.localdomain.

75.1.4 Gli altri elaboratori della rete

Gli altri elaboratori della rete locale, in questo caso solo roggen.brot.dg, fanno uso del servizio di risoluzione dei nomi offerto da dinkel.brot.dg, cioè 192.168.1.1, quindi il loro file /file/etc/resolv.conf deve contenere il riferimento a questo.

/etc/resolv.conf

nameserver 192.168.1.1

75.1.5 Gestire anche la posta elettronica locale

Per aggiungere anche l'indicazione di un server di posta elettronica, basta modificare il file /var/named/zone/brot.dg contenuto nell'elaboratore dinkel.brot.dg, aggiungendo la riga MX.

/var/named/zone/brot.dg

@  IN              SOA  dinkel.brot.dg. root.dinkel.brot.dg.  (
                               1998031800 ; Serial
                               28800      ; Refresh
                               7200       ; Retry
                               604800     ; Expire
                               86400 )    ; Minimum
                   NS   dinkel.brot.dg.

                   MX   10 dinkel.brot.dg.

dinkel.brot.dg.    A    192.168.1.1
roggen.brot.dg.    A    192.168.1.2

75.1.6 Gestire gli alias

Spesso è conveniente definire dei nomi fittizi riferiti a elaboratori che ne hanno già uno.

/var/named/zone/brot.dg

Viene modificato in modo da aggiungere gli alias www.brot.dg e ftp.brot.dg, che fanno riferimento sempre al solito dinkel.brot.dg che però svolge anche le funzioni di server HTTP e FTP.

@  IN             SOA    dinkel.brot.dg. root.dinkel.brot.dg. (
                               1998031800 ; Serial
                               28800      ; Refresh
                               7200       ; Retry
                               604800     ; Expire
                               86400 )    ; Minimum
                  NS     dinkel.brot.dg.

                  MX     10 dinkel.brot.dg.

www.brot.dg.      CNAME  dinkel.brot.dg.
ftp.brot.dg.      CNAME  dinkel.brot.dg.

dinkel.brot.dg.    A    192.168.1.1
roggen.brot.dg.    A    192.168.1.2

75.1.7 Isolamento dall'esterno

Se la rete locale funziona senza poter accedere alla rete Internet esterna, conviene evitare che si tenti di interrogare i servizi di risoluzione dei nomi del dominio principale. basta commentare la direttiva che attiva questa ricerca nel file /etc/named.conf.

/etc/named.conf

I commenti possono iniziare con una doppia barra obliqua, terminando così alla fine della riga, oppure possono essere indicati nella stessa forma del linguaggio C: /*...*/.

options {
	directory "/var/named";
};
//
// La zona root viene esclusa attraverso dei commenti
//zone "." {
//	type hint;
//	file "named.root";
//};
// 
zone "0.0.127.in-addr.arpa" {
	type master;
	file "zone/127.0.0";
};
zone "1.168.192.in-addr.arpa" {
	type master;
	file "zone/192.168.1";
};
zone "brot.dg" {
	type master;
	file "zone/brot.dg";
};

/etc/named.boot (obsoleto)

I commenti sono preceduti da un punto e virgola.

directory                               /var/named
; cache           .                       named.root
primary         0.0.127.in-addr.arpa    zone/127.0.0
primary         1.168.192.in-addr.arpa  zone/192.168.1
primary         brot.dg		 	zone/brot.dg

75.2 Strumenti e configurazione

Dopo l'esempio visto nella prima parte di questo capitolo, conviene riepilogare le competenze dei vari componenti che permettono la gestione del servizio di risoluzione dei nomi.

75.2.1 # named

named [<opzioni>] [[-b] <file-di-avvio>]

named è il demone che compie in pratica il servizio di risoluzione dei nomi. Si avvale di un file di avvio (o di configurazione) che in passato era /etc/named.boot e attualmente è invece /etc/named.conf. Eventualmente, se viene indicato un nome di file negli argomenti, viene utilizzato quel file invece di quello predefinito.

Nei sistemi in cui si attiva la gestione di un servizio di risoluzione dei nomi, named viene avviato dalla procedura di inizializzazione del sistema (init), ma può anche essere avviato manualmente.

Per conoscere maggiori dettagli conviene consultare named(8).

75.2.2 /etc/named.conf

Il file /etc/named.conf è il punto di partenza della configurazione di un servizio di risoluzione dei nomi attraverso named. Può contenere diversi tipi di direttive. L'esempio seguente mostra l'utilizzo di quelle più importanti.

options {
	directory "/var/named";
};
//
zone "." {
	type hint;
	file "named.root";
};
// 
zone "0.0.127.in-addr.arpa" {
	type master;
	file "zone/127.0.0";
};
zone "1.168.192.in-addr.arpa" {
	type master;
	file "zone/192.168.1";
};
zone "brot.dg" {
	type master;
	file "zone/brot.dg";
};

La direttiva options serve a definire una serie di opzioni di funzionamento. Nell'esempio viene dichiarata solo l'opzione directory che indica la collocazione predefinita di altri file usati per la configurazione del servizio di risoluzione dei nomi.

La direttiva zone "." {...} viene utilizzata per definire che per il dominio principale (rappresentato da un punto), si utilizza il file named.root (contenuto nella directory predefinita) e che questo viene messo in una memoria cache (type hint). Il dominio principale è quello di origine e il file named.root contiene gli indirizzi necessari a raggiungere i servizi di risoluzione dei nomi di quel dominio (cioè quelli di partenza). Il nome usato per il file named.root può cambiare da un sistema a un altro.

La terza direttiva definisce un file (zone/127.0.0) contenente informazioni autorevoli sulla rete 0.0.127.in-addr.arpa (127.0.0.0). In pratica, il file zone/127.0.0 serve per tradurre gli indirizzi di quella sottorete in nomi. Di solito si tratta solo di tradurre 127.0.0.1 in localhost.

La quarta direttiva definisce un file (zone/192.168.1) contenente informazioni autorevoli sulla rete 1.168.192.in-addr.arpa (192.168.1.0). In pratica, il file zone/192.168.1 serve per tradurre gli indirizzi di quella sottorete in nomi.

La quinta direttiva definisce un file (zone/brot.dg) contenente informazioni autorevoli sulla rete brot.dg (192.168.1.0, ma espressa per nome). In pratica, il file zone/brot.dg serve per tradurre i nomi di quella sottorete in indirizzi IP. All'interno di questo file possono essere anche indicati degli alias e dei server per la gestione della posta elettronica.

Si può osservare che manca una direttiva che punti a un file per la risoluzione del dominio localdomain. Dal momento che si tratta di un dominio fittizio riferito all'interno del proprio elaboratore, non è pensabile che un altro elaboratore tenti di accedervi. A questo punto, per la sua traduzione, è più che sufficiente la presenza del file /etc/hosts.

Il DNS utilizza una serie di protocolli, tra cui anche UDP. Se ci si trova a essere protetti da un firewall che esclude il transito dei pacchetti UDP, per poter interpellare gli altri servizi di risoluzione dei nomi delle zone che sono al di fuori della propria competenza locale, occorre aggiungere una direttiva che rinvia le richieste a un servizio esterno. Questa situazione può verificarsi quando la propria connessione a Internet avviene attraverso un ISP attento ai problemi di sicurezza e che usa questa politica di protezione. L'esempio seguente, per concludere, mostra in che modo espandere la direttiva options per aggiungere l'indicazione di un servizio di risoluzione dei nomi esterno a cui inoltrare le richieste.

options {
	directory "/var/named";
	forwarders {
		111.112.113.114;
	};
};
//
zone "." {
	type hint;
	file "named.root";
};
// 
//...

75.2.3 /var/named/named.root

Negli esempi visti fino a questo punto, il file /var/named/named.root (o /var/named/named.ca) è quello che definisce gli indirizzi dei servizi di risoluzione dei nomi a livello del dominio principale. Questi indirizzi cambiano nel tempo e questo file aggiornato è ottenibile presso l'URI ftp://ftp.rs.internic.net/domain/named.root. *3*

Segue un esempio di questo file.

;       This file holds the information on root name servers needed to
;       initialize cache of Internet domain name servers
;       (e.g. reference this file in the "cache  .  <file>"
;       configuration file of BIND domain name servers).
;
;       This file is made available by InterNIC registration services
;       under anonymous FTP as
;           file                /domain/named.root
;           on server           FTP.RS.INTERNIC.NET
;       -OR- under Gopher at    RS.INTERNIC.NET
;           under menu          InterNIC Registration Services (NSI)
;              submenu          InterNIC Registration Archives
;           file                named.root
;
;       last update:    May 19, 1997
;       related version of root zone:   1997051700
;
;
; formerly NS.INTERNIC.NET
;
.                        3600000  IN  NS    A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET.      3600000      A     198.41.0.4
;
; formerly NS1.ISI.EDU
;
.                        3600000      NS    B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET.      3600000      A     128.9.0.107
;
; formerly C.PSI.NET
;
.                        3600000      NS    C.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET.      3600000      A     192.33.4.12
;
; formerly TERP.UMD.EDU
;
.                        3600000      NS    D.ROOT-SERVERS.NET.
D.ROOT-SERVERS.NET.      3600000      A     128.8.10.90
;
; formerly NS.NASA.GOV
;
.                        3600000      NS    E.ROOT-SERVERS.NET.
E.ROOT-SERVERS.NET.      3600000      A     192.203.230.10
;
; formerly NS.ISC.ORG
;
.                        3600000      NS    F.ROOT-SERVERS.NET.
F.ROOT-SERVERS.NET.      3600000      A     192.5.5.241
;
; formerly NS.NIC.DDN.MIL
;
.                        3600000      NS    G.ROOT-SERVERS.NET.
G.ROOT-SERVERS.NET.      3600000      A     192.112.36.4
;
; formerly AOS.ARL.ARMY.MIL
;
.                        3600000      NS    H.ROOT-SERVERS.NET.
H.ROOT-SERVERS.NET.      3600000      A     128.63.2.53
;
; formerly NIC.NORDU.NET
;
.                        3600000      NS    I.ROOT-SERVERS.NET.
I.ROOT-SERVERS.NET.      3600000      A     192.36.148.17
;
; temporarily housed at NSI (InterNIC)
;
.                        3600000      NS    J.ROOT-SERVERS.NET.
J.ROOT-SERVERS.NET.      3600000      A     198.41.0.10
;
; housed in LINX, operated by RIPE NCC
;
.                        3600000      NS    K.ROOT-SERVERS.NET.
K.ROOT-SERVERS.NET.      3600000      A     193.0.14.129 
;
; temporarily housed at ISI (IANA)
;
.                        3600000      NS    L.ROOT-SERVERS.NET.
L.ROOT-SERVERS.NET.      3600000      A     198.32.64.12
;
; temporarily housed at ISI (IANA)
;
.                        3600000      NS    M.ROOT-SERVERS.NET.
M.ROOT-SERVERS.NET.      3600000      A     198.32.65.12
; End of File

75.2.4 $ nslookup

nslookup [<opzioni>] [<host-da-trovare> | - <server> ]

nslookup è un programma in grado di interrogare un servizio di risoluzione dei nomi. Ha due modalità di funzionamento: interattiva e non interattiva. Nel primo caso, il programma offre un prompt attraverso il quale inserire dei comandi, nel secondo tutto si svolge attraverso l'uso di argomenti nella riga di comando.

La modalità interattiva si ottiene quando:

non vengono forniti argomenti e di conseguenza viene utilizzato il servizio di risoluzione dei nomi predefinito attraverso il file /etc/resolv.conf;

il primo argomento è un trattino (-) e il secondo è il nome o l'indirizzo necessario a raggiungere un servizio di risoluzione dei nomi.

La modalità non interattiva viene utilizzata quando il nome o l'indirizzo di un nodo da cercare viene indicato come primo argomento. In tal caso, il secondo argomento opzionale è il nome o l'indirizzo per raggiungere un servizio di risoluzione dei nomi.

È possibile configurare il programma creando il file ~/.nslookuprc, contenente una serie di righe corrispondenti a opzioni del comando set di nslookup. Nello stesso modo, si possono indicare tali opzioni del comando set nella riga di comando, facendole precedere da un trattino.

Vedere nslookup(8).

Alcuni comandi interattivi

Quando si avvia nslookup in modo interattivo, questo si comporta in modo simile a una shell. In particolare, i comandi che si traducono in un'emissione di informazioni sullo schermo, permettono l'uso dei simboli > e >> per la ridirezione in un file, rispettivamente in sovrascrittura e in aggiunta. Inoltre, è possibile utilizzare la combinazione di tasti [Ctrl+c] per interrompere una richiesta. Il prompt è un semplice simbolo di maggiore.

>

Segue un elenco parziale dei comandi disponibili.

---------

help | ?

Emette un breve riassunto dei comandi disponibili.

exit

Conclude il funzionamento di nslookup.

<elaboratore-host> [<elaboratore-host>]

L'indicazione del nome di dominio o del numero IP di un elaboratore equivale alla richiesta di informazioni su quell'elaboratore. Se subito dopo viene indicato l'indirizzo di un altro elaboratore, si intende inviare questa richiesta a un servizio DNS ospitato presso quell'elaboratore particolare, invece di utilizzare il servizio predefinito.

ls [<opzioni>] <dominio> [> <file> | >> <file>]

Elenca le informazioni disponibili sul dominio indicato. Se non vengono fornite opzioni sono emessi i nomi e i rispettivi indirizzi numerici. Le opzioni ammissibili sono in particolare le seguenti:

-t <tipo>

elenca i record del tipo specificato;

-a

elenca gli alias (equivale a -t CNAME);

-d

elenca tutti i record (equivale a -t ANY).

server <dominio>

Cambia l'indicazione del servizio di risoluzione dei nomi predefinito, ovvero quello che viene interpellato se non si indica diversamente nel comando di richiesta di risoluzione di un indirizzo.

set <nome>[=<valore>]

Il comando set permette di definire una serie di opzioni di funzionamento di nslookup. Alcune di queste sono valide solo in quanto nominate dopo il comando set, altre richiedono l'assegnamento di un valore.

Quando nslookup viene usato in modo non interattivo, è possibile indicare delle opzioni del comando set, utilizzandole come se fossero opzioni della riga di comando, e per questo composte con un trattino iniziale.

set all

Emette la configurazione attuale di una serie di valori.

set class=<valore> | set cl=<valore>

Cambia la classe di richiesta. Il valore predefinito è IN (InterNet). Si possono utilizzare anche altri tipi di classi, in particolare ANY che si riferisce indistintamente a tutte.

set querytype=<valore> | set type=<valore> | set q=<valore> | set ty=<valore>

Cambia il tipo di richiesta di informazioni. Tra gli altri, potrebbe trattarsi di:

A   l'indirizzo Internet di un nodo (predefinito);

CNAME   il nome canonico per un alias;

NS   il nodo che offre il servizio di risoluzione dei nomi per la zona indicata;

ANY   tutte le informazioni.

Alcune opzioni

Le opzioni della riga di comando corrispondono alle opzioni del comando set.

---------

-all

Emette la configurazione attuale di una serie di valori.

-class=<valore> | -cl=<valore>

Cambia la classe di richiesta.

-querytype=<valore> | -type=<valore> | -q=<valore> | -ty=<valore>

Cambia il tipo di richiesta di informazioni.

Esempi

nslookup

Avvia nslookup in modalità interattiva. Per terminare si utilizza il comando exit.

nslookup 192.168.1.2

Restituisce il nome e l'indirizzo Internet corrispondente al nodo indicato attraverso il numero IP.

nslookup roggen.brot.dg.

Restituisce il nome e l'indirizzo Internet corrispondente al nodo indicato attraverso il nome di dominio completo.

nslookup roggen.brot.dg. ns2.brot.dg

Interpella il servizio di risoluzione dei nomi offerto dall'elaboratore ns2.brot.dg per ottenere le informazioni su roggen.brot.dg (indicato in modo assoluto).

nslookup - ns2.brot.dg

Avvia nslookup in modalità interattiva, interpellando il servizio di risoluzione dei nomi presso ns2.brot.dg.

nslookup -q=ns brot.dg

Richiede l'indicazione del servizio di risoluzione dei nomi competente per il dominio brot.dg.

nslookup -q=any brot.dg

Richiede l'indicazione di tutte le informazioni disponibili sul dominio brot.dg.

Alcune versioni di qualche distribuzione GNU/Linux contengono un'edizione di nslookup non troppo ben funzionante. In particolare, risulta difficoltoso l'inserimento di nomi di dominio assoluti per mezzo del punto finale. In quel caso, si può provare a utilizzare nomi di dominio assoluti, senza il punto finale.

75.2.5 # ndc

ndc <direttiva>...

ndc è un programma (in forma di script) che permette di inviare diversi tipi di segnali a named, il demone per la gestione del servizio di risoluzione dei nomi. *4*

Alcune direttive

start

Avvia named se non è già in funzione.

stop

Termina l'esecuzione di named se è in funzione.

restart

Termina l'esecuzione e quindi riavvia named.

---------------------------

Appunti Linux 1999.07.12 --- Copyright © 1997-1999 Daniele Giacomini --  daniele @ evo.it

1.) Recentemente ci sono stati cambiamenti nel nome e nel formato del file di configurazione iniziale: al posto del vecchio /etc/named.boot si utilizza /etc/named.conf che ha una sintassi differente dal primo.

2.) I nomi di dominio sono completi (FQDN) perché sono indicati con un punto finale.

3.) Alla fine del capitolo viene mostrato come ottenere un equivalente di questo file senza dover utilizzare il protocollo FTP che, se usato da tutti, genererebbe un carico insopportabile per il servizio offerto da ftp.rs.internic.net.

4.) Se non si dispone di ndc, per fare in modo che named prenda in considerazione delle eventuali modifiche apportate ai file di configurazione, si può inviare un segnale SIGHUP al processo corrispondente, oppure lo si può interrompere e riavviare manualmente. Naturalmente, conviene evitare di agire in questo modo se esiste lo script.

[indice generale] [precedente] [successivo] [indice analitico] [note introduttive]