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

Riga 232: Riga 232:
Ora, un riavvio del demone dhcp3-server completerà l’opera, ed avremo una rete con i PC che prendono la configurazione IP da un server DHCP, il quale aggiorna dinamicamente il server DNS in modo tale che tutte le operazioni di risoluzione dei nomi host avvengano correttamente sull’intera rete locale. Il vantaggio di questa soluzione è l’elevata automatizzazione dei processi descritti, che comporta un intervento dell’amministratore di sistema che si limita alla configurazione iniziale ed alla normale manutenzione del server, senza dover svolgere noiosi, inutili e ripetitivi aggiornamenti manuali.
Ora, un riavvio del demone dhcp3-server completerà l’opera, ed avremo una rete con i PC che prendono la configurazione IP da un server DHCP, il quale aggiorna dinamicamente il server DNS in modo tale che tutte le operazioni di risoluzione dei nomi host avvengano correttamente sull’intera rete locale. Il vantaggio di questa soluzione è l’elevata automatizzazione dei processi descritti, che comporta un intervento dell’amministratore di sistema che si limita alla configurazione iniziale ed alla normale manutenzione del server, senza dover svolgere noiosi, inutili e ripetitivi aggiornamenti manuali.
=Troubleshooting Bind=
=Troubleshooting Bind=
Ancora da fare
==Bind non riparte dopo un riavvio==
Utilizzando il comando <tt>rndc reload</tt> qualche volta Bind può rifiutarsi di partire:
<pre>
metaserver:/etc/bind# rndc reload
rndc: connection to remote host closed
</pre>
Questo può indicare che
* il server sta usando una vecchia versione del protocollo
* l'host da cui tentiamo di connetterci non è autorizzato alla connessione a Bind
* i clock non sono sincronizzati
* la chiave non è valida
==Errori in /var/log/syslog==
Una volta che Bind è ripartito, con il comando <tt>/etc/init.d/bind9 restart</tt> il passo successivo è controllare il file <tt>/var/log/syslog</tt> in cerca di eventuali errori. Qui sotto proverò ad elencare i più comuni. Ricordatevi di riavviare Bind ogni volta che correggete un errore.
===Missing Period in a Zone File===
Questo errore indica che ci siamo dimenticati di inserire un punto <tt>.</tt> alla fine della dichiarazione del FQDN all'interno dei files:
* <tt>/etc/bind/db.test</tt>
* <tt>/etc/bind/db.192.168.1</tt>
===Filename Typo===
I nomi dei files delle zone creati in <tt>/etc/bind</tt> non corrispondono a quelli specificati nel file <tt>/etc/bind/named.conf.local</tt>. Dovreste trovare anche un errore come il seguente:
<pre>
Jul  3 19:22:42 eyrie named[2847]: zone 1.168.192.in-addr.arp/IN: loading from master file
  /etc/bind/db.1.169.192 failed: file not found
</pre>
===Ignoring out-of-zone-data and 0 SOA/NS Records for Reverse DNS?===
Questo è un po'' criptico:
<pre>
Jul  3 19:49:28 eyrie named[3028]: /etc/bind/db.1.168.192:3: ignoring out-of-zone data (raptor.loc)
Jul  3 19:49:28 eyrie named[3028]: /etc/bind/db.1.168.192:12: ignoring out-of-zone data (raptor.loc)
Jul  3 19:49:28 eyrie named[3028]: zone 1.168.192.in-addr.arp/IN: has 0 SOA records
Jul  3 19:49:28 eyrie named[3028]: zone 1.168.192.in-addr.arp/IN: has no NS records
</pre>
Probabilmente uno dei files di zona non contiene le corrette dichiarazioni SOA.
===Turning Logging On/Off===
Quando siamo alla ricerca di errori, può essere comodo abilitare temporaneamente il log di tutte le operazioni DNS sul file <tt>/var/log/syslog</tt> usando il comando:
<pre>
rndc querylog
</pre>
Questo porterà alla registrazione di numerose linee come le seguenti:
<pre
Jul  3 21:25:40 eyrie named[3189]: client 192.168.1.200#32793: query: eyrie.raptor.loc IN A +
Jul  3 21:25:41 eyrie named[3189]: client 192.168.1.200#32793: query: gyrfalcon.raptor.loc IN A +
</pre>
Per disabilitare il log occorre ridare il comando precedente.
===Testing===
Una volta eliminati gli errori dai log possiamo testare il corretto funzionamento del server DNS, con il comando:
<pre>
host
</pre>
Qui di seguito sono elencati alcuni problemi comuni:
# Record non found
<pre>
eyrie:~# host eyrie
eyrie A record not found, server failure
</pre>
Il client non sta usando il corretto server DNS. Occorre modificare il file <tt>/etc/resolv.conf</tt> oppure agire sulla configurazione di Network Manager.
# Host does not exist
<pre>
eyrie:~# host eyrie
eyrie does not exist, try again
</pre>
Problema simile al precedente, per risolvere il quale occorre specificare il dominio di ricerca all'interno del file <tt>/etc/resolv.conf</tt>.
# Record query refused
<pre>
eyrie:~# host eyrie
eyrie.raptor.loc A record query refused
</pre>
Dopo aver ottenuto questo errore comparirà una linea in <tt>/var/log/syslog</tt> sul server DNS:
<pre>
eyrie:~# tail /var/log/daemon.log
Jul  3 21:02:22 eyrie named[3095]: client X.X.X.X#32790: query 'eyrie.raptor.loc/A/IN' denied
</pre>
Questo indica un problema con la direttiva <tt>allow-query { }</tt> in <tt>/etc/bind/named.conf.options</tt>.
# Does not exist (Authoritative answer)
<pre>
gyrfalcon:~# host eyrie
eyrie.raptor.loc does not exist (Authoritative answer)
</pre>
Di solito questo indica un problema con il Forward DNS, oppure che è stato dimenticato un punto finale in uno di questi files:
* <tt>/etc/bind/db.test</tt>
* <tt>/etc/bind/db.192.168.1</tt>
<br/>
<br/>
: [[Utente:Ferdybassi|Ferdybassi]]
: [[Utente:Ferdybassi|Ferdybassi]]