12.2. /etc/named.conf

Il file /etc/named.conf è un insieme di istruzioni che utilizza opzioni nidificate tra parentesi graffe { }. Gli amministratori devono prestare attenzione nel modificare named.conf in quanto piccoli errori di sintassi impediscono la partenza del servizio named.

AttenzioneAvvertenza
 

Non modificate manualmente il file /etc/named.conf o qualsiasi file nella directory /var/named se state utilizzando l'applicazione Strumento di configurazione Bind. Tutte le modifiche manuali apportate a questi file verranno, infatti, sovrascritte al successivo utilizzo del Strumento di configurazione Bind.

Un file tipico named.conf é organizzato in modo del tutto simile al seguente esempio:

<statement-1> ["<statement-1-name>"] [<statement-1-class>] {
   <option-1>;
   <option-2>;
   <option-N>;
};

<statement-2> ["<statement-2-name>"] [<statement-2-class>] {
   <option-1>;
   <option-2>;
   <option-N>;
};

<statement-N> ["<statement-N-name>"] [<statement-N-class>] {
   <option-1>;
   <option-2>;
   <option-N>;
};

12.2.1. Tipo di commenti comuni

I seguenti tipi di commento sono usati comunemente in /etc/named.conf:

12.2.1.1. Commento acl

Il commento acl (o commento di controllo di accesso) definisce il gruppo o gli host permessi o meno all'accesso al server dei nomi.

Un commento acl ha la seguente forma:

acl <acl-name> {
    <match-element>;
    [<match-element>; ...]
};

In questo commento, sostituire <acl-nome> con il nome della lista di controllo accesso e sostituire <elemento-corrispondente> con una serie di indirizzi IP separati da un punto e virgola. La maggior parte delle volte vengono utilizzati gli indirizzi IP individuali o le notazioni di rete IP (come 10.0.1.0/24) per identificare gli indirizzi IP all'interno del commento acl.

Le seguenti liste di controllo accessi sono giá definite come parole chiavi per semplificare la configurazione:

  • any — corrisponde a ogni indirizzo IP.

  • localhost — corrisponde a qualsiasi indirizzo IP in uso nel sistema locale.

  • localnets — corrisponde a qualsiasi indirizzo IP in qualsiasi rete a cui il sistema locale è connesso.

  • none — non corrisponde a nessun indirizzo IP.

Se utilizzato con altri commenti (come ad esempio options), i commenti acl possono essere molto utili nel prevenire l'uso improprio di un server dei nomi BIND.

Il seguente esempio definisce due liste di controllo di accesso e usa un commento options per definire come vengono trattate dal server:

  acl black-hats {
    10.0.2.0/24;
    192.168.0.0/24;
 };

 acl red-hats {
    10.0.1.0/24;
 };

 options {
    blackhole { black-hats; };
    allow-query { red-hats; };
    allow-recursion { red-hats; };
 }
 
 

Questo esempio contiene due elenchi di controllo accesso, black-hats e red-hats. Gli host nell'elenco black-hats vengono rifiutati l'accesso al server dei nomi, mentre viene a loro dato nell'elenco red-hats.

12.2.1.2. Il commento include

Il commento include permette ai file, di essere inclusi in un named.conf. In questo modo i dati di configurazione (come ad esempio keys) possono essere posizionati in un file diverso con permessi che ne impediscano la lettura da parte di utenti non privilegiati.

Un commento include assume la seguente forma:

include  "<file-name>"

In questo commento, <nome-file> viene sostituito con un path assoluto per un file.

12.2.1.3. Commento options

Il commento options definisce le opzioni di configurazione globale del server e imposta i default per altri commenti. Puó essere usato per specificare la posizione della directory di lavoro named i tipi di query permesse e molto altro.

Il commento options assume la seguente forma:

options { 
        <option>;
	[<option>; ...] 
};

In questo commento, le direttive <option> sono sostituite con una opzione valida.

Le seguenti sono opzioni usate comunemente:

  • allow-query — specifica gli host autorizzati a interrogare questo server dei nomi. Per default, tutti gli host sono autorizzati. Un elenco di controllo accessi o un insieme degli indirizzi o reti IP può essere utilizzato, in questo caso, solo per autorizzare degli host particolari a interrogare il server dei nomi.

  • allow-recursion — simile a allow-query, tranne per il fatto che viene utilizzato per richieste ricorsive. Per default, tutti gli host sono autorizzati ad effettuare richieste ricorsive ai server dei nomi.

  • blackhole — Specifica quali host non possono interrogare i server.

  • directory — modifica la directory di lavoro named (/var/named/), in una directory diversa da quella predefinita /var/named.

  • forward — controlla il modo in cui avviene l'inoltro da parte di una direttiva forwarders.

    Sono accettate le seguenti opzioni:

    • first — i server dei nomi specificati nell'opzione forwarders vengono interrogati per primi e se non dispongono delle informazioni richieste named tenta di eseguire la risoluzione da solo.

    • only — Specifica che named non tenta di eseguire la risoluzione se i forwarder non hanno buon esito.

  • forwarders — Specifica un elenco di indirizzi IP validi per i server dei nomi a cui inviare le richieste di risoluzione.

  • listen-on — specifica l'interfaccia di rete che named utilizza per ricevere le interrogazioni. Per default, vengono utilizzate tutte le interfacce.

    In questo modo, se il server DNS é anche una porta "gateway", BIND puó essere configurato a rispondere alle domande che vengono fatte da una delle reti.

    A listen-on le direttive possono somigliare a quanto segue:

    options {
       listen-on { 10.0.1.1; };
    };

    In tal modo vengono accettate solo le richieste che provengono dall'interfaccia che funge da rete privata (10.0.1.1)

  • notify — controlla se named invia una notifica ai server slave quando viene aggiornata una zona. Accetta le seguenti opzioni:

    • yes — Notifica i server slave.

    • no — Non notifica i server slave.

    • explicit — Notifica solo i server specificati in un elenco also-notify all'interno del commento di zona.

  • pid-file — vi consente di specificare la posizione del file di processo ID creato da named.

  • statistics-file — Vi consente di specificare la posizione in cui è stato salvato il file delle statistiche. Per default, le statistiche di named vengono salvate in /var/named/named.stats.

Sono inoltre disponibili decine di altre opzioni, molte delle quali dipendono l'una dall'altra per poter funzionare correttamente. Per maggiori dettagli, consultate il BIND 9 Administrator Reference Manual in la Sezione 12.7.1 e la pagina man per bind.conf, per ottenere maggiori informazioni.

12.2.1.4. Commento zone

Un commento zone definisce le caratteristiche di una zona come ad esempio la posizione dei propri file di configurazione e le opzioni specifiche di zona. Quessto commento puó essere usato per sovrascrivere i commenti globali options.

Un commento zone assume la seguente forma:

zone <zone-name> <zone-class> {
     <zone-options>;
     [<zone-options>; ...]
};

In questo commento, <nome-zona> é il nome della zona, <classe-zona> é la zona facoltativa della zona, e <opzioni-zona> é un elenco di opzioni che caratterizzano la zona.

L'attributo <nome-zona> per il commento della zona, é particolarmente importante, dato che esso é il valore di default assegnato per la direttiva $ORIGIN usata all'interno il corrispondente file zone posizionato nella directory named. Il demone named conferisce il nome della zona a qualsiasi nome del dominio non qualificato elencato nel file zone.

Per esempio, se un commento zone definisce lo spazio del nome per example.com, usare example.com come <zone-name> cosí da posizionarlo alla fine dell'hostname all'interno del file zone example.com.

Per maggiori informazioni sui file zone, consultare la Sezione 12.3.

Le opzioni piú comuni della zone include quanto segue:

  • allow-query — Specifica i client che sono permessi a richiedere informazioni inerenti questa zona. Per default tutte le richieste vengono permesse.

  • allow-transfer — Specifica i server slave abilitati a richiedere un trasferimento delle informazioni della zona. Il default é di permettere tutte le richieste di trasferimento.

  • allow-update — Specifica gli host che sono permessi ad aggiornare dinamicamente le informazioni nella loro zona. Il default é di negare tutte le richieste di aggiornamento dinamico.

    Fare attenzione a permettere agli host di aggiornare le informazioni inerenti le loro zone. Non abilitare questa funzione se l'utente non é fidato. In generale, é meglio avere un amministratore che aggiorni manualmente le informazioni e ricaricare il servizio named.

  • file — Specifica il nome del file nella directory di lavoro che contiene i dati di configurazione della zona. Il default é la directory /var/named/.

  • masters — L'opzione masters elenca gli indirizzi IP dai quali L'opzione masterselenca gli indirizzi IP dai quali si effettua la richiesta di informazioni di zona. Usarla solo se la zona é definita come type slave.

  • notify — Controlla se named notifica i server slave quando si aggiorna una zona. Accetta le seguenti opzioni:

    • yes — Notifica i server slave.

    • no — Non notifica i server slave.

    • explicit — Notifica solo i server slave specificati in un elenco also-notify all'interno di un commento di zona.

  • type — Definisce il tipo di zona.

    Di seguito viene riportata una lista di opzioni valide:

    • forward — chiede al server dei nomi di reindirizzare ad altri server tutte le richieste di informazioni su questa zona.

    • hint — tipo speciale di zona usato per fare riferimento ai server dei nomi root, utilizzati per risolvere richieste quando una zona è sconosciuta. In genere non è necessario configurare una zona del tipo hint.

    • master — Definisce il server dei nomi autorevole per questa zona. Occorre impostare una zona del tipo master se nel vostro sistema vi sono i file di configurazione della zona.

    • slave — Definisce il server come slave per questa zona. Specifica anche l'indirizzo IP del server dei nomi per la zona.

  • zone-statistics — ordina al demone named di conservare le statistiche relative alla zona, memorizzandole nella posizione predefinita (/var/named/named.stats) o in una posizione definita con l'opzione statistics-file nell'istruzione server, se esistente. Consultare la Sezione 12.2.2 per maggiori informazioni inerenti al server.

12.2.1.5. Commenti zone: esempi

La maggior parte delle modifiche al file /etc/named.conf di un server dei nomi master o slave riguarda l'aggiunta, la modifica o la cancellazione di commenti zone. Sebbene queste istruzioni possano contenere molte opzioni, quasi tutti i server dei nomi ne usano solo alcune. I commenti zone che seguono sono alcuni esempi di base da utilizzare in una relazione master/slave.

Quello riportato di seguito è un esempio di commento zone per il server dei nomi primario con dominio example.com (192.168.0.1):

zone "example.com" IN {
  type master;
  file "example.com.zone";
  allow-update { none; };
};

All'interno dell'istruzione la zona è identificata come example.com, il tipo è impostato a master e indica a named di leggere il file /var/named/example.com.zone. Indica inoltre a named di non consentire l'aggiornamento da parte di nessun altro host.

Un commento zone di un server slave per example.com è leggermente diversa dall'esempio precedente. Per un server slave il tipo è impostato a slave e invece della riga allow-update è presente una direttiva che indica a named l'indirizzo IP del server master.

Un commento del server slave zone per example.com é simile a quanto riportato di seguito:

zone "example.com" {
  type slave;
  file "example.com.zone";
  masters { 192.168.0.1; };
};

Questo commento zone indica a named nel server slave di cercare le informazioni di configurazione per la zona chiamata domain.com nel server master all'indirizzo IP 192.168.0.1. Le informazioni che il server slave riceve dal server master vengono salvate in /var/named/domain.com.zone.

12.2.2. Altri tipi di commenti

I seguenti sono una lista di commenti meno usati disponibili in named.conf

12.2.3. Tag di commento

Il seguente é un elenco di tag di commento validi usati all'interno di named.conf: