20.5. File zone

Sono necessari due tipi di file zone. Un file assegna gli indirizzi IP ai nomi degli host mentre l'altro fa esattamente l'opposto, ossia fornisce un nome host per un indirizzo IP.

[Tip]Uso del simbolo punto nei file delle zone

Il simbolo . ha un significato molto importante per i file delle zone. Se i nomi degli host vengono specificati senza un . finale, la zona viene aggiunta. I nomi degli host completi con un nome di dominio completo devono terminare con . per evitare che il dominio venga nuovamente aggiunto. L'assenza o il posizionamento errato del punto è una delle cause più frequenti degli errori di configurazione dei server dei nomi.

Il primo caso da considerare è il file zone world.zone responsabile del dominio world.cosmos mostrato nell'Esempio 20.6, "File /var/lib/named/world.zone".

Esempio 20.6. File /var/lib/named/world.zone

$TTL 2D
world.cosmos. IN SOA      gateway  root.world.cosmos. (
            2003072441  ; serial
            1D          ; refresh
            2H          ; retry
            1W          ; expiry
            2D )        ; minimum

            IN NS       gateway
            IN MX       10 sun

gateway     IN A        192.168.0.1
            IN A        192.168.1.1
sun         IN A        192.168.0.2
moon        IN A        192.168.0.3
earth       IN A        192.168.1.2
mars        IN A        192.168.1.3
www         IN CNAME    moon
Riga 1

$TTL definisce per quanto tempo sono valide le voci del file. Nell'esempio le voci hanno una validità di default di due giorni (2 D).

Riga 2

Indica il punto in cui ha inizio il record di controllo SOA (Start of Authority):

  • Il nome del dominio da amministrare è world.cosmos nella prima posizione. Il nome termina con . per evitare che la zona venga aggiunta una seconda volta. In alternativa, è possibile anche immettere @. In questo caso la zona viene estratta dalle voce corrispondente in /etc/named.conf.

  • La voce dopo IN SOA indica il nome del server dei nomi che funge da master per la zona. Il nome è stato esteso da gateway a gateway.world.cosmos perché non termina con ..

  • Segue l'indirizzo e-mail della persona responsabile del server dei nomi. Poiché il simbolo @ ha un significato specifico, è stato usato il simbolo .. Per root@world.cosmos la voce deve essere letta come root.world.cosmos.. Il simbolo . deve essere incluso alla fine per evitare che la zona venga aggiunta.

  • Il simbolo ( permette di includere tutte le righe fino ) nel record SOA.

Riga 3

Il numero di serie è un numero arbitrario che viene incrementato tutte le volte che il file viene modificato. Questo numero viene usato per segnalare ai server dei nomi secondari (slave) le modifiche. Viene generalmente utilizzato un numero di 10 cifre per la data e per il numero di esecuzione nel formato AAAAMMGGDD.

Riga 4

La frequenza di aggiornamento specifica la frequenza con cui i server dei nomi secondari devono verificare il numero di serie delle zone. In questo caso è stata impostata la frequenza di 1 giorno.

Riga 5

L'opzione frequenza dei nuovi tentativi specifica la frequenza con cui il server dei nomi secondari deve tentare di contattare nuovamente il server principale in caso di errore. In questo caso la frequenza è stata impostata su due ore.

Riga 6

L'opzione scadenza specifica dopo quanto tempo il server dei nomi secondario deve cancellare i dati nella cache se non è riuscito a ristabilire un contatto con il server principale. In questo caso l'opzione è stata impostata su una settimana.

Riga 7

L'ultima voce del record SOA specifica il TTL per il caching negativo, ossia quando devono essere salvati nella cache i risultati di query DNS non risolti.

Riga 9

La voce IN NS specifica il server dei nomi responsabile del dominio. gateway è stato esteso a gateway.world.cosmos perché non termina con il simbolo .. Possono essere presenti più righe come queste; una per il nome dei server principale e una per quello secondario. Se notifica è impostato su no in /etc/named.conf, le modifiche apportate ai dati delle zone vengono segnalate a tutti i server dei nomi.

Riga 10

Il record MX specifica il server di posta che accetta, elabora e inoltra i messaggi di posta del dominio world.cosmos. In questo esempio il server è l'host sun.world.cosmos. Il numero davanti al nome dell'host indica il valore della preferenza. Se sono presenti più voci MX, viene acquisito per primo il server con il valore più piccolo. Se la posta non può essere recapitata a questo server, viene fatto un tentativo con il server con il valore numerico successivo.

Righe 12–17

Rappresentano record di indirizzi in cui uno o più indirizzi IP sono assegnati a nomi di host. I nomi vengono indicati senza . perché non includono il dominio, quindi viene sempre aggiunto world.cosmos. All'host gateway vengono aggiunti due indirizzi IP perché dispone di due schede di rete. Se l'indirizzo dell'host è di tipo tradizionale (iPv4) il record viene contrassegnato come A. Se l'indirizzo è un indirizzo IPv6, la voce viene contrassegnata come A6. Il token precedente per gli indirizzi IPv6 era AAAA che è ora obsoleto.

[Note]Sintassi A6

Il record A6 ha una sintassi leggermente diversa rispetto al record AAAA. Poiché è prevista la possibilità di frammentare gli indirizzi, è necessario fornire informazioni sui bit persi prima dell'indirizzo. Queste informazioni devono essere fornite anche nel caso in cui si desideri usare un indirizzo non frammentato. Per il record AAAA precedente con la sintassi:

 pluto IN            AAAA 2345:00C1:CA11:0001:1234:5678:9ABC:DEF0
 pluto IN            AAAA 2345:00D2:DA11:0001:1234:5678:9ABC:DEF0

è necessario aggiungere le informazioni sui bit mancanti nel formato A6. Poiché l'esempio precedente si riferisce a un indirizzo completo (senza bit mancanti), il formato A6 del record è:

 pluto  IN            AAAA 0 2345:00C1:CA11:0001:1234:5678:9ABC:DEF0
 pluto  IN            AAAA 0 2345:00D2:DA11:0001:1234:5678:9ABC:DEF0

Non usare indirizzi IPv4 con la mappatura IPv6. Se l'host ha un indirizzo IPv4, usa un record A, non A6.

Riga 18

L'alias www può essere usato come indirizzo per mond (CNAME significa nome canonico).

Lo pseudodominio in-addr.arpa viene usato per la ricerca inversa di indirizzi IP nei nomi degli host e viene aggiunto alla sezione di rete dell'indirizzo in notazione inversa. Quindi, 192.168.1 viene risolto in 1.168.192.in-addr.arpa. Vedere l'Esempio 20.7, "Ricerca inversa".

Esempio 20.7. Ricerca inversa

    

$TTL 2D
1.168.192.in-addr.arpa. IN SOA gateway.world.cosmos. root.world.cosmos. (
                        2003072441      ; serial
                        1D              ; refresh
                        2H              ; retry
                        1W              ; expiry
                        2D )            ; minimum

                        IN NS           gateway.world.cosmos.

1                       IN PTR          gateway.world.cosmos.
2                       IN PTR          earth.world.cosmos.
3                       IN PTR          mars.world.cosmos.
Riga 1

$TTL definisce il TTL standard che si applica a tutte le voci dell'esempio.

Riga 2

Il file di configurazione deve attivare la ricerca inversa per la rete 192.168.1.0. Poiché il nome della zona è 1.168.192.in-addr.arpa, non deve essere aggiunta ai nomi degli host. Quindi, tutti i nomi degli host vengono immessi nel formato completo, ossia con il dominio e il simbolo . alla fine. Le voci restanti corrispondono a quelle descritte per l'esempio precedente relativo a world.cosmos.

Righe 3–7

Vedere l'esempio precedente relativo a world.cosmos.

Riga 9

Anche questa riga specifica il server dei nomi responsabile della zona. In questo caso però il nome è stato immesso nel formato completo, ossia con il dominio e il simbolo . alla fine.

Righe 11–13

Si tratta di record puntatore associati agli indirizzi IP sui rispettivi host. Solo l'ultima parte dell'indirizzo IP viene immessa all'inizio della riga senza il simbolo . alla fine. Se si aggiunge una zona a questo indirizzo (senza .in-addr.arpa), viene creato un indirizzo IP completo in ordine inverso.

Generalmente è possibile trasferire le zone tra le diverse versioni di BIND senza alcun problema.