3 155
contributi
Wtf (discussione | contributi) |
Wtf (discussione | contributi) |
||
Riga 30: | Riga 30: | ||
Ipotizziamo quindi di avere un dominio test.lan sulla rete 192.168.1.0: dovremo configurare due file di zona, uno chiamato <code>/etc/bind/db.test</code> ed uno chiamato <code>/etc/bind/db.192.168.1</code>, che rappresenta il file in cui inserire i record PTR ("Domain Name Pointer", quelli di ricerca inversa). Di seguito vediamo come impostare il file <code>/etc/resolv.conf</code>, dopodiché vedremo il contenuto del file di configurazione generico di Bind9 <code>/etc/bind/named.conf</code>, ed infine esamineremo i file di zona <code>/etc/bind/db.test</code> e <code>/etc/bind/db.192.168.1</code>, che rappresentano la zona che descrive la nostra rete LAN: | Ipotizziamo quindi di avere un dominio test.lan sulla rete 192.168.1.0: dovremo configurare due file di zona, uno chiamato <code>/etc/bind/db.test</code> ed uno chiamato <code>/etc/bind/db.192.168.1</code>, che rappresenta il file in cui inserire i record PTR ("Domain Name Pointer", quelli di ricerca inversa). Di seguito vediamo come impostare il file <code>/etc/resolv.conf</code>, dopodiché vedremo il contenuto del file di configurazione generico di Bind9 <code>/etc/bind/named.conf</code>, ed infine esamineremo i file di zona <code>/etc/bind/db.test</code> e <code>/etc/bind/db.192.168.1</code>, che rappresentano la zona che descrive la nostra rete LAN: | ||
=== /etc/resolv.conf: === | ==== /etc/resolv.conf: ==== | ||
Per quanto riguarda il server: | Per quanto riguarda il server: | ||
<pre> | <pre> | ||
Riga 39: | Riga 39: | ||
Nel caso di macchine linux prive di 'network-manager' (o altro applicativo equivalente) allora sarà necessario modificare <code>/etc/resolv.conf</code> manualmente come indicato sopra, ma indicando al posto di <code>127.0.0.1</code> l'indirizzo LAN del server (<code>192.168.1.1</code> nel caso di questa guida). | Nel caso di macchine linux prive di 'network-manager' (o altro applicativo equivalente) allora sarà necessario modificare <code>/etc/resolv.conf</code> manualmente come indicato sopra, ma indicando al posto di <code>127.0.0.1</code> l'indirizzo LAN del server (<code>192.168.1.1</code> nel caso di questa guida). | ||
=== /etc/bind/named.conf: === | ==== /etc/bind/named.conf: ==== | ||
====Lenny e precedenti==== | ===== Lenny e precedenti ===== | ||
Le seguenti modifiche sono necessarie solo in Lenny (o precedenti). | Le seguenti modifiche sono necessarie solo in Lenny (o precedenti). | ||
<pre> | <pre> | ||
Riga 67: | Riga 67: | ||
include "/etc/bind/named.conf.local" | include "/etc/bind/named.conf.local" | ||
</pre> | </pre> | ||
====Squeeze==== | ===== Squeeze ===== | ||
'''NESSUNA''' modifica necessaria: | '''NESSUNA''' modifica necessaria: | ||
<pre> | <pre> | ||
Riga 77: | Riga 77: | ||
Come si vede le modifiche proposte per Lenny e precedenti non sono altro che lo standard in Squeeze (in buona sostanza si è passati da un unico file di configurazione a tre distinti). | Come si vede le modifiche proposte per Lenny e precedenti non sono altro che lo standard in Squeeze (in buona sostanza si è passati da un unico file di configurazione a tre distinti). | ||
=== /etc/bind/named.conf.local: === | ==== /etc/bind/named.conf.local: ==== | ||
<pre> | <pre> | ||
zone "test.lan" { | zone "test.lan" { | ||
Riga 89: | Riga 89: | ||
</pre> | </pre> | ||
=== /etc/bind/db.test: === | ==== /etc/bind/db.test: ==== | ||
Descrive la zona della nostra rete LAN. Non è presente nella directory <code>/etc/bind</code>, ma va creato con un editor di testo. | Descrive la zona della nostra rete LAN. Non è presente nella directory <code>/etc/bind</code>, ma va creato con un editor di testo. | ||
<pre> | <pre> | ||
Riga 110: | Riga 110: | ||
client IN A 192.168.1.3 | client IN A 192.168.1.3 | ||
</pre> | </pre> | ||
====Area 1==== | ===== Area 1 ===== | ||
La prima linea del file specifica il '''TTL''' (Time To Live) di questa zona e indica quanto tempo deve trascorrere prima che Bind controlli i file locali per verificare eventuali cambiamenti. Il valore di default è espresso in secondi, ma potrebbe essere espresso anche secondo altre unità di tempo.<br> | La prima linea del file specifica il '''TTL''' (Time To Live) di questa zona e indica quanto tempo deve trascorrere prima che Bind controlli i file locali per verificare eventuali cambiamenti. Il valore di default è espresso in secondi, ma potrebbe essere espresso anche secondo altre unità di tempo.<br> | ||
Nel caso si sia configurato DHCP per aggiornare automaticamente bind, questo oltre ad inserire nuovi record provvederà anche a dichiare nuovi valori di ''$TTL''. Se per esempio ad un client è stato concesso un lease pari a 7200 secondi nel suddetto file il relativo record apparirà così: | Nel caso si sia configurato DHCP per aggiornare automaticamente bind, questo oltre ad inserire nuovi record provvederà anche a dichiare nuovi valori di ''$TTL''. Se per esempio ad un client è stato concesso un lease pari a 7200 secondi nel suddetto file il relativo record apparirà così: | ||
Riga 119: | Riga 119: | ||
</pre> | </pre> | ||
====Area 2==== | ===== Area 2 ===== | ||
Le linee successive indicano il '''SOA''' (Start Of Authority); il formato di questi record è il seguente: | Le linee successive indicano il '''SOA''' (Start Of Authority); il formato di questi record è il seguente: | ||
<pre> | <pre> | ||
Riga 141: | Riga 141: | ||
* negative caching ttl - è il periodo di tempo in cui uno slave server fornisce risposte negative alle interrogazioni | * negative caching ttl - è il periodo di tempo in cui uno slave server fornisce risposte negative alle interrogazioni | ||
====Area 3==== | ===== Area 3 ===== | ||
Seguono poi le linee che indicano i Server DNS della rete, nel formato: | Seguono poi le linee che indicano i Server DNS della rete, nel formato: | ||
<pre> | <pre> | ||
Riga 153: | Riga 153: | ||
Si noti che omettendo di specificare un 'name' (si veda il paragrafo sulla sintassi generale) bind userà l'ultimo specificato, in questo caso il <code>test.lan.</code> specificato con la precedente direttiva 'SOA'. | Si noti che omettendo di specificare un 'name' (si veda il paragrafo sulla sintassi generale) bind userà l'ultimo specificato, in questo caso il <code>test.lan.</code> specificato con la precedente direttiva 'SOA'. | ||
====Area 4==== | ===== Area 4 ===== | ||
Infine vengono specificati gli indirizzi delle macchine locali che posseggono un indirizzo IP statico, con la seguente sintassi: | Infine vengono specificati gli indirizzi delle macchine locali che posseggono un indirizzo IP statico, con la seguente sintassi: | ||
<pre> | <pre> | ||
Riga 159: | Riga 159: | ||
</pre> | </pre> | ||
====Sintassi generale==== | ===== Sintassi generale ===== | ||
Con l'esclusione dell'area 1, vale la seguente sintassi: | Con l'esclusione dell'area 1, vale la seguente sintassi: | ||
<pre>NAME TTL CLASS RR VARIE</pre> | <pre>NAME TTL CLASS RR VARIE</pre> | ||
Riga 172: | Riga 172: | ||
* '''VARIE''', dipende dal parametro RR, per esempio un IP se 'RR=A'. | * '''VARIE''', dipende dal parametro RR, per esempio un IP se 'RR=A'. | ||
====Misure di Tempo==== | ===== Misure di Tempo ===== | ||
In generale tutte le misure di tempo possono essere espresse come segue: | In generale tutte le misure di tempo possono essere espresse come segue: | ||
* '''s''' = secondi = # x 1 secondi, es.: <code>$TTL 86400s</code> equivale a <code>$TTL 86400</code>, ovvero un giorno | * '''s''' = secondi = # x 1 secondi, es.: <code>$TTL 86400s</code> equivale a <code>$TTL 86400</code>, ovvero un giorno | ||
Riga 181: | Riga 181: | ||
Si noti che tali unità possono essere combinate, per esempio 90s = 1m30s. | Si noti che tali unità possono essere combinate, per esempio 90s = 1m30s. | ||
=== /etc/bind/db.192.168.1: === | ==== /etc/bind/db.192.168.1: ==== | ||
Descrive la zona della nostra rete LAN. Non è presente nella directory <code>/etc/bind</code>, ma va creato con un editor di testo. | Descrive la zona della nostra rete LAN. Non è presente nella directory <code>/etc/bind</code>, ma va creato con un editor di testo. | ||
<pre> | <pre> | ||
Riga 210: | Riga 210: | ||
</pre> | </pre> | ||
=== /etc/bind/db.0, db.127, db.255, db.empty, db.local === | ==== /etc/bind/db.0, db.127, db.255, db.empty, db.local ==== | ||
Questi file descrivono le zone locali predefinite in bind e non andrebbero toccati. | Questi file descrivono le zone locali predefinite in bind e non andrebbero toccati. | ||
=== Riavvio del server === | ==== Riavvio del server ==== | ||
Fatta la configurazione, bisogna riavviare il demone bind9: | Fatta la configurazione, bisogna riavviare il demone bind9: | ||
<pre> | <pre> | ||
Riga 219: | Riga 219: | ||
</pre> | </pre> | ||
=== Risoluzione di indirizzi internet === | ==== Risoluzione di indirizzi internet ==== | ||
Ora il server DNS può risolvere i nomi host per il dominio test.lan presente sulla rete LAN, a condizione che gli IP indicati nel file di configurazione non cambino (da tenere presente che i valori indicati sono puramente indicativi); ciò implica che la nostra rete deve essere configurata con indirizzi IP statici, condizione accettabile se i PC non superano le 10 unità, altrimenti si deve considerare l'utilizzo di un server DHCP. Altra cosa da considerare, è che in questa situazione, Bind non riesce a risolvere i nomi di dominio Internet; per ovviare al problema, bisogna indicare a Bind uno o più server DNS pubblici che possano soddisfare le richieste che il server Linux fa per conto dei client, editando opportunamente il file <code>/etc/bind/named.conf.options</code> aggiungendo queste righe: | Ora il server DNS può risolvere i nomi host per il dominio test.lan presente sulla rete LAN, a condizione che gli IP indicati nel file di configurazione non cambino (da tenere presente che i valori indicati sono puramente indicativi); ciò implica che la nostra rete deve essere configurata con indirizzi IP statici, condizione accettabile se i PC non superano le 10 unità, altrimenti si deve considerare l'utilizzo di un server DHCP. Altra cosa da considerare, è che in questa situazione, Bind non riesce a risolvere i nomi di dominio Internet; per ovviare al problema, bisogna indicare a Bind uno o più server DNS pubblici che possano soddisfare le richieste che il server Linux fa per conto dei client, editando opportunamente il file <code>/etc/bind/named.conf.options</code> aggiungendo queste righe: | ||
<pre> | <pre> |
contributi