13.3 Tool DNS

Domain Name Service (in breve DNS) è quel protocollo magico che ti permette di tradurre nomi di dominio come www.slackware.com in indirizzi IP come 64.57.102.34. I computer non possono instradare i pacchetti verso un nome di dominio (in questo caso www.slackware.com), ma possono instradare pacchetti verso l'indirizzo IP relativo al nome. I nomi rappresentano un modo molto comodo per ricordare le macchine. Senza DNS dovremmo ricordare a memoria quale sia l'indirizzo IP dei computer che vogliamo raggiungere, assumendo per giunta che questo indirizzo non cambi mai. Chiaramente assegnare nomi ai computer rende la memorizzazione molto più semplice, ma come associamo i nomi agli indirizzi IP?

13.3.1 host

Il comando host(1) può fare questo per te. host viene usato per associare nomi ad indirizzi IP. Èuna utility molto rapida e semplice, con poche funzioni.

% host www.slackware.com
www.slackware.com is an alias for slackware.com.
slackware.com has address 64.57.102.34

Assumiamo che per qualche ragione ci interessi associare un indirizzo IP ad un nome di dominio; in questo caso cosa facciamo?

13.3.2 nslookup

nslookup è un programma consolidato che esiste da tantissimo tempo. nslookup è però superato, e potrebbe essere rimosso nelle future versioni della distribuzione. Non esiste neanche una man page per questo programma.

% nslookup 64.57.102.34
Note:  nslookup is deprecated and may be removed from future releases.
Consider using the `dig' or `host' programs instead.  Run nslookup with
the `-sil[ent]' option to prevent this message from appearing.
Server:         192.168.1.254
Address:        192.168.1.254#53

Non-authoritative answer:
www.slackware.com       canonical name = slackware.com.
Name:   slackware.com
Address: 64.57.102.34

13.3.3 dig

Il domain information groper, dig(1) in breve, è il programma a cui affidarsi per recuperare informazioni DNS. dig può effettuare ricerche di ogni tipo sui server DNS, inclusi reverse lookup, A, CNAME, MX, SP e record TXT. dig ha numerose opzioni a riga di comando; se non hai familiarità con questo programma, ti consigliamo di leggere la sua ampia man page.

% dig @192.168.1.254 www.slackware.com mx

; <<>> DiG 9.2.2 <<>> @192.168.1.254 www.slackware.com mx
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26362
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;www.slackware.com.             IN      MX

;; ANSWER SECTION:
www.slackware.com.      76634   IN      CNAME   slackware.com.
slackware.com.          86400   IN      MX      1 mail.slackware.com.

;; AUTHORITY SECTION:
slackware.com.          86400   IN      NS      ns1.cwo.com.
slackware.com.          86400   IN      NS      ns2.cwo.com.

;; ADDITIONAL SECTION:
ns1.cwo.com.            163033  IN      A       64.57.100.2
ns2.cwo.com.            163033  IN      A       64.57.100.3

;; Query time: 149 msec
;; SERVER: 192.168.1.254#53(192.168.1.254)
;; WHEN: Sat Nov  6 16:59:31 2004
;; MSG SIZE  rcvd: 159

Quanto visto sopra dovrebbe darti un'idea di come funziona dig. “@192.168.1.254” specifica il server dns da usare. “www.slackware.com” è il nome di dominio per cui deve effettuare la ricerca, e “mx” è il tipo di lookup che deve essere effettuato. La query mostrata sopra ci mostra come le email inviate a www.slackware.com vengano invece inviate a mail.slackware.com per giungere a destinazione.