Un server DNS e DHCP su Debian: differenze tra le versioni

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>
3 155

contributi