3 155
contributi
Wtf (discussione | contributi) Nessun oggetto della modifica |
Wtf (discussione | contributi) Nessun oggetto della modifica |
||
Riga 27: | Riga 27: | ||
Si supponga che sul server DNS sia fatta l'associazione (corretta) 'IP/NOME1' e che un utente tramite il proprio file <code>hosts</code> la modifichi in 'IP/NOME2' (fittizia); se dopo tale modifica quest'utente esegue il comando <code>ping NOME2</code> egli raggiungerà correttamente e immediatamente IP. Ipotizzando ora che tale utente elimini dal proprio file <code>hosts</code> l'associazione fittizia 'IP/NOME2' e che successivamente esegua il comando <code>ping NOME1</code>, potrebbe accadere che IP risulti irraggiungibile per diverso tempo, anche mezz'ora. | Si supponga che sul server DNS sia fatta l'associazione (corretta) 'IP/NOME1' e che un utente tramite il proprio file <code>hosts</code> la modifichi in 'IP/NOME2' (fittizia); se dopo tale modifica quest'utente esegue il comando <code>ping NOME2</code> egli raggiungerà correttamente e immediatamente IP. Ipotizzando ora che tale utente elimini dal proprio file <code>hosts</code> l'associazione fittizia 'IP/NOME2' e che successivamente esegua il comando <code>ping NOME1</code>, potrebbe accadere che IP risulti irraggiungibile per diverso tempo, anche mezz'ora. | ||
== Installazione | == Installazione == | ||
Il primo passo per organizzare questa architettura di rete è quello di installare Bind9 sul server Linux e le relative utilità, col comando: | Il primo passo per organizzare questa architettura di rete è quello di installare Bind9 sul server Linux e le relative utilità, col comando: | ||
<pre> | <pre> | ||
Riga 35: | Riga 33: | ||
</pre> | </pre> | ||
== Configurazione == | |||
A questo punto va configurato Bind in modo che possa risolvere i nomi host per il dominio che andremo a creare. Il primo passo, consiste nel dire al server Linux che la risoluzione dei nomi dev'essere delegata a se stesso, editando opportunamente il file <code>/etc/resolv.conf</code>.<br /> | A questo punto va configurato Bind in modo che possa risolvere i nomi host per il dominio che andremo a creare. Il primo passo, consiste nel dire al server Linux che la risoluzione dei nomi dev'essere delegata a se stesso, editando opportunamente il file <code>/etc/resolv.conf</code>.<br /> | ||
Successivamente bisogna modificare il file principale di configurazione di Bind, ovvero nel caso di Lenny e precedenti <code>/etc/bind/named.conf</code>, mentre nel caso di Squeeze <code>/etc/bind/named.conf.local</code>. È tramite questi file che si definisce dove sono posizionati i file in cui sono definite le zone corrispondenti ai vari domini che si vogliono configurare nonché i diversi parametri in generale.<br /> | Successivamente bisogna modificare il file principale di configurazione di Bind, ovvero nel caso di Lenny e precedenti <code>/etc/bind/named.conf</code>, mentre nel caso di Squeeze <code>/etc/bind/named.conf.local</code>. È tramite questi file che si definisce dove sono posizionati i file in cui sono definite le zone corrispondenti ai vari domini che si vogliono configurare nonché i diversi parametri in generale.<br /> | ||
Sebbene in Lenny e precedenti sia possibile definire tutto nel file <code>/etc/bind/named.conf</code> in questa guida si opterà per inserire le nostre zone "locali" in un file apposito, chiamato <code>/etc/bind/named.conf.local</code> (metodologia divenuta standard in Squeeze, come già detto). | Sebbene in Lenny e precedenti sia possibile definire tutto nel file <code>/etc/bind/named.conf</code> in questa guida si opterà per inserire le nostre zone "locali" in un file apposito, chiamato <code>/etc/bind/named.conf.local</code> (metodologia divenuta standard in Squeeze, come già detto). | ||
Si ipotizzi quindi di avere un dominio <code>test.lan</code> 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 === | |||
Per quanto riguarda il server: | Per quanto riguarda il server: | ||
<pre> | <pre> | ||
Riga 61: | Riga 59: | ||
</pre> | </pre> | ||
=== /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 86: | Riga 84: | ||
client IN A 192.168.1.3 | client IN A 192.168.1.3 | ||
</pre> | </pre> | ||
==== 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 95: | Riga 93: | ||
</pre> | </pre> | ||
==== 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 117: | Riga 115: | ||
* 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 ==== | |||
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 129: | Riga 127: | ||
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 ==== | |||
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 135: | Riga 133: | ||
</pre> | </pre> | ||
==== 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 148: | Riga 146: | ||
* '''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 ==== | |||
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 157: | Riga 155: | ||
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: === | |||
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 186: | Riga 184: | ||
</pre> | </pre> | ||
=== Altri file === | |||
* <code>/etc/bind/db.0</code> | * <code>/etc/bind/db.0</code> | ||
* <code>db.127</code> | * <code>db.127</code> | ||
Riga 194: | Riga 192: | ||
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 === | |||
Fatta la configurazione, bisogna riavviare il demone bind9: | Fatta la configurazione, bisogna riavviare il demone bind9: | ||
<pre> | <pre> | ||
Riga 200: | Riga 198: | ||
</pre> | </pre> | ||
=== 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