3 155
contributi
Wtf (discussione | contributi) mNessun oggetto della modifica |
|||
(21 versioni intermedie di 6 utenti non mostrate) | |||
Riga 1: | Riga 1: | ||
{{Versioni compatibili|}} | {{Versioni compatibili|Squeeze|Wheezy}}{{Gateway-Router}} | ||
<br/> | |||
{{Warningbox|Per le versioni supportate di Debian si vedano le seguenti guide: [[Bind]] e [[ISC DHCP]]}} | |||
== Introduzione == | == Introduzione == | ||
In una rete locale con un server Linux e client Windows "recenti" (quindi da Windows 2000 in poi), per far sì che le comunicazioni di rete avvengano in modo efficiente, è necessario avere un server DNS che sia in grado di risolvere i nomi host dei vari PC in rete. Linux risponde benissimo a quest'esigenza col pacchetto Bind, che è appunto il server DNS più utilizzato in ambiente Linux. Il problema però è che se abbiamo una rete abbastanza estesa e con cambi frequenti, dovremmo aggiornare a mano i record A e PTR del server DNS, cosa alquanto scomoda per ovvi motivi, senza considerare che un inserimento manuale si presta benissimo ad errori di digitazione. | In una rete locale con un server Linux e client Windows "recenti" (quindi da Windows 2000 in poi), per far sì che le comunicazioni di rete avvengano in modo efficiente, è necessario avere un server DNS che sia in grado di risolvere i nomi host dei vari PC in rete. Linux risponde benissimo a quest'esigenza col pacchetto Bind, che è appunto il server DNS più utilizzato in ambiente Linux. Il problema però è che se abbiamo una rete abbastanza estesa e con cambi frequenti, dovremmo aggiornare a mano i record A e PTR del server DNS, cosa alquanto scomoda per ovvi motivi, senza considerare che un inserimento manuale si presta benissimo ad errori di digitazione. | ||
Riga 138: | Riga 141: | ||
* IN e SOA indicano che il server è un SOA e un DNS per internet | * IN e SOA indicano che il server è un SOA e un DNS per internet | ||
* primary nameserver - è il nome di dominio del server che stiamo installando | * primary nameserver - è il nome di dominio del server che stiamo installando | ||
* email address of admin - l'email dell'amministratore del server | * email address of admin - l'email dell'amministratore del server, in cui il simbolo @ è sostituito da un . | ||
* serial number - è il valore utilizzato dai server DNS slave per determinare se sono occorsi cambiamenti dall'ultima volta che hanno contattato il master DNS. È del tutto arbitrario (valore minimo 1, valore massimo molto grande) e nel caso di IP statici deve essere modificato manualmente dall'amministratore ogni volta che compie delle modifiche. In questa guida si è scelto un formato del tipo anno-mese-giorno-numero. | * serial number - è il valore utilizzato dai server DNS slave per determinare se sono occorsi cambiamenti dall'ultima volta che hanno contattato il master DNS. È del tutto arbitrario (valore minimo 1, valore massimo molto grande) e nel caso di IP statici deve essere modificato manualmente dall'amministratore ogni volta che compie delle modifiche. In questa guida si è scelto un formato del tipo anno-mese-giorno-numero. | ||
* refresh - è l'intervallo di tempo che deve trascorrere prima che un server slave ricontatti il proprio master | * refresh - è l'intervallo di tempo che deve trascorrere prima che un server slave ricontatti il proprio master | ||
Riga 192: | Riga 195: | ||
; | ; | ||
$TTL 604800 | $TTL 604800 | ||
@ IN SOA test.lan. hostmaster.test.lan. ( | @ IN SOA ns1.test.lan. hostmaster.test.lan. ( | ||
2007081501 ; serial | 2007081501 ; serial | ||
604800 ; refresh | 604800 ; refresh | ||
Riga 270: | Riga 273: | ||
# apt-get install isc-dhcp-common isc-dhcp-server | # apt-get install isc-dhcp-common isc-dhcp-server | ||
</pre> | </pre> | ||
{{Warningbox|Il server DHCP appena installato tenterà subito di avviarsi, ma fallirà, non essendo ancora stato configurato. Non spaventatevi quindi se subito dopo l'installazione ricevete il messaggio "<code>Starting ISC DHCP server: dhcpdcheck syslog for diagnostics. ... failed!</code>".<br/>Basta proseguire nella lettura della guida e tutto andrà a posto}} | |||
=== Configurazione === | === Configurazione === | ||
Riga 349: | Riga 353: | ||
}; | }; | ||
</pre> | </pre> | ||
Il file completo dovrebbe avere questo contenuto: | Il file completo, dopo l'aggiunta delle ACL per la gestione del traffico interno e esterno, dovrebbe avere questo contenuto: | ||
<pre> | <pre> | ||
acl internals { | acl internals { | ||
Riga 380: | Riga 384: | ||
}; | }; | ||
</pre> | </pre> | ||
Poichè nel file < | Poichè nel file <code>/etc/bind/named.conf.local</code> abbiamo utilizzato la direttiva <code>view</code>, è necessario che tutte le zone di Bind siano configurate all'interno di una propria <code>view</code>. Perciò dobbiamo modificare anche il file <code>/etc/bind/named.conf.default-zones</code> aggiungendo all'inizio del file le righe: | ||
<pre> | <pre> | ||
view "external" { | view "external" { | ||
Riga 502: | Riga 506: | ||
* abilitiamo la navigazione sui siti web interni alla LAN senza passare dal proxy | * abilitiamo la navigazione sui siti web interni alla LAN senza passare dal proxy | ||
* per la navigazione al di fuori della LAN configuriamo automaticamente il proxy con indirizzo IP 192.168.1.1 e in ascolto sulla porta 3128 | * per la navigazione al di fuori della LAN configuriamo automaticamente il proxy con indirizzo IP 192.168.1.1 e in ascolto sulla porta 3128 | ||
Aggiungiamo un puntatore nel file di configurazione della zona di Bind: | |||
<pre> | |||
server A 192.168.1.1 | |||
wpad CNAME server | |||
</pre> | |||
A questo punto dobbiamo configurare il server DHCP, agendo sul suo file di configurazione: | A questo punto dobbiamo configurare il server DHCP, agendo sul suo file di configurazione: | ||
<pre> | <pre> | ||
# nano /etc/dhcp/dhcpd.conf | # nano /etc/dhcp/dhcpd.conf | ||
</pre> | </pre> | ||
e aggiungendo | e aggiungendo le opzioni: | ||
<pre> | <pre> | ||
option local- | option local-proxy-config code 252 = text; | ||
option local-proxy-config "http://server/wpad.dat"; | |||
</pre> | </pre> | ||
nella sezione generale del file | nella sezione generale del file. | ||
<br/> | <br/> | ||
Infine | Infine modifichiamo il file <code>/etc/mime.types</code> affinchè Apache serva correttamente il file, aggiungendo la riga: | ||
< | |||
</ | |||
<pre> | <pre> | ||
application/x-ns-proxy-autoconfig pac dat | |||
</pre> | </pre> | ||
Riga 538: | Riga 539: | ||
* i clock non sono sincronizzati | * i clock non sono sincronizzati | ||
* la chiave non è valida | * la chiave non è valida | ||
=== Bind non riparte dopo un aggiornamento di sistema === | |||
Digitare: | |||
<pre># journalctl -xe</pre> | |||
Se compare questo errore: | |||
<pre> | |||
/etc/bind/named.conf.local:5: open: /etc/bind/rndc.key: permission denied | |||
loading configuration: permission denied | |||
exiting (due to fatal error) | |||
</pre> | |||
È probabile che si siano cambiato il proprietario del file <code>/etc/bind/rndc.key</code>. Verificare che il proprietario sia root e che il gruppo sia bind. Verificare inoltre che i permessi del file siano 640. | |||
=== Errori in /var/log/syslog === | === Errori in /var/log/syslog === | ||
Riga 585: | Riga 596: | ||
==== error (no valid RRSIG) resolving nome.dominio ==== | ==== error (no valid RRSIG) resolving nome.dominio ==== | ||
Il problema è nella funzione DNSSEC di Bind, che fa in modo che il server rifiuti di restituire risposte non validate. Per eliminare l'errore è sufficiente aggiungere al file < | Il problema è nella funzione DNSSEC di Bind, che fa in modo che il server rifiuti di restituire risposte non validate. Per eliminare l'errore è sufficiente aggiungere al file <code>/etc/bind/named.conf.options</code> aggiungendo le linee: | ||
<pre> | <pre> | ||
dnssec-enable no; | dnssec-enable no; | ||
Riga 664: | Riga 675: | ||
Jul 3 21:02:22 eyrie named[3095]: client X.X.X.X#32790: query 'eyrie.raptor.loc/A/IN' denied | Jul 3 21:02:22 eyrie named[3095]: client X.X.X.X#32790: query 'eyrie.raptor.loc/A/IN' denied | ||
</pre> | </pre> | ||
Questo indica un problema con la direttiva <code>allow-query { }</code> in <code>/etc/bind/named.conf.options</code>. | Questo indica un problema con la direttiva <code>allow-query { }</code> in <code>/etc/bind/named.conf.options</code>, ad esempio è indicato male il range di IP della nostra LAN. | ||
== Troubleshooting dhcpd == | == Troubleshooting dhcpd == | ||
=== isc-dhcp-server non riparte dopo un aggiornamento di sistema === | |||
Digitare da terminale: | |||
<pre># systemctl status isc-dhcp-server.service</pre> | |||
Se compaiono uno o più dei seguenti errori | |||
<pre>No subnet declaration for ...</pre> | |||
oppure | |||
<pre>No subnet6 declaration for ...</pre> | |||
e voi siete sicuri che la prima o entrambe (se usate anche IPv6) le dichiarazioni sono presenti, allora è necessario controllare il file <code>nano /etc/default/isc-dhcp-server</code> assicurandosi che sia presente (e non commentata) in coda la seguente dichiarazione (valida per IPv4): | |||
<pre>INTERFACESv4="nome_interfacce"</pre> | |||
dove nome_interfaccia è appunto il nome dell'interfaccia di rete su cui dhcpd deve rimanere in ascolto, ad es. "eth0" (NON omettere i doppi apici!). Si noti che è <code>INTERFACESv4</code> e non semplicemente <code>INTERFACES</code> come per le versioni più vecchie. | |||
Prima di riavviare il demone digitare anche: | |||
<pre># journalctl -xe</pre> | |||
Se nel log compaiono sia <code>Failed to start LSB: DHCP server.</code> che <code>Starting ISC DHCPv4 server: dhcpddhcpd service already running (pid file /var/run/dhcpd.pid currenty exists) ... failed!</code> è necessario: | |||
# arrestare il server | |||
# eliminare manualmente il file <code>/var/run/dhcpd.pid</code> | |||
A questo punto riavviare il demone e gli errori dovrebbero scomparire. | |||
=== dhcp3 === | === dhcp3 === | ||
Riga 699: | Riga 731: | ||
== Esempi == | == Esempi == | ||
=== Comandi utili === | |||
Elencare gli indirizzi IP dati in prestito da bind9: | |||
<pre># dhcp-lease-list --lease /var/lib/dhcp/dhcpd.leases</pre> | |||
=== Piccola LAN === | === Piccola LAN === | ||
Riga 916: | Riga 952: | ||
: [[Utente:Wtf|Wtf]] | : [[Utente:Wtf|Wtf]] | ||
: [[Utente:gmc|gmc]] | : [[Utente:gmc|gmc]] | ||
|Numero_revisori = | : [[Utente:fexice|fexice]] | ||
|Numero_revisori = 3 | |||
}} | }} | ||
[[Categoria:DNS e DHCP]] | [[Categoria:DNS e DHCP]] |
contributi