Sophie

Sophie

distrib > Mandriva > 9.1 > i586 > by-pkgid > f1098342ec4a2b28475e34123ce17201 > files > 156

howto-html-it-9.1-0.5mdk.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
 <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
 <TITLE>DNS HOWTO: Esempio di un vero dominio</TITLE>
 <LINK HREF="DNS-HOWTO-8.html" REL=next>
 <LINK HREF="DNS-HOWTO-6.html" REL=previous>
 <LINK HREF="DNS-HOWTO.html#toc7" REL=contents>
</HEAD>
<BODY>
<A HREF="DNS-HOWTO-8.html">Avanti</A>
<A HREF="DNS-HOWTO-6.html">Indietro</A>
<A HREF="DNS-HOWTO.html#toc7">Indice</A>
<HR>
<H2><A NAME="real-example"></A> <A NAME="s7">7. Esempio di un vero dominio</A></H2>

<P><B>Dove si elencano alcuni <EM>veri</EM> file di zona</B>
<P>
<P>Gli utenti mi hanno suggerito di includere un esempio reale di un
dominio funzionante come tutorial.
<P>
<P>Utilizzo questo esempio col permesso concessomi da
David Bullock di LAND-5. Questi file risalgono al 24 Settembre 1996,
successivamente vennero da me modificati perch&eacute; si adattassero alle
restrizioni di bind 8 e perch&eacute; comprendessero delle estensioni. Questo
implica che quello che leggerete qui differisce un po' da quello che
otterreste facendo un'interrogazione sul name server di LAND-5.
<P>
<H2><A NAME="ss7.1">7.1 /etc/named.conf (o /var/named/named.conf)</A>
</H2>

<P>Qui troveremo le sezioni relative alle due zone inverse richieste:
la rete 127.0.0, e la sottorete LAND-5 <CODE>206.6.177</CODE>. Poi c'&egrave; la riga
relativa alla zona di forward per land-5, <CODE>land-5.com</CODE>. Si noti come
i file siano stati sistemati nella directory chiamata <CODE>zone</CODE> anzich&eacute;
in <CODE>pz</CODE> come ho fatto in questo HOWTO.
<P>
<P>
<HR>
<PRE>
// Boot file for LAND-5 name server

options {
        directory "/var/named";
};

controls {
        inet 127.0.0.1 allow { localhost; } keys { rndc_key; };
};

key "rndc_key" {
        algorithm hmac-md5;
        secret "c3Ryb25nIGVub3VnaCBmb3IgYSBtYW4gYnV0IG1hZGUgZm9yIGEgd29tYW4K";
};

zone "." {
        type hint;
        file "root.hints";
};

zone "0.0.127.in-addr.arpa" {
        type master;
        file "zone/127.0.0";
};

zone "land-5.com" {
        type master;
        file "zone/land-5.com";
};

zone "177.6.206.in-addr.arpa" {
        type master;
        file "zone/206.6.177";
};
</PRE>
<HR>
<P>
<P>
<P>Se aveste intenzione di usare queste righe nel vostro named.conf (ma
solo per gioco) <B>PER FAVORE</B> mettete "<CODE>notify no;</CODE>" nelle sezioni
relative alle due zone <CODE>land-5</CODE> cos&igrave; da evitare incidenti.
<P>
<H2><A NAME="ss7.2">7.2 /var/named/root.hints</A>
</H2>

<P>Tenete a mente che questo &egrave; un file dinamico, quello che trovate qui &egrave;
sorpassato. &Egrave; meglio che ve ne procuriate uno recente, con dig, come
verr&agrave; presto spiegato.
<P>
<HR>
<PRE>
; &lt;&lt;>> DiG 8.1 &lt;&lt;>> @A.ROOT-SERVERS.NET.
; (1 server found)
;; res options: init recurs defnam dnsrch
;; got answer:
;; ->>HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 10
;; flags: qr aa rd; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 13
;; QUERY SECTION:
;;      ., type = NS, class = IN

;; ANSWER SECTION:
.                       6D IN NS        G.ROOT-SERVERS.NET.
.                       6D IN NS        J.ROOT-SERVERS.NET.
.                       6D IN NS        K.ROOT-SERVERS.NET.
.                       6D IN NS        L.ROOT-SERVERS.NET.
.                       6D IN NS        M.ROOT-SERVERS.NET.
.                       6D IN NS        A.ROOT-SERVERS.NET.
.                       6D IN NS        H.ROOT-SERVERS.NET.
.                       6D IN NS        B.ROOT-SERVERS.NET.
.                       6D IN NS        C.ROOT-SERVERS.NET.
.                       6D IN NS        D.ROOT-SERVERS.NET.
.                       6D IN NS        E.ROOT-SERVERS.NET.
.                       6D IN NS        I.ROOT-SERVERS.NET.
.                       6D IN NS        F.ROOT-SERVERS.NET.

;; ADDITIONAL SECTION:
G.ROOT-SERVERS.NET.     5w6d16h IN A    192.112.36.4
J.ROOT-SERVERS.NET.     5w6d16h IN A    198.41.0.10
K.ROOT-SERVERS.NET.     5w6d16h IN A    193.0.14.129
L.ROOT-SERVERS.NET.     5w6d16h IN A    198.32.64.12
M.ROOT-SERVERS.NET.     5w6d16h IN A    202.12.27.33
A.ROOT-SERVERS.NET.     5w6d16h IN A    198.41.0.4
H.ROOT-SERVERS.NET.     5w6d16h IN A    128.63.2.53
B.ROOT-SERVERS.NET.     5w6d16h IN A    128.9.0.107
C.ROOT-SERVERS.NET.     5w6d16h IN A    192.33.4.12
D.ROOT-SERVERS.NET.     5w6d16h IN A    128.8.10.90
E.ROOT-SERVERS.NET.     5w6d16h IN A    192.203.230.10
I.ROOT-SERVERS.NET.     5w6d16h IN A    192.36.148.17
F.ROOT-SERVERS.NET.     5w6d16h IN A    192.5.5.241

;; Total query time: 215 msec
;; FROM: roke.uio.no to SERVER: A.ROOT-SERVERS.NET.  198.41.0.4
;; WHEN: Sun Feb 15 01:22:51 1998
;; MSG SIZE  sent: 17  rcvd: 436
</PRE>
<HR>
<P>
<H2><A NAME="ss7.3">7.3 /var/named/zone/127.0.0</A>
</H2>

<P>Solo lo stretto necessario, il record obbligatorio SOA e un record
che mette in corrispondenza 127.0.0.1 con <CODE>localhost</CODE>. Entrambi sono
richiesti. Non deve esserci nient'altro in questo file. Probabilmente non
ci sar&agrave; mai bisogno di aggiornare questo file, a meno che non cambino
gli indirizzi del name server o del responsabile.
<P>
<HR>
<PRE>
@               IN      SOA     land-5.com. root.land-5.com. (
                                199609203       ; Serial
                                28800   ; Refresh
                                7200    ; Retry
                                604800  ; Expire
                                86400)  ; Minimum TTL
                        NS      land-5.com.

1                       PTR     localhost.
</PRE>
<HR>
<P>
<P>Se date uno sguardo a diverse installazioni di BIND noterete
che la riga <CODE>$TTL</CODE> &egrave; assente a volte, come in questo caso. Prima non veniva
utilizzata, solo dalla versione 8.2 BIND ha iniziato ad emettere un avviso in
caso di sua assenza. BIND 9 <EM>richiede</EM> la riga <CODE>$TTL</CODE>.
<P>
<H2><A NAME="ss7.4">7.4 /var/named/zone/land-5.com</A>
</H2>

<P>Qui possiamo vedere il record obbligatorio SOA e i record NS
richiesti. Si pu&ograve; vedere che &egrave; presente un name server secondario in
<CODE>ns2.psi.net</CODE>. Questo &egrave; come dovrebbe essere, &egrave; bene avere
<EM>sempre</EM> un server secondario fuori dalla vostra rete che faccia da
backup. Si pu&ograve; notare anche la presenza di un host principale chiamato
<CODE>land-5</CODE> che si prende cura della maggior parte dei servizi Internet,
questo &egrave; fatto tramite i record CNAME (alternativamente si possono usare
i record A).
<P>
<P>Come si pu&ograve; vedere dal record SOA, il file di zona comincia con
<CODE>land-5.com</CODE>, la persona da contattare &egrave; <CODE>root@land-5.com</CODE>.
Anche <CODE>hostmaster</CODE> &egrave; spesso utilizzato per il responsabile di zona.
Il numero di serie &egrave; nel formato standard aaaammgg con il numero di
versione giornaliera a seguire, perci&ograve; si tratta forse della sesta versione
del file di zona del 20 settembre 1996.
Ricordate che il numero di serie <EM>deve</EM> essere incrementato in maniera
monotonica, qui viene usata <EM>una sola</EM> cifra per il numero di versione
giornaliera, cos&igrave; dopo 9 volte che si &egrave; modificato il file bisogna aspettare
il giorno successivo prima di poterlo modificare di nuovo. Comunque considerate
che si possono usare 2 cifre.
<P>
<HR>
<PRE>
$TTL 3D
@       IN      SOA     land-5.com. root.land-5.com. (
                        199609206       ; serial, todays date + todays serial #
                        8H              ; refresh, seconds
                        2H              ; retry, seconds
                        1W              ; expire, seconds
                        1D )            ; minimum, seconds
                NS      land-5.com.
                NS      ns2.psi.net.
                MX      10 land-5.com.  ; Primary Mail Exchanger
                TXT     "LAND-5 Corporation"

localhost       A       127.0.0.1

router          A       206.6.177.1

land-5.com.     A       206.6.177.2
ns              A       206.6.177.3
www             A       207.159.141.192

ftp             CNAME   land-5.com.
mail            CNAME   land-5.com.
news            CNAME   land-5.com.

funn            A       206.6.177.2

;
;       Workstations
;
ws-177200       A       206.6.177.200
                MX      10 land-5.com.   ; Primary Mail Host
ws-177201       A       206.6.177.201
                MX      10 land-5.com.   ; Primary Mail Host
ws-177202       A       206.6.177.202
                MX      10 land-5.com.   ; Primary Mail Host
ws-177203       A       206.6.177.203
                MX      10 land-5.com.   ; Primary Mail Host
ws-177204       A       206.6.177.204
                MX      10 land-5.com.   ; Primary Mail Host
ws-177205       A       206.6.177.205
                MX      10 land-5.com.   ; Primary Mail Host
; {Many repetitive definitions deleted - SNIP}
ws-177250       A       206.6.177.250
                MX      10 land-5.com.   ; Primary Mail Host
ws-177251       A       206.6.177.251
                MX      10 land-5.com.   ; Primary Mail Host
ws-177252       A       206.6.177.252
                MX      10 land-5.com.   ; Primary Mail Host
ws-177253       A       206.6.177.253
                MX      10 land-5.com.   ; Primary Mail Host
ws-177254       A       206.6.177.254
                MX      10 land-5.com.   ; Primary Mail Host
</PRE>
<HR>
<P>
<P>Esaminando i name server di land-5 scoprirete che gli host hanno un
nome del tipo <CODE>ws_</CODE><EM>numero</EM>. Con le ultime versioni di bind-4 
named ha iniziato a porre delle restrizioni sui caratteri che potevano
essere usati nei nomi di host. In questo HOWTO io ho sostituito "-"
(trattino) con "_" (trattino basso) in modo da uniformarmi alle regole
di bind-8 per i nomi di host. Ma, come ho detto prima, BIND 9 non 
obbliga pi&ugrave; a questa restrizione.
<P>
<P>Un'altra cosa da notare &egrave; che le workstation non hanno nomi
individuali, ma un prefisso seguito dalle ultime due parti del numero
IP. Usare delle convenzioni simili pu&ograve; semplificare significativamente
la manutenzione, ma pu&ograve; risultare impersonale e in effetti potrebbe
anche irritare i vostri clienti.
<P>
<P>Vediamo anche che <CODE>funn.land-5.com</CODE> &egrave; un alias per
<CODE>land-5.com</CODE>, ma ci&ograve; &egrave; fatto tramite un record A, non con un
record CNAME. 
<P>
<H2><A NAME="ss7.5">7.5 /var/named/zone/206.6.177</A>
</H2>

<P>Commenter&ograve; questo file pi&ugrave; sotto.
<P>
<HR>
<PRE>
$TTL 3D
@               IN      SOA     land-5.com. root.land-5.com. (
                                199609206       ; Serial
                                28800   ; Refresh
                                7200    ; Retry
                                604800  ; Expire
                                86400)  ; Minimum TTL
                        NS      land-5.com.
                        NS      ns2.psi.net.
;
;       Servers
;
1       PTR     router.land-5.com.
2       PTR     land-5.com.
2       PTR     funn.land-5.com.
;
;       Workstations
;
200     PTR     ws-177200.land-5.com.
201     PTR     ws-177201.land-5.com.
202     PTR     ws-177202.land-5.com.
203     PTR     ws-177203.land-5.com.
204     PTR     ws-177204.land-5.com.
205     PTR     ws-177205.land-5.com.
; {Many repetitive definitions deleted - SNIP}
250     PTR     ws-177250.land-5.com.
251     PTR     ws-177251.land-5.com.
252     PTR     ws-177252.land-5.com.
253     PTR     ws-177253.land-5.com.
254     PTR     ws-177254.land-5.com.
</PRE>
<HR>
<P>
<P>La zona inversa costituisce la fase della configurazione che causa pi&ugrave;
grane. Essa serve a ricavare il nome di un host dall'indirizzo IP di una
macchina. Esempio: voi siete un server IRC e accettate connessioni dai
client IRC. Inoltre siete un server IRC norvegese a volete che queste
connessioni provengano da client norvegesi o da altre nazioni
scandinave. Quando ricevete una richiesta di connessione da un client la
libreria C &egrave; in grado di dirvi il numero IP della macchina che sta
tentando la connessione, poich&eacute; il numero IP del client &egrave; contenuto in
ogni pacchetto che attraversa la rete. A questo punto potrete chiamare
una funzione chiamata gethostbyaddr che ricava il nome di un host a
partire dal suo indirizzo IP. Gethostbyaddr interrogher&agrave; un server DNS,
il quale attraverser&agrave; il DNS in cerca della macchina. Supponiamo che il
client si connetta da ws-177200.land-5.com. La libreria C presente nel
server ricava il numero IP del client che tenta la connessione, in
questo caso &egrave; 206.6.177.200. Per scoprire il nome di questa macchina
bisogna prima scoprire <CODE>200.177.6.206.in-addr.arpa</CODE>. Il server DNS
trover&agrave; prima i server <CODE>arpa.</CODE>, poi trover&agrave; i server
<CODE>in-addr.arpa.</CODE>, seguendo il percorso inverso passando per 206,
poi per 6 e alla fine trover&agrave; il server responsabile per la zona
<CODE>177.6.206.in-addr.arpa</CODE> presso LAND-5.
Da questo finalmente si potr&agrave; ricavare che in <CODE>200.177.6.206.in-addr.arpa</CODE>
c'&egrave; un record "<CODE>PTR  ws-177200.land-5.com</CODE>", questo
significa che il nome associato a <CODE>206.6.177.200</CODE> &egrave;
<CODE>ws-177200.land-5.com</CODE>.
<P>
<P>Il server FTP accetta connessioni solo da paesi scandinavi, 
ovvero <CODE>*.no</CODE>, <CODE>*.se</CODE>, <CODE>*.dk</CODE> il nome <CODE>ws-177200.land-5.com</CODE> 
non corrisponde a nessuno di questi ovviamente e il server metter&agrave; tale
connessione in una classe di connessioni con meno banda e meno connessioni
disponibili. Se <EM>non</EM> ci fosse la corrispondenza inversa 
di <CODE>206.2.177.200</CODE> tramite la zona <CODE>in-addr.arpa</CODE> il server sarebbe 
incapace di scoprire il nome e avrebbe dovuto comparare <CODE>206.2.177.200</CODE> 
con <CODE>*.no</CODE>, <CODE>*.se</CODE> e <CODE>*.dk</CODE>, senza trovare nessuna corrispondenza,
esso pu&ograve; anche negare la connessione completamente per assenza di 
classificazione.
<P>
<P>Alcune persone vi diranno che la mappatura della risoluzione inversa
&egrave; importante solo per i server, o per nulla importante. Non &egrave; cos&igrave;:
molti server ftp, news, IRC e anche qualche server http (WEB) <EM>non</EM>
accetteranno connessioni da macchine per le quali non riescono a
trovare il nome. Quindi la mappatura inversa diventa di fatto
<EM>obbligatoria</EM>.
<P>
<HR>
<A HREF="DNS-HOWTO-8.html">Avanti</A>
<A HREF="DNS-HOWTO-6.html">Indietro</A>
<A HREF="DNS-HOWTO.html#toc7">Indice</A>
</BODY>
</HTML>