| Red Hat Linux 9: Red Hat Linux Reference Guide | ||
|---|---|---|
| Indietro | Capitolo 12. BIND (Berkeley Internet Name Domain) | Avanti |
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.
![]() | Avvertenza |
|---|---|
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>;
}; |
I seguenti tipi di commento sono usati comunemente in /etc/named.conf:
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.
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.
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.
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.
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.
I seguenti sono una lista di commenti meno usati disponibili in named.conf
controls — Configura vari requisiti di sicurezza necessari all'uso del comando rndc per amministrare il servizion named.
Consultare la Sezione 12.4.1 per avere una idea su come il commento controls dovrebbe sembrare, incluso opzioni varie che possono solo essere usate con esso.
key "<key-name>" — definisce una chiave particolare per nome. Le chiavi sono usate per autenticare azioni varie, come ad esempio aggiornamenti sicuri o l'uso del comando rndc. Due opzioni sono usate con key:
algorithm <algorithm-name> — Il tipo di algoritmo usato, come ad esempio dsa o hmac-md5.
secret "<key-value>" — La chive cifrata.
Vedere la Sezione 12.4.2 per istruzioni su come scrivere un commento key.
logging — Permette l'uso di tipi di log multipli chiamati canali. Usando l'opzione channel all'interno del commento logging, un tipo di log personalizzato, con il proprio nome del file (file), misura limite (size), versione (version), e livello d'importanza (severity), puó essere costruito. Una volta definito un canale personalizzato, una opzione category viene usata per categorizzare il canale e iniziare il logging quando si avvia named.
Per default, named effettua una registrazione di messaggi standard per il demone syslog, inviandoli in /var/log/messages. Ció accade perché perché diversi canali standard sono stati costruiti in BIND con diversi livelli di severitá, come ad esempio il supporto di messaggi di logging (default_syslog), oppure il supporto specifico dei messaggi di debug (default_debug). Una categoria di default, chiamata default, usa i canali (del tipo built-in) per effettuare un logging normale senza alcuna configurazione speciale.
Personalizzando il processo di logging puó rappresentare un una fase molto articolata, e va oltre lo scopo prefisso in questo capitolo. Per maggiori informazioni, consultare il BIND 9 Administrator Reference Manual in la Sezione 12.7.1.
server — Definisce le opzioni particolari che influenza il comportamento di named rispetto al server dei nomi remoto, in particolar modo nei confronti delle notifiche e dei trasferimenti di zona.
L'opzione transfer-format controlla se una risorsa record é inviata con ogni messaggio (one-answer) oppure risorse record multiple sono inviate con ogni messaggio (many-answers). Mentre many-answers é piú efficiete, solo i server dei nomi BIND piú recenti lo possono comprendere.
trusted-keys — Contiene diverse chiavi pubbliche usate per rendere sicuro DNS (DNSSEC). Consultare la Sezione 12.5.3 per maggiori informazioni inerenti la sicurezza di BIND.
view "<view-name>" — Crea panoramiche speciali a seconda del contatto al server dei nomi. Questo permette ad alcuni host di ricevere una risposta inerente ad una zona particolare mentre altri host riceveranno delle informazioni totalmente diverse. Alternativamente, alcune zone vengono rese disponibili a degli host sicuri mentre quelli non sicuri possono solo effettuare delle richieste ad altre zone.
Panoramiche multiple possono essere usate fino a quando i loro nomi sono unici. L'opzione match-clients specifica gli indirizzi IP idonei ad una panoramica particolare. Qualsiasi commento options puó essere usato all'interno di una panoramica, escludendo le opzioni globali giá configurati per named. Molti commenti view contengono commenti multipli zone idonee all'elenco match-clients. L'ordine con il quale i commenti view vengono elencati, é molto importante, in quanto il primo commento view idoneo ad un particolare indirizzo IP del client, viene usato.
Consultare la Sezione 12.5.2 per maggiori informazioni inerenti il commento view.
Il seguente é un elenco di tag di commento validi usati all'interno di named.conf:
// — Quando posizionato all'inizio di una riga, la stessa viene ignorata da named.
# — Quando posizionato all'inizio di una riga, la stessa viene ignorata da named.
/* e */ — Quando il testo viene contenuto in queste etichette, lo stesso viene ignorato da named.