12.3. File zone

I file zone, contenenti le informazioni relative a un determinato namespace, e sono memorizzati nella directory operativa di named, /var/named per default. Ogni file zone viene nominato a seconda dei dati indicati nell'opzione file contenuta nell'istruzione zone. In genere si riferisce al dominio in questione e identifica il file in quanto contiene dati sulla zona, come per esempio example.com.zone.

Ogni file zone può contenere direttive e dei record della risorsa. Le direttive indicano al nameserver di eseguire una certa azione o di eseguire delle impostazioni speciali per la zona. I record della risorsa definiscono i parametri della zona attribuendo una identità a host individuali. Le direttive sono facoltative, mentre i record della risorsa sono necessari per fornire il servizio dei nomi a quella zona.

Tutte le direttive e i record di risorsa dovrebbero occupare righe diverse.

Nei file zone è possibile aggiungere dei commenti dopo il carattere punto e virgola (;).

12.3.1. Direttive dei file zone

Le direttive sono contraddistinte dal carattere $ che precede il nome della direttiva e che di solito si trova all'inizio del file zone.

Le direttive più usate sono le seguenti:

12.3.2. Record di risorsa del file zone

Il componente primario di un file zone sono i propri record di risorsa.

Ci sono molti tipi di file di record di risorsa, I seguenti tipi sono tra i più usati:

12.3.3. Esempi di file zone

Le direttive e i record di risorsa, visti individualmente, possono essere difficili da comprendere. Comunque, tutto ha molto più senso se riunito in un unico file.

Il seguente esempio mostra un file zone di base.

$ORIGIN example.com
$TTL 86400
@     IN     SOA    dns1.example.com.     hostmaster.example.com. (
                    2001062501 ; serial
                    21600      ; refresh after 6 hours
                    3600       ; retry after 1 hour
                    604800     ; expire after 1 week
                    86400 )    ; minimum TTL of 1 day

      IN     NS     dns1.example.com.
      IN     NS     dns2.example.com.

      IN     MX     10     mail.example.com.
      IN     MX     20     mail2.example.com.

             IN     A       10.0.1.5

server1      IN     A       10.0.1.5
server2      IN     A       10.0.1.7
dns1         IN     A       10.0.1.2
dns2         IN     A       10.0.1.3

ftp          IN     CNAME   server1
mail         IN     CNAME   server1
mail2        IN     CNAME   server2
www          IN     CNAME   server2

In questo esempio vengono utilizzate le direttive standard e i valori SOA. I server dei nomi autorevoli impostati sono dns1.example.com e dns2.example.com con il record A che li lega rispettivamente a 10.0.1.2 e 10.0.1.3.

Il server di posta configurato con i record MX fa riferimento a server1 e server2 tramite CNAME. Poiché i nomi del server1 e del server2 non terminano con un punto (.), il dominio $ORIGIN viene collocato dopo tali nomi, diventando server1.example.com e server2.example.com. È possibile determinarne gli indirizzi IP tramite i relativi record di risorsa A.

I servizi FTP e Web, disponibili con i nomi standard ftp.example.com e www.example.com vengono indirizzati a macchine che forniscono i servizi adeguati per questi nomi usando i record CNAME.

12.3.4. File zone per la risoluzione nomi inversa

Un file zone per la risoluzione inversa dei nomi viene utilizzato per tradurre un indirizzo IP in un namespace particolare in un FQDN. Somiglia molto a un file zone standard, tranne per il fatto che i record di risorsa PTR vengono utilizzati per collegare gli indirizzi IP a un nome del dominio qualificato.

Un record PTR è simile a quanto riportato di seguito:

<last-IP-digit>      IN     PTR    <FQDN-of-system>

<ultima-cifra-IP> si riferisce all'ultimo numero in un indirizzo IP che dovrebbe far riferimento all'FQDN di un determinato sistema.

Nell'esempio riportato di seguito gli indirizzi IP da 10.0.1.20 a 10.0.1.25 fanno riferimento agli FQDN corrispondenti.

$ORIGIN 1.0.10.in-addr.arpa
$TTL 86400
@     IN     SOA    dns1.example.com.     hostmaster.example.com. (
                    2001062501 ; serial
                    21600      ; refresh after 6 hours
                    3600       ; retry after 1 hour
                    604800     ; expire after 1 week
                    86400 )    ; minimum TTL of 1 day

      IN     NS     dns1.example.com.
      IN     NS     dns2.example.com.

20    IN     PTR    alice.example.com.
21    IN     PTR    betty.example.com.
22    IN     PTR    charlie.example.com.
23    IN     PTR    doug.example.com.
24    IN     PTR    ernest.example.com.
25    IN     PTR    fanny.example.com.

Questo file zone viene utilizzato con l'istruzione zone nel file named.conf simile a quello riportato di seguito:

zone "1.0.10.in-addr.arpa" IN {
  type master;
  file "example.com.rr.zone";
  allow-update { none; };
};

Esiste una differenza davvero minima tra questo esempio e un'istruzione standard zone, salvo per il nome della zona. Una zona per la risoluzione inversa dei nomi richiede che siano invertiti i primi tre blocchi dell'indirizzo IP e che dopo di questi venga aggiunto ".in-addr.arpa". Ciò permette che il blocco singolo di numeri IP utilizzato nel file della zona per la risoluzione inversa dei nomi venga collegato correttamente in questa zona.