Bind: differenze tra le versioni

5 419 byte aggiunti ,  10 mag 2019
 
(Una versione intermedia di uno stesso utente non è mostrata)
Riga 19: Riga 19:
Inoltre in ambito ''SoHo'' è infrequente avere un router che supporti tale funzionalità, pertanto l'uso di ''Bind'' permette di superare tale limite, oltre a garantire la possibilità di aggiornamenti continui e rapidi, diversamente dai prodotti consumer che spesso ricevono aggiornamenti in grande ritardo, ammesso che ne ricevano del tutto.<br>
Inoltre in ambito ''SoHo'' è infrequente avere un router che supporti tale funzionalità, pertanto l'uso di ''Bind'' permette di superare tale limite, oltre a garantire la possibilità di aggiornamenti continui e rapidi, diversamente dai prodotti consumer che spesso ricevono aggiornamenti in grande ritardo, ammesso che ne ricevano del tutto.<br>
Nel caso di indirizzi dinamici è però bene ricordare che ''Bind'' può non bastare, infatti anche se tramite un server l'aggiornamento degli indirizzi avviene una sola volta per tutte le macchine, è comunque di tipo di manuale e in caso di molteplici macchine sarà ancora un problema.<br>
Nel caso di indirizzi dinamici è però bene ricordare che ''Bind'' può non bastare, infatti anche se tramite un server l'aggiornamento degli indirizzi avviene una sola volta per tutte le macchine, è comunque di tipo di manuale e in caso di molteplici macchine sarà ancora un problema.<br>
'''La soluzione completa prevede quindi l'uso in tandem sia di un server DNS che di uno DHCP''', dove quest'ultimo si occupa di tenere traccia delle variazioni degli indirizzi IP e di aggiornare automaticamente i record di ''Bind''.<br>
'''La soluzione completa prevede quindi l'uso in tandem sia di un server DNS che di uno DHCP''', dove quest'ultimo si occupa di tenere traccia delle variazioni degli indirizzi IP e di aggiornare automaticamente i record DNS di ''Bind''. Per l'installazione e configurazione di un server DHCP si veda la guida dedicata a [[ISC DHCP]] server.
Per l'installazione e configurazione di un server DHCP si veda la guida dedicata a [[ISC DHCP]] server.


=== Importante ===
=== Importante ===
Riga 381: Riga 380:
</pre>
</pre>
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.
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.
== 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 ===
==== Ipotesi ====
* Una decina di dispositivi con indirizzi statici tra computer (client windows e debian squeeze, un server debian squeeze) e stampanti di rete. Visto il ridotto numero si opta per un inserimento manuale dei relativi record DNS, pur essendo abilitato l'aggiornamento automatico tramite DHCP.
* Un portatile con indirizzo prefissato tramite dhcp, ma DNS inserito manualmente, e un portatile con MAC address conosciuto, ma indirizzo assegnato dinamicamente. In entrambi i casi la connessione può essere si via cavo che senza fili.
* Alcuni utenti saltuari cui si vuole garantire l'accesso a internet, ma non alla propria LAN. Si presume che tali utenti si colleghino via wireless, ma teoricamente potrebero collegarsi anche tramite cavo.
* Si ipotizza l'assenza di utenti malintenzionati, ovvero di utenti che cerchino attivamente di superare con ogni mezzo i limiti imposti.
==== resolv.conf ====
Non definito per i client debian, poiché gestito tramite ''network-manager'' (men che meno per quelli windows).<br>
Definito nel caso del server come:
<pre>
search small.lan
nameserver 127.0.0.1
</pre>
==== named.conf.local ====
<pre>
//
// Do any local configuration here
//
include "/etc/bind/rndc.key";
controls {
  inet 127.0.0.1 allow {localhost; } keys { "rndc-key"; };
};
zone "small.lan" {
  type master;
  file "/etc/bind/db.small";
  allow-update { key rndc-key; };
};
zone "1.168.192.in-addr.arpa" {
  type master;
  file "/etc/bind/db.192.168.1";
  allow-update { key rndc-key; };
};
// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";
</pre>
==== named.conf.options ====
<pre>
options {
  directory "/var/cache/bind";
  // If there is a firewall between you and nameservers you want
  // to talk to, you may need to fix the firewall to allow multiple
  // ports to talk.  See http://www.kb.cert.org/vuls/id/800113
  allow-query { 127.0.0.1; 192.168.1/24; } ;
  allow-transfer { none; } ;
  allow-recursion { 127.0.0.1; 192.168.1/24; } ;
  // If your ISP provided one or more IP addresses for stable
  // nameservers, you probably want to use them as forwarders.
  // Uncomment the following block, and insert the addresses replacing
  // the all-0's placeholder.
  forwarders {
      208.67.220.220;
      212.216.112.112;
      208.67.222.222;
      212.216.172.62;
  };
  auth-nxdomain no;    # conform to RFC1035
  listen-on-v6 { any; };
};
</pre>
==== db.small ====
<pre>
$ORIGIN .
$TTL 2592000    ; 30 giorni
small.lan    IN    SOA    server.small.lan. admin.small.lan. (
                          2012020713 ; serial
                          86400      ; refresh (1 day)
                          28800      ; retry (8 hours)
                          604800    ; expire (1 week)
                          86400      ; minimum (1 day)
                          )
            IN    NS    server.small.lan.
$ORIGIN small.lan.
router    IN    A        192.168.1.1
server    IN    A        192.168.1.100
PC1      IN    A        192.168.1.105
PC2      IN    A        192.168.1.106
PC3      IN    A        192.168.1.107
PC4      IN    A        192.168.1.108
PC5      IN    A        192.168.1.109
PC6      IN    A        192.168.1.110
PC7      IN    A        192.168.1.111
ST1      IN    A        192.168.1.116
ST2      IN    A        192.168.1.117
ST3      IN    A        192.168.1.118
alias1    IN    CNAME    server
alias2    IN    CNAME    server
</pre>
Attraverso CNAME è possibile definire degli alias per dei record precedentemente definiti, fatto che torna utile se per esempio si ha necessità di accedere ad una macchina attraverso differenti nomi, come nel caso di un server che ospiti diversi servizi (web server, server di posta, server ftp, ecc.). Alternativamente si potrebbero inserire altri record associando all'ip differenti nomi.
==== db.192.168.1 ====
<pre>
$ORIGIN .
$TTL 2592000    ; 30 giorni
1.168.192.in-addr.arpa    IN    SOA    server.small.lan. admin.small.lan. (
                                              2012020713 ; serial
                                              86400      ; refresh (1 day)
                                              28800      ; retry (8 hours)
                                              604800    ; expire (1 week)
                                              86400      ; minimum (1 day)
                                        )
                          IN    NS      server.small.lan.
$ORIGIN 1.168.192.in-addr.arpa.
1        IN    PTR        router.small.lan.
100      IN    PTR        server.small.lan.
105      IN    PTR        PC1.small.lan.
106      IN    PTR        PC2.small.lan.
107      IN    PTR        PC3.small.lan.
108      IN    PTR        PC4.small.lan.
109      IN    PTR        PC5.small.lan.
110      IN    PTR        PC6.small.lan.
111      IN    PTR        PC7.small.lan.
116      IN    PTR        ST1.small.lan.
117      IN    PTR        ST2.small.lan.
118      IN    PTR        ST3.small.lan.
</pre>
'''NON''' è possibile associare ad un indirizzo IP più di un nome di rete, diversamente dal file ''db.dune''. Quindi non più di una direttiva PTR per IP e niente alias.


== Approfondimenti ==
== Approfondimenti ==
2 894

contributi