Red Hat Enterprise Linux 3: Reference Guide | ||
---|---|---|
Indietro | Capitolo 12. BIND (Berkeley Internet Name Domain) | Avanti |
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 (;).
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:
$INCLUDE — indica a named di includere un file zone in un altro file nel punto in cui viene usata la direttiva. Ciò consente di memorizzare impostazioni di zona aggiuntive separatamente dal file zone principale.
$ORIGIN — imposta il nome del dominio da accodare a qualsiasi record non qualificato, come quelli che specificano solo l'host e nient'altro.
Per esempio, un file zone potrebbe contenere una riga come la seguente:
$ORIGIN example.com |
A questo punto a qualsiasi nome utilizzato nei record di risorsa, che non finisca con un punto (.), presenterá example.com.
![]() | Nota bene |
---|---|
Non è necessario usare la direttiva $ORIGIN se alla zona si assegna un nome nel file /etc/named.conf identico al valore che assegnereste a $ORIGIN. Il nome della zona viene utilizzato, per default, come valore della direttiva $ORIGIN. |
$TTL — imposta il valore predefinito Time to Live (TTL) per la zona. Si tratta di un valore, in secondi, assegnato ai server dei nomi che indica il periodo di validità dei record di risorsa della zona. Un record di risorsa può avere un valore TTL proprio, che annulla quindi quello impostato da questa direttiva.
Impostando un valore più alto si indica ai server dei nomi di conservare in memoria queste informazioni di zona per un periodo di tempo maggiore. Ciò riduce il numero di richieste relative a questa zona, ma allunga anche il tempo necessario per modificare il record di risorse.
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:
A — record di indirizzo che specifica un indirizzo IP da assegnare al nome, come in questo esempio:
<host> IN A <IP-address> |
Se non viene indicato il valore <host>, il record A fa riferimento a un indirizzo IP predefinito per l'inizio dello spazio dei nomi. Questo sistema è utilizzato per tutte le richieste non FQDN.
Prendete in considerazione i seguenti esempi di record A per il file zone example.com:
IN A 10.0.1.3 server1 IN A 10.0.1.5 |
Le richieste per example.com vengono indirizzate a 10.0.1.3, mentre quelle per server1.example.com a 10.0.1.5.
CNAME — record di nome tipico che mappa un nome all'altro, conosciuto anche come un alias.
L'esempio successivo indica a named che le richieste inviate a <nome-alias> dovrebbero indicare l'host <nome-reale>. I record CNAME sono utilizzati più comunemente per indicare i servizi che utilizzano uno schema di assegnazione dei nomi comune,come ad esempio www per i server Web.
<alias-name> IN CNAME <real-name> |
Considerate l'esempio riportato di seguito, in cui il record A imposta un indirizzo IP per un determinato nome di host e il record CNAME evidenzia come nome alias il nome host più comunemente usato www.
server1 IN A 10.0.1.5 www IN CNAME server1 |
MX — si tratta del record "Mail eXchange", che indica dove va inoltrata la posta inviata a un particolare spazio dei nomi controllato da questa zona.
IN MX <preference-value> <email-server-name> |
In questo esempio il <valore-preferenza> vi consente di classificare numericamente i server e-mail su cui preferite ricevere la posta elettronica per questo spazio dei nomi, dando la precedenza ad alcuni sistemi e-mail rispetto ad altri. Il record di risorsa MX con il <valore-preferenza> più basso ha la precedenza sugli altri, ma potete comunque impostare vari server di posta elettronica con lo stesso valore e distribuire quindi il traffico di posta.
Il <nome-server-email> può essere un nome host o un FQDN.
IN MX 10 mail.example.com. IN MX 20 mail2.example.com. |
In questo esempio il primo server di posta mail.example.com ha la precedenza sul server mail2.example.com al momento della ricezione di posta per il dominio example.com.
NS — record NameServer che annuncia i server dei nomi autorevoli per una determinata zona.
Ecco un esempio di record NS:
IN NS <nameserver-name> |
Il <nome-nameserver> dovrebbe essere unFQDN.
Di seguito sono elencati due nomi di server come autorevoli per un dominio. Non importa se questi server dei nomi sono slave o master, poiché entrambi sono considerati autorevoli.
IN NS dns1.example.com. IN NS dns2.example.com. |
PTR — record "PoinTeR" che serve per fare riferimento a un'altra "porzione" dello spazio dei nomi.
I record PTR vengono usati principalmente per invertire la risoluzione del nome, riconvertendo gli indirizzi IP in un particolare nome. Per maggiori esempi sull'opzione PTR in uso, consultate la Sezione 12.3.4.
SOA — Start Of Authorityindica al nameserver le informazioni autorevoli importanti inerenti al namespace per il nameserver.
Posizionato dopo le direttive, SOA è il primo record di risorsa in un file zone.
L'esempio riportato mostra la struttura di base di un record di risorsaSOA:
@ IN SOA <primary-name-server> <hostmaster-email> ( <serial-number> <time-to-refresh> <time-to-retry> <time-to-expire> <minimum-TTL> ) |
Il simbolo @ serve a posizionare la direttiva $ORIGIN (o il nome della zona, se la direttiva non è impostata) come il namespace definito da questo record di risorsa SOA. L'hostname del nameserver primario il quale è autoritario per questo dominio, è la direttiva <primary-name-server> e l'email della persona da contattare per questo namespace, è la direttiva <hostmaster-email>.
La direttiva <numero-seriale> è un valore numerico incrementato ogni volta il file zone viene modificato, affinche named riceva l'informazione di ricaricare la zona. La direttiva <tempo-di-aggiornamento> è un server slave del valore numerico usato per determinare quanto bisogna attendere prima di chiedere al nameserver master se sono state effettuate delle modifiche alla zona. La direttiva <numero-seriale> è un valore numerico utilizzato dai server slave per determinare se sta usando dati di zona obsoleti e deve dunque aggiornarli.
La direttiva <time-to-retry> è un valore numerico usato dai server slave per determinare il periodo di tempo di attesaprima di formulare una richiesta di aggiornamento, se il nameserver non risponde. Se il master non ha risposto alla richiesta di aggiornamento entro il periodo di tempo specificato in <time-to- expire>, i server slave cessano di fungere come autorità per quanto riguarda quel nameserver.
La direttiva <TTL-minimo> è l'ammontare di tempo utilizzato dagli altri nameserver per memorizzare le informazioni della zona.
Quando si configura BIND, il tempo viene riportato in secondi. Comunque potete utilizzare anche delle abbreviazioni per altre unità di tempo, come minuti (M), ore (H), giorni (D) e settimane (W). La tabella in Tabella 12-1 mostra la quantità di tempo in secondi e l'equivalente in un altro formato.
Secondi | Altre unità di tempo |
---|---|
60 | 1M |
1800 | 30M |
3600 | 1H |
10800 | 3H |
21600 | 6H |
43200 | 12H |
86400 | 1D |
259200 | 3D |
604800 | 1W |
31536000 | 365D |
Tabella 12-1. Secondi paragonati ad altre unità di tempo
L'esempio seguente mostra la struttura che un record di risorsa SOA potrebbe avere quando popolato con valori reali.
@ 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 |
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.
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.