Servono due tipi di file zona: uno per attribuire un indirizzo IP al nome di un host e l'altro per fare l'esatto contrario, cioè allocare un nome host ad un determinato indirizzo IP.
![]() | Il punto (.) nei file zona |
|---|---|
D'importanza fondamentale è il | |
Osserviamo ora il file zona mondo.zone responsabile
per il dominio Domain mondo.all
mostrato nell'Esempio 40.6, «File /var/lib/named/mondo.zone».
Esempio 40.6. File /var/lib/named/mondo.zone
$TTL 2D
mondo.all IN SOA gateway root.mondo.all.(
2003072441 ; serial
1D ; refresh
2H ; retry
1W ; expiry
2D ) ; minimum
IN NS gateway
IN MX 10 sole
gateway IN A 192.168.0.1
IN A 192.168.1.1
sole IN A 192.168.0.2
luna IN A 192.168.0.3
terra IN A 192.168.1.2
marte IN A 192.168.1.3
www IN CNAME luna
$TTL definisce il TTL standard (ingl.
Time To Live), ovvero la scandenza valida per
l'intero contenuto di questo file: due giorni, in questo caso 2D= 2
days)..
Ha inizio qui il SOA control record (SOA = Start of
Authority):
Al primo posto vi è il nome del dominio da amministrare
mondo.all, con un . alla
fine, per evitare che venga aggiunta la zona una seconda volta.
Alternativamente, si può digitare una chiocciola @,
in questo caso la zona viene evinta dalla rispettiva registrazione in
/etc/named.conf.
Dopo l'IN SOA, abbiamo il nome del server
dei nomi, responsabile per questa zona in funzione di master. In
questo caso, il nome gateway, diventa
automaticamente gateway.mondo.all,
perché non seguito da un ..
Segue l'indirizzo e-mail della persona responsabile per il server
dei nomi. Dal momento che la chiocciola @ possiede
già un significato particolare, si aggiungerà semplicemente un
., di modo che, al posto di
root@mondo.all avremo
root.mondo.all.; non dimenticate il punto alla
fine, altrimenti viene aggiunta la zona una seconda volta.
Alla fine abbiamo una (, per includere i righi
seguenti fino alla seconda ) nella istruzione
SOA.
Il numero di serie è una cifra arbitraria, da
aumentare ogni volta che si modifica questo file. Questa cifra serve ad
informare server dei nomi secondari (server slave) che sono state
effettuate delle modifiche. Di solito, si usa un numero di dieci cifre
composto da una data e da un numero progressivo, nella forma
AAAAMMGGNN.
Il refresh rate indica l'intervallo di tempo
trascorso il quale i server dei nomi secondari verificano il
numero di serie della zona. In questo caso, si
ha 1 giorno (1D = 1 day).
Il retry rate indica l'intervallo di tempo trascorso
il quale un name server secondario, in caso di errore, cerca di
ristabilire il contatto con il server primario. In questo caso, due ore
(2H = 2 hours).
L'expiration time indica quanto tempo debba
passare prima che il server dei nomi secondario espelli i dati dalla
cache, se non riesce a ristabilire il contatto con il server primario.
In questo caso, una settimana (1W = 1 week).
Con negative caching TTL si conclude l'SOA, che
indica per quanto tempo i risultati delle richieste DNS di altri server irrisolte debbano restare nella cache.
L'IN NS indica il server dei nomi responsabile
per questo dominio. Anche in questo caso,
gateway diventa
automaticamente gateway.mondo.all, poiché non vi è
un . alla fine. Vi possono essere diverse righe del
genere: una per il server dei nomi primario e una per ogni server dei
nomi secondario. Se per questa zona notify in
/etc/named.conf non è impostato su
no, verranno informati tutti i server dei nomi
qui elencati delle modifiche apportate ai dati delle zone.
La registrazione MX indica il server di posta che accetta le e-mail per
il dominio mondo.all, per poi
elaborarle o inoltrarle. In quest'esempio, si tratta dell'host
sole.mondo.all. Il numero
davanti al server dei nomi è il valore di preferenza: se vi sono più
indicazioni MX, si prenderà per primo il server di posta con il valore
minore; se la consegna a questo server fallisce, si prova con il
prossimo valore.
Le registrazioni degli indirizzi (ingl. Address
Records), dove il nome dell'host viene attribuito ad uno
o più indirizzi IP. In questo caso, i nomi vengono riportati senza un
punto alla fine, dal momento che sono registrati senza il relativo
dominio e che in questo caso è possibile aggiungere a tutti mondo.all. A gateway sono stati attribuiti due
indirizzi IP, dacché dispone di due schede di rete. A
sta per un indirizzo host tradizionale; con A6 si
immettono indirizzi IPv6 e AAAA è il formato ormai
superato per indirizzi IPv6.
Impostare un alias per www, p.es
luna
(CNAME =
canonical name ovvero nome canonico).
Per la risoluzione inversa (ingl. reverse
lookup) degli indirizzi IP in nomi
di host si ricorre allo pseudo-dominio
in-addr.arpa che viene
aggiunto all'indirizzo scritto alla rovescia. Quindi,
192.168.1 diventa
1.168.192.in-addr.arpa. Si
veda l'Esempio 40.7, «Risoluzione inversa dell'indirizzo».
Esempio 40.7. Risoluzione inversa dell'indirizzo
$TTL 2D
1.168.192.in-addr.arpa. IN SOA gateway.mondo.all. root.mondo.all. (
2003072441 ; serial
1D ; refresh
2H ; retry
1W ; expiry
2D ) ; minimum
IN NS gateway.mondo.all.
1 IN PTR gateway.mondo.all.
2 IN PTR terra.mondo.all.
3 IN PTR marte.mondo.all.
$TTL definisce il TTL di default valido per tutte le voci.
Questo file permette il «reverse lookup» per la rete
192.168.1.0. Dal
momento che la zona del caso è 1.168.192.in-addr.arpa
, non la si vorrà aggiungere al nome del server: per questo
motivo, i nomi sono tutti completi di dominio e punto finale. Il resto
corrisponde all'esempio dato per mondo.all.
si veda l'esempio di mondo.all.
Questa riga indica nuovamente il server dei nomi responsabile per questa zona. Questa volta, però, il nome viene riportato completo di dominio e punto finale.
Le registrazioni pointer (puntatore) puntano sull' indirizzo IP del
relativo host. All'inizio della riga trovate solo la parte finale
dell'indirizzo, senza . finale. Se ora aggiungete la
zona e togliete .in-addr.arpa, avrete l'indirizzo IP
completo, scritto alla rovescia.
Il trasferimento di zone tra le diverse versioni di BIND di solito non dovrebbe creare dei problemi.