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?
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?
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 |
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.