Tutte le impostazioni riguardanti il server dei nomi BIND devono venire
eseguite nel file /etc/named.conf. Anche i dati delle
zone, cioè i nomi degli host, gli indirizzi IP, etc. per i domini da
amministrare, devono venire archiviati in file separati nella directory
/var/lib/named. Trattateremo questo tema
più avanti.
L' /etc/named.conf si suddivide grosso modo in due
settori: una sezione options per le impostazioni
generali ed una per le registrazioni zone per i
singoli domini. Inoltre è anche possibile definire un'area
logging, come pure registrazioni del tipo
acl (ingl.Access Control
List). Le righe di commento iniziano con il carattere
#, alternativamente è permesso anche
//.
Il file Esempio 40.2, «File /etc/named.conf di base» vi mostra un esempio di
un /etc/named.conf minimale.
Esempio 40.2. File /etc/named.conf di base
options {
directory "/var/lib/named";
forwarders { 10.0.0.1; };
notify no;
};
zone "localhost" in {
type master;
file "localhost.zone";
};
zone "0.0.127.in-addr.arpa" in {
type master;
file "127.0.0.zone";
};
zone "." in {
type hint;
file "root.hint";
};nomefile";
indica la directory in cui BIND trova i file con i dati delle
zone, di solito /var/lib/named.
indirizzo ip; };
viene usato per indicare uno o più server dei nomi (nella maggioranza
dei casi quelli del provider) ai quali vengono inoltrate le richieste
DNS a cui non è possibile rispondere direttamente. Al posto di
indirizzo ip utilizzato un indirizzo IP del tipo 10.0.0.1.
fa in modo che le richieste DNS vengano inoltrate
forwarded, prima che si cercare di risolverle
tramite i server dei nomi root. Invece di forward
first è anche possibile scrivere forward
only; in questo caso, tutte le richieste vengono
inoltrate ed i server dei nomi root non vengono più indirizzati. Può
essere conveniente in configurazioni firewall.
indirizzo ip;
};
comunica a BIND, su quali interfacce di rete e su quale porta mettersi in
ascolto di eventuali richieste dei client. L'indicazione
port 53 può venire omessa, poiché 53 è la porta
standard. Con 127.0.0.1 si ammettono richieste di
localhost. Omettendo completamente questa registrazione, vengono usate di default tutte le interfacce.
indica a BIND su quale porta mettersi in ascolto di richieste da
parte di client che utilizzano IPv6. Oltre a any è consentito come
alternativa solo none, dato che il server si mette in
ascolto sull'indirizzo wildcard IPv6.
questa registrazione è necessaria se il firewall blocca richieste DNS esterne. In questo modo BIND viene indotto ad inviare delle richieste verso l'esterno dalla porta 53 e non dalle porte con un numero elevato ( > 1024 ).
qui si indica a BIND quale porta utilizzare per richieste IPv6.
net; };
definisce le reti da cui i client possono inviare delle richieste DNS.
Al posto di net si immettete
un indirizzo del tipo 192.168.1/24; laddove
/24 è un'abbreviazione per la maschera di
rete, in questo caso 255.255.255.0.
regola quali sistemi possano richiedere il trasferimento delle zone;
in questo esempio ciò viene completamente impedito da !
*. Senza questa registrazione, il trasferimento delle
zone può venire richiesto da ovunque.
senza questa registrazione, BIND archivia ogni ora diverse righe di
messaggi di natura statistica in
/var/log/messages. Il valore 0 determina che
questi messaggi vengano completamente soppressi; l'intervallo viene
indicato in minuti.
questa opzione stabilisce l'intervallo di tempo, scaduto il quale BIND
svuota la sua cache. Ogni volta questa attività genera una registrazione
in /var/log/messages. L'indicazione del tempo
avviene in minuti: sono preconfigurati 60 minuti.
BIND verifica regolarmente se vi sono delle nuove interfacce di rete o se
ne sono state rimosse alcune. Se questo valore è impostato su
0, si rinuncia a tale verifica, e BIND si mette in
ascolto solo sulle interfacce rilevate all'avvio. Si può indicare questo
l'intervallo in minuti. 60 minuti è il valore preconfigurato.
Con no non viene avvisato nessun altro server
dei nomi nel caso si siano apportate delle modifiche ai dati delle zone
o se il server dei nomi viene riavviato.
BIND permette di configurare in modo flessibile l'attività di logging. Normalmente, le preimpostazioni dovrebbero rilevarsi sufficienti. Il file Esempio 40.3, «Il logging viene soppresso» vi mostra la variante più semplice di una tale registrazione, e sopprime completamente il «logging»:
Esempio 40.4. L'indicazione zone per mio-dominio.it
zone "mio-dominio.it" in {
type master;
file "mio-dominio.zone";
notify no;
};
Dopo zone si indica il nome del dominio da
amministrare, nel nostro esempio abbiamo scelto un nome a caso mio-dominio.it seguito da un
in ed un blocco compreso tra parentesi graffe con le
relative opzioni; cfr. Esempio 40.4, «L'indicazione zone per mio-dominio.it».
Se si desidera definire una zona slave, cambia solo il
type che diventa slave, e si deve
indicare il server dei nomi che amministra questa zona come
master (può, a sua volta essere uno
«slave»); si veda l'Esempio 40.5, «L'indicazione zone per altro-dominio.it».
Esempio 40.5. L'indicazione zone per altro-dominio.it
zone "altro-dominio.it" in {
type slave;
file "slave/altro-dominio.zone";
masters { 10.0.0.1; };
};Le opzioni di zone:
master stabilisce che questa zona venga amministrata
su questo server di nome. Premessa per questa opzione: un file di zone
corretto.
Questa zona viene trasferita da un altro server dei nomi. Deve venire
usata assieme a masters.
La zona . del tipo hint viene
impiegata per l'indicazione dei server dei nomi root. Questa definizione
di zona può rimanere invariata.
mio-dominio.zone o
file «slave/altro-dominio.zone»;
Questa registrazione indica il file in cui sono registrati i dati delle
zone per il dominio. Con uno slave, il file non
è necessario, poiché il suo contenuto viene preso da un altro server dei
nomi. Per distinguere fra file master e file slave, si indica la
directory slave per i file slave.
indirizzo_ip_server; };
Questa impostazione è necessaria solo per zone slave ed indica da quale server dei nomi debba venire trasferito il file delle zone.
Questa opzione regola l'accesso in scrittura ai dati delle zone
dall'esterno. Se l'accesso fosse indiscriminato, ogni client potrebbe
registrarsi nel DNS del tutto autonomamente, cosa non auspicabile da
un punto di vista della sicurezza. Senza questa opzione, non sono
permessi gli aggiornamenti delle zone. La registrazione riportata
nell'esempio non cambierebbe nulla, dal momento che la definizione
! * proibisce, anch'essa, ogni accesso.