]> git.piffa.net Git - doc/.git/blobdiff - source/servizi.txt
Aggiunta nsupdate a servizi
[doc/.git] / source / servizi.txt
index 6f07cef41a39b09c46d262178b99939c36482a50..daac3dbd53a020b6a22633386469dac3c516a3da 100644 (file)
@@ -1282,9 +1282,11 @@ piffa.net::
         ns1             A       94.23.63.105
         ns2             A       65.98.21.97
         zoo             A       94.23.63.105
+        smtp            A       94.23.63.105
         test.piffa.net. A       94.23.63.105
         *.piffa.net.    A       94.23.63.105 ; *catch all domain
         www             CNAME   zoo
+        ftp             CNAME   zoo
 
 
 
@@ -1336,7 +1338,7 @@ TXT
         Informazioni testuali associate ad un record
 
 NS
-        Name Server della zona
+        Name Server della zona. Non deve essere un cname.
 
 A
         Indirizzo ipv4 da associare al record
@@ -1345,10 +1347,10 @@ AAA
         Indirizzo ipv6 da associare al record
 
 CNAME
-        Canonical Name: un alias per un host
+        Canonical Name: un alias per un host: ad esempio per il dominio piffa.net possiamo settare degli alias come ``www.piffa.net, http.piffa.net, virtual.piffa.net, ftp.piffa.net, imap.piffa.net``. Comodo quando diversi alias sono sempre riferiti allo stesso ip.
 
 MX
-        Mail Exchanger: server di posta che si occupera' della posta elettronica per questo dominio.E' opportuno avere almeno un server di posta di back-up, per indicare la priorita' di un MX rispettoad un altro si usa un valore di 2 cifre: il valore piu' basso indica priorita' piu' bassa. Es: ``MX    10 smtp.piffa.net.`` per il server SMTP principale e ``MX      40 smtp2.piffa.net`` per il secondario.
+        Mail Exchanger: server di posta che si occupera' della posta elettronica per questo dominio.E' opportuno avere almeno un server di posta di back-up, per indicare la priorita' di un MX rispettoad un altro si usa un valore di 2 cifre: il valore piu' basso indica priorita' piu' bassa. Es: ``MX    10 smtp.piffa.net.`` per il server SMTP principale e ``MX      40 smtp2.piffa.net`` per il secondario. Non deve essere un cname.
 
 PTR
         Reverse look-up, usato per la mappatura inversa di un indirizzo ip a una stringa identificativa dell'host. Si noti che per poter modificare questi record si deve avere *in gestione* la *zona IP*, se cosi' non fosse si dovra' chiedere al propio provider la modifica di questo record per il propio ip. Links: http://www.zytrax.com/books/dns/ch3/
@@ -1381,6 +1383,76 @@ Segue un estratto di ``/var/log/syslog`` al ``restart`` di ``bind9`` sullo slave
 .. warning::
        Bind9 (versione 9.3 presente in Debian Lenny) richiede una esplicita autorizzazione alla notifica per lo stesso server slave, che in fase di avvio interroghera' (inviando un notify) se' stesso per valutare se i dati relativi alla zona di cui e' slave sono aggiornati. Si aggiunga quindi al file ``/etc/bind/named.conf.options`` dello slave: ``allow-notify { 192.168.0.1; };`` all'interno della stanza ``options``, in cui l'inidirizzo IP inserito e' quello dello stesso slave server.
 
+Aggiornamento dinamico: nsupdate
+----------------------------------
+
+Dalla versione 8 di Bind e' dsponibile l'utility ``nsupdate`` (disponibile nel pacchetto ``dnsutils``) per aggiornare automaticamente i record di una zona secondo il paradigma client / server ( RFC2136 ) . Posto che abbiate a disposizione un server DNS Bind on-line su un indirizzo IP fisso e un zona da gestire (che potrebbe essere anche solo la delega di un dominio di terzo livello come *casa.miodominio.net*) sara' possibile aggiornare automaticamente i record che tirano a degli indirizzi IP *pubblici ma dnamici*, come quelli spesso messi a disposizione dei provider per le connessioni ad internet residenziali, in modo da poter rendere sempre raggiungibile la vostra workstation a casa anche dopo un aggiornamento dell'ip dinamico associato alla connessione.
+
+L'auenticazione del client nsupdate che avra' la possibilita' di aggiornare il server DNS master avviene tramite *Transaction signatures* (TSIG, RFC2845) usando un algoritmo di criptazione dati asimmetrico *HMAC-MD5* : generata una coppia di chiavi sul client / nsupdate  con l'utility  si dovra' trasferire la chiave pubblica sul server *master*, che verra' configurato per onorare gli aggiornamenti (eliminazione e inserimento di record RR) autenticati dalla chiave privata.
+
+Configurazione client (nsupdate)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Sul client, sul quale non deve essere necessariamente  installato un server DNS Bind ma la sola utility ``nsupdate``, generiamo la coppia di chiavi con l'utility ``dnssec-keygen`` installabile tramite il pacchetto  ``bind9utils``::
+       
+       dnssec-keygen -a HMAC-MD5 -b 512 -n USER home.piffa.net.
+
+Otterremo le due chiavi ``Khome.piffa.net.+157+04331.key  Khome.piffa.net.+157+04331.private``, la chiave pubblica dovra' essere resa noto al server master che ricevera' l'update dei records. 
+
+Configurazione server: riconoscimento chiave
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Per rendere nota al server la chiave pubblica generata sul client si aggiunga quindi al file ``/etc/bind/named.conf`` sul server::
+       key home.piffa.net. {
+               algorithm HMAC-MD5;
+               secret "txfAkNTScANEu2V73mCeiDpXNc3pmf+7ONOoKnTKQKIZMzierSmeHjK5 Z8ntnByt/PJwv26jCIsVh8n+xzVsRw==";
+               };
+
+.. note::
+       La parte ``secret``, che potete leggere direttamente nel file \*.key della chiave genearta, e' scritto *tutto sulla stessa riga* senza ritorni a capo.
+
+
+Server: gestione dell'intera zona
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Sul server modifichiamo il file di configurazione ``named.conf.local`` della zona della quale vogliamo concedere l'aggiornamento al client::
+       
+       zone "piffa.net" {
+               type master;
+               file "/etc/bind/pz/piffa.net" ;
+               allow-update {
+                               key  home.piffa.net;
+                               };
+        };
+
+Sara' necessario assicurarsi che il demone di Bind sia in grado di modificare il file ``/etc/bind/pz/piffa.net``: dato che questo file ora sara' gestito da lui si proceda a cedergli la propieta' del file::
+       chown bind /etc/bind/pz/piffa.net
+
+Altro problema che si potrebbe porre: gli orologi di sistema dei due host devono essere sincronizzati per poter valutare l'opportunita' di un aggiornamento: si consigla di installare su entrambi l'utility ``ntpdate`` e di eseguirla facendo riferimento ai time server di Debian::
+
+       apt-get install ntpdate
+       ntpdate-debian
+
+
+Ora possiamo provare dal client a effettuare l'iserimento di un record per testarne il funzionamento::
+
+       # nsupdate -k Khome.piffa.net.+157+04331.private -v
+       > server ns1.piffa.net
+       > update add home.piffa.net. 86400 A 192.168.0.2
+       > show
+       Outgoing update query:
+       ;; ->>HEADER<<- opcode: UPDATE, status: NOERROR, id:      0
+       ;; flags: ; ZONE: 0, PREREQ: 0, UPDATE: 0, ADDITIONAL: 0
+       ;; UPDATE SECTION:
+       home.piffa.net.         86400   IN      A       192.168.0.1
+       
+       
+       > send
+
+Per comprendere meglio l'uso dell'utility ``nsupdate`` si consiglia la lettura della relativa pagina man. Nella prima riga viene invocato il comando ``nsupdate`` impostando col *flag* ``-k`` la chiave *privata* generata precedentemente, con ``server`` si imposta quale server NS autoritario della zona (che abbiamo precedentemente configurato per ricevere gli aggiornamenti) vogliamo contattare. Alla riga sucessiva ``update`` viene aggiunto un record ``A`` per la il dominio ``home.piffa.net`` indirizzato all'IP ``192.168.0.2``, poi ``show`` mostra quanto ci si prepara a comunicare al server con il finale ``send`` .
+
+Si noti che in questo modo *l'intera* zona piffa.net e suscettibile di essere modificata dal client, che potra' eliminare e inserire qualunque record. E' possibile gestire in modo piu' granulare la zona, ad esempio concedendo al client i privilegi per gestire solo una parte della zona o i tipo di record da gestire.
+
 
 Link suggeriti:
 ----------------