]> git.piffa.net Git - doc/.git/commitdiff
Aggiunta nsupdate a servizi
authorAndrea Manni <eaman@conny.andreamanni.com>
Sat, 13 Jun 2009 14:39:55 +0000 (14:39 +0000)
committerAndrea Manni <eaman@conny.andreamanni.com>
Sat, 13 Jun 2009 14:39:55 +0000 (14:39 +0000)
 Changes to be committed:
   (use "git reset HEAD <file>..." to unstage)

modified:   servizi.html
modified:   source/servizi.txt

servizi.html
source/servizi.txt

index 1522b048f7c0f83938d7fed93ca8b7a48c921dd3..93d66af93199988883e8eb709a3110fd338fc18b 100644 (file)
             "id70" name="id70">6.3&nbsp;&nbsp;&nbsp;DNS
             slave</a></li>
 
+            <li>
+              <a class="reference internal" href=
+              "#aggiornamento-dinamico-nsupdate" id="id71" name=
+              "id71">6.4&nbsp;&nbsp;&nbsp;Aggiornamento dinamico:
+              nsupdate</a>
+
+              <ul class="auto-toc">
+                <li><a class="reference internal" href=
+                "#configurazione-client-nsupdate" id="id72" name=
+                "id72">6.4.1&nbsp;&nbsp;&nbsp;Configurazione client
+                (nsupdate)</a></li>
+
+                <li><a class="reference internal" href=
+                "#configurazione-server-riconoscimento-chiave" id=
+                "id73" name=
+                "id73">6.4.2&nbsp;&nbsp;&nbsp;Configurazione
+                server: riconoscimento chiave</a></li>
+
+                <li><a class="reference internal" href=
+                "#server-gestione-dell-intera-zona" id="id74" name=
+                "id74">6.4.3&nbsp;&nbsp;&nbsp;Server: gestione
+                dell'intera zona</a></li>
+              </ul>
+            </li>
+
             <li><a class="reference internal" href=
-            "#link-suggeriti" id="id71" name=
-            "id71">6.4&nbsp;&nbsp;&nbsp;Link suggeriti:</a></li>
+            "#link-suggeriti" id="id75" name=
+            "id75">6.5&nbsp;&nbsp;&nbsp;Link suggeriti:</a></li>
           </ul>
         </li>
 
         <li>
-          <a class="reference internal" href="#samba" id="id72"
-          name="id72">7&nbsp;&nbsp;&nbsp;Samba</a>
+          <a class="reference internal" href="#samba" id="id76"
+          name="id76">7&nbsp;&nbsp;&nbsp;Samba</a>
 
           <ul class="auto-toc">
             <li><a class="reference internal" href="#pacchetti" id=
-            "id73" name=
-            "id73">7.1&nbsp;&nbsp;&nbsp;Pacchetti</a></li>
+            "id77" name=
+            "id77">7.1&nbsp;&nbsp;&nbsp;Pacchetti</a></li>
 
             <li><a class="reference internal" href=
-            "#passwords-e-autenticazione" id="id74" name=
-            "id74">7.2&nbsp;&nbsp;&nbsp;Passwords e
+            "#passwords-e-autenticazione" id="id78" name=
+            "id78">7.2&nbsp;&nbsp;&nbsp;Passwords e
             autenticazione</a></li>
 
             <li><a class="reference internal" href=
-            "#creazione-utenti" id="id75" name=
-            "id75">7.3&nbsp;&nbsp;&nbsp;Creazione Utenti</a></li>
+            "#creazione-utenti" id="id79" name=
+            "id79">7.3&nbsp;&nbsp;&nbsp;Creazione Utenti</a></li>
 
             <li>
               <a class="reference internal" href=
-              "#creare-la-condivisione" id="id76" name=
-              "id76">7.4&nbsp;&nbsp;&nbsp;Creare la
+              "#creare-la-condivisione" id="id80" name=
+              "id80">7.4&nbsp;&nbsp;&nbsp;Creare la
               condivisione</a>
 
               <ul class="auto-toc">
                 <li><a class="reference internal" href=
                 "#sicurezza-permessi-di-esecuzione-sul-server" id=
-                "id77" name=
-                "id77">7.4.1&nbsp;&nbsp;&nbsp;Sicurezza: permessi
+                "id81" name=
+                "id81">7.4.1&nbsp;&nbsp;&nbsp;Sicurezza: permessi
                 di esecuzione sul server</a></li>
               </ul>
             </li>
             <li>
               <a class="reference internal" href=
               "#configurazione-dell-applicativo-samba-vero-e-proprio"
-              id="id78" name=
-              "id78">7.5&nbsp;&nbsp;&nbsp;Configurazione
+              id="id82" name=
+              "id82">7.5&nbsp;&nbsp;&nbsp;Configurazione
               dell'applicativo Samba vero e proprio.</a>
 
               <ul class="auto-toc">
                 <li><a class="reference internal" href=
-                "#creazione-di-un-gruppo" id="id79" name=
-                "id79">7.5.1&nbsp;&nbsp;&nbsp;Creazione di un
+                "#creazione-di-un-gruppo" id="id83" name=
+                "id83">7.5.1&nbsp;&nbsp;&nbsp;Creazione di un
                 gruppo</a></li>
               </ul>
             </li>
 
             <li><a class="reference internal" href=
-            "#testare-il-servizio" id="id80" name=
-            "id80">7.6&nbsp;&nbsp;&nbsp;Testare il
+            "#testare-il-servizio" id="id84" name=
+            "id84">7.6&nbsp;&nbsp;&nbsp;Testare il
             Servizio</a></li>
           </ul>
         </li>
 
         <li>
           <a class="reference internal" href=
-          "#server-di-posta-postfix" id="id81" name=
-          "id81">8&nbsp;&nbsp;&nbsp;Server di posta: Postfix</a>
+          "#server-di-posta-postfix" id="id85" name=
+          "id85">8&nbsp;&nbsp;&nbsp;Server di posta: Postfix</a>
 
           <ul class="auto-toc">
             <li>
               <a class="reference internal" href=
-              "#test-del-server-smtp" id="id82" name=
-              "id82">8.1&nbsp;&nbsp;&nbsp;Test del server smtp</a>
+              "#test-del-server-smtp" id="id86" name=
+              "id86">8.1&nbsp;&nbsp;&nbsp;Test del server smtp</a>
 
               <ul class="auto-toc">
                 <li><a class="reference internal" href="#swaks" id=
-                "id83" name=
-                "id83">8.1.1&nbsp;&nbsp;&nbsp;Swaks</a></li>
+                "id87" name=
+                "id87">8.1.1&nbsp;&nbsp;&nbsp;Swaks</a></li>
               </ul>
             </li>
 
             <li><a class="reference internal" href="#imap-e-pop"
-            id="id84" name="id84">8.2&nbsp;&nbsp;&nbsp;Imap e
+            id="id88" name="id88">8.2&nbsp;&nbsp;&nbsp;Imap e
             pop</a></li>
 
             <li>
               <a class="reference internal" href=
-              "#client-a-riga-di-comando" id="id85" name=
-              "id85">8.3&nbsp;&nbsp;&nbsp;Client a riga di
+              "#client-a-riga-di-comando" id="id89" name=
+              "id89">8.3&nbsp;&nbsp;&nbsp;Client a riga di
               comando</a>
 
               <ul class="auto-toc">
                 <li><a class="reference internal" href="#mailx" id=
-                "id86" name=
-                "id86">8.3.1&nbsp;&nbsp;&nbsp;mailx</a></li>
+                "id90" name=
+                "id90">8.3.1&nbsp;&nbsp;&nbsp;mailx</a></li>
 
                 <li><a class="reference internal" href="#mutt" id=
-                "id87" name=
-                "id87">8.3.2&nbsp;&nbsp;&nbsp;Mutt</a></li>
+                "id91" name=
+                "id91">8.3.2&nbsp;&nbsp;&nbsp;Mutt</a></li>
 
                 <li><a class="reference internal" href=
-                "#web-client" id="id88" name=
-                "id88">8.3.3&nbsp;&nbsp;&nbsp;Web client</a></li>
+                "#web-client" id="id92" name=
+                "id92">8.3.3&nbsp;&nbsp;&nbsp;Web client</a></li>
               </ul>
             </li>
 
             <li>
               <a class="reference internal" href="#graylisting" id=
-              "id89" name=
-              "id89">8.4&nbsp;&nbsp;&nbsp;Graylisting</a>
+              "id93" name=
+              "id93">8.4&nbsp;&nbsp;&nbsp;Graylisting</a>
 
               <ul class="auto-toc">
                 <li><a class="reference internal" href=
-                "#abilitazione-in-postfix" id="id90" name=
-                "id90">8.4.1&nbsp;&nbsp;&nbsp;Abilitazione in
+                "#abilitazione-in-postfix" id="id94" name=
+                "id94">8.4.1&nbsp;&nbsp;&nbsp;Abilitazione in
                 Postfix</a></li>
 
                 <li><a class="reference internal" href="#test" id=
-                "id91" name=
-                "id91">8.4.2&nbsp;&nbsp;&nbsp;Test</a></li>
+                "id95" name=
+                "id95">8.4.2&nbsp;&nbsp;&nbsp;Test</a></li>
 
                 <li><a class="reference internal" href=
-                "#statistiche" id="id92" name=
-                "id92">8.4.3&nbsp;&nbsp;&nbsp;Statistiche</a></li>
+                "#statistiche" id="id96" name=
+                "id96">8.4.3&nbsp;&nbsp;&nbsp;Statistiche</a></li>
               </ul>
             </li>
           </ul>
         </li>
 
         <li>
-          <a class="reference internal" href="#firewall" id="id93"
-          name="id93">9&nbsp;&nbsp;&nbsp;Firewall</a>
+          <a class="reference internal" href="#firewall" id="id97"
+          name="id97">9&nbsp;&nbsp;&nbsp;Firewall</a>
 
           <ul class="auto-toc">
             <li><a class="reference internal" href="#links" id=
-            "id94" name="id94">9.1&nbsp;&nbsp;&nbsp;Links</a></li>
+            "id98" name="id98">9.1&nbsp;&nbsp;&nbsp;Links</a></li>
 
             <li><a class="reference internal" href="#ipfilter" id=
-            "id95" name=
-            "id95">9.2&nbsp;&nbsp;&nbsp;Ipfilter</a></li>
+            "id99" name=
+            "id99">9.2&nbsp;&nbsp;&nbsp;Ipfilter</a></li>
 
             <li>
               <a class="reference internal" href=
-              "#progettazione-di-un-firewall" id="id96" name=
-              "id96">9.3&nbsp;&nbsp;&nbsp;Progettazione di un
+              "#progettazione-di-un-firewall" id="id100" name=
+              "id100">9.3&nbsp;&nbsp;&nbsp;Progettazione di un
               firewall</a>
 
               <ul class="auto-toc">
                 <li><a class="reference internal" href=
-                "#collocazione" id="id97" name=
-                "id97">9.3.1&nbsp;&nbsp;&nbsp;Collocazione</a></li>
+                "#collocazione" id="id101" name=
+                "id101">9.3.1&nbsp;&nbsp;&nbsp;Collocazione</a></li>
 
                 <li><a class="reference internal" href=
-                "#policy-di-default" id="id98" name=
-                "id98">9.3.2&nbsp;&nbsp;&nbsp;Policy di
+                "#policy-di-default" id="id102" name=
+                "id102">9.3.2&nbsp;&nbsp;&nbsp;Policy di
                 default</a></li>
 
                 <li><a class="reference internal" href="#hardware"
-                id="id99" name=
-                "id99">9.3.3&nbsp;&nbsp;&nbsp;Hardware</a></li>
+                id="id103" name=
+                "id103">9.3.3&nbsp;&nbsp;&nbsp;Hardware</a></li>
               </ul>
             </li>
 
             <li><a class="reference internal" href=
             "#percorso-dei-pacchetti-tra-tabelle-e-catene" id=
-            "id100" name="id100">9.4&nbsp;&nbsp;&nbsp;Percorso dei
+            "id104" name="id104">9.4&nbsp;&nbsp;&nbsp;Percorso dei
             pacchetti tra tabelle e catene</a></li>
 
             <li>
               <a class="reference internal" href=
-              "#concetti-di-base" id="id101" name=
-              "id101">9.5&nbsp;&nbsp;&nbsp;Concetti di base</a>
+              "#concetti-di-base" id="id105" name=
+              "id105">9.5&nbsp;&nbsp;&nbsp;Concetti di base</a>
 
               <ul class="auto-toc">
                 <li><a class="reference internal" href=
-                "#tabelle-catene-regole" id="id102" name=
-                "id102">9.5.1&nbsp;&nbsp;&nbsp;Tabelle, catene,
+                "#tabelle-catene-regole" id="id106" name=
+                "id106">9.5.1&nbsp;&nbsp;&nbsp;Tabelle, catene,
                 regole</a></li>
 
                 <li><a class="reference internal" href="#match" id=
-                "id103" name=
-                "id103">9.5.2&nbsp;&nbsp;&nbsp;Match</a></li>
+                "id107" name=
+                "id107">9.5.2&nbsp;&nbsp;&nbsp;Match</a></li>
 
                 <li><a class="reference internal" href="#targets"
-                id="id104" name=
-                "id104">9.5.3&nbsp;&nbsp;&nbsp;Targets</a></li>
+                id="id108" name=
+                "id108">9.5.3&nbsp;&nbsp;&nbsp;Targets</a></li>
               </ul>
             </li>
 
             <li><a class="reference internal" href=
-            "#tabella-filter" id="id105" name=
-            "id105">9.6&nbsp;&nbsp;&nbsp;Tabella Filter</a></li>
+            "#tabella-filter" id="id109" name=
+            "id109">9.6&nbsp;&nbsp;&nbsp;Tabella Filter</a></li>
 
             <li><a class="reference internal" href=
-            "#flush-automatico-per-macchine-remote" id="id106"
-            name="id106">9.7&nbsp;&nbsp;&nbsp;Flush automatico per
+            "#flush-automatico-per-macchine-remote" id="id110"
+            name="id110">9.7&nbsp;&nbsp;&nbsp;Flush automatico per
             macchine remote</a></li>
 
             <li><a class="reference internal" href=
-            "#gestione-regole-rules" id="id107" name=
-            "id107">9.8&nbsp;&nbsp;&nbsp;Gestione regole
+            "#gestione-regole-rules" id="id111" name=
+            "id111">9.8&nbsp;&nbsp;&nbsp;Gestione regole
             (rules)</a></li>
 
             <li>
               <a class="reference internal" href=
-              "#salvataggio-regole" id="id108" name=
-              "id108">9.9&nbsp;&nbsp;&nbsp;Salvataggio regole</a>
+              "#salvataggio-regole" id="id112" name=
+              "id112">9.9&nbsp;&nbsp;&nbsp;Salvataggio regole</a>
 
               <ul class="auto-toc">
                 <li><a class="reference internal" href=
-                "#iptables-save" id="id109" name=
-                "id109">9.9.1&nbsp;&nbsp;&nbsp;Iptables-save</a></li>
+                "#iptables-save" id="id113" name=
+                "id113">9.9.1&nbsp;&nbsp;&nbsp;Iptables-save</a></li>
 
                 <li><a class="reference internal" href=
-                "#iptables-restore" id="id110" name=
-                "id110">9.9.2&nbsp;&nbsp;&nbsp;Iptables-restore</a></li>
+                "#iptables-restore" id="id114" name=
+                "id114">9.9.2&nbsp;&nbsp;&nbsp;Iptables-restore</a></li>
               </ul>
             </li>
 
             <li>
               <a class="reference internal" href="#esempi" id=
-              "id111" name="id111">9.10&nbsp;&nbsp;&nbsp;Esempi</a>
+              "id115" name="id115">9.10&nbsp;&nbsp;&nbsp;Esempi</a>
 
               <ul class="auto-toc">
                 <li><a class="reference internal" href=
-                "#bloccare-i-ping-dall-esterno" id="id112" name=
-                "id112">9.10.1&nbsp;&nbsp;&nbsp;Bloccare i ping
+                "#bloccare-i-ping-dall-esterno" id="id116" name=
+                "id116">9.10.1&nbsp;&nbsp;&nbsp;Bloccare i ping
                 dall'esterno</a></li>
 
                 <li><a class="reference internal" href=
-                "#masquerading-snat" id="id113" name=
-                "id113">9.10.2&nbsp;&nbsp;&nbsp;Masquerading
+                "#masquerading-snat" id="id117" name=
+                "id117">9.10.2&nbsp;&nbsp;&nbsp;Masquerading
                 (sNAT)</a></li>
 
                 <li><a class="reference internal" href=
-                "#brute-force" id="id114" name=
-                "id114">9.10.3&nbsp;&nbsp;&nbsp;Brute
+                "#brute-force" id="id118" name=
+                "id118">9.10.3&nbsp;&nbsp;&nbsp;Brute
                 force</a></li>
               </ul>
             </li>
           </ul>
         </li>
 
-        <li><a class="reference internal" href="#note" id="id115"
-        name="id115">10&nbsp;&nbsp;&nbsp;NOTE</a></li>
+        <li><a class="reference internal" href="#note" id="id119"
+        name="id119">10&nbsp;&nbsp;&nbsp;NOTE</a></li>
       </ul>
     </div>
 
@@ -3479,9 +3504,11 @@ $TTL 3D     ; 3 days
 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
 </pre>
 
           <p>All'interno di questo file si possono inserire dei
@@ -3616,7 +3643,8 @@ normale         IN      A       94.23.63.105 ; usa il TTL di default: 3 giorni
 
               <dt>NS</dt>
 
-              <dd>Name Server della zona</dd>
+              <dd>Name Server della zona. Non deve essere un
+              cname.</dd>
 
               <dt>A</dt>
 
@@ -3628,7 +3656,16 @@ normale         IN      A       94.23.63.105 ; usa il TTL di default: 3 giorni
 
               <dt>CNAME</dt>
 
-              <dd>Canonical Name: un alias per un host</dd>
+              <dd>Canonical Name: un alias per un host: ad esempio
+              per il dominio piffa.net possiamo settare degli alias
+              come <tt class="docutils literal"><span class=
+              "pre">www.piffa.net,</span> <span class=
+              "pre">http.piffa.net,</span> <span class=
+              "pre">virtual.piffa.net,</span> <span class=
+              "pre">ftp.piffa.net,</span> <span class=
+              "pre">imap.piffa.net</span></tt>. Comodo quando
+              diversi alias sono sempre riferiti allo stesso
+              ip.</dd>
 
               <dt>MX</dt>
 
@@ -3645,8 +3682,8 @@ normale         IN      A       94.23.63.105 ; usa il TTL di default: 3 giorni
               principale e <tt class=
               "docutils literal"><span class="pre">MX</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
               <span class="pre">40</span> <span class=
-              "pre">smtp2.piffa.net</span></tt> per il
-              secondario.</dd>
+              "pre">smtp2.piffa.net</span></tt> per il secondario.
+              Non deve essere un cname.</dd>
 
               <dt>PTR</dt>
 
@@ -3734,9 +3771,199 @@ zone "piffa.net" {
         </div>
       </div>
 
+      <div class="section" id="aggiornamento-dinamico-nsupdate">
+        <h2><a class="toc-backref" href=
+        "#id71">6.4&nbsp;&nbsp;&nbsp;Aggiornamento dinamico:
+        nsupdate</a></h2>
+
+        <p>Dalla versione 8 di Bind e' dsponibile l'utility
+        <tt class="docutils literal"><span class=
+        "pre">nsupdate</span></tt> (disponibile nel pacchetto
+        <tt class="docutils literal"><span class=
+        "pre">dnsutils</span></tt>) 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 <em>casa.miodominio.net</em>) sara'
+        possibile aggiornare automaticamente i record che tirano a
+        degli indirizzi IP <em>pubblici ma dnamici</em>, 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.</p>
+
+        <p>L'auenticazione del client nsupdate che avra' la
+        possibilita' di aggiornare il server DNS master avviene
+        tramite <em>Transaction signatures</em> (TSIG, RFC2845)
+        usando un algoritmo di criptazione dati asimmetrico
+        <em>HMAC-MD5</em> : generata una coppia di chiavi sul
+        client / nsupdate con l'utility si dovra' trasferire la
+        chiave pubblica sul server <em>master</em>, che verra'
+        configurato per onorare gli aggiornamenti (eliminazione e
+        inserimento di record RR) autenticati dalla chiave
+        privata.</p>
+
+        <div class="section" id="configurazione-client-nsupdate">
+          <h3><a class="toc-backref" href=
+          "#id72">6.4.1&nbsp;&nbsp;&nbsp;Configurazione client
+          (nsupdate)</a></h3>
+
+          <p>Sul client, sul quale non deve essere necessariamente
+          installato un server DNS Bind ma la sola utility
+          <tt class="docutils literal"><span class=
+          "pre">nsupdate</span></tt>, generiamo la coppia di chiavi
+          con l'utility <tt class="docutils literal"><span class=
+          "pre">dnssec-keygen</span></tt> installabile tramite il
+          pacchetto <tt class="docutils literal"><span class=
+          "pre">bind9utils</span></tt>:</p>
+          <pre class="literal-block">
+dnssec-keygen -a HMAC-MD5 -b 512 -n USER home.piffa.net.
+</pre>
+
+          <p>Otterremo le due chiavi <tt class=
+          "docutils literal"><span class=
+          "pre">Khome.piffa.net.+157+04331.key</span>&nbsp;
+          <span class=
+          "pre">Khome.piffa.net.+157+04331.private</span></tt>, la
+          chiave pubblica dovra' essere resa noto al server master
+          che ricevera' l'update dei records.</p>
+        </div>
+
+        <div class="section" id=
+        "configurazione-server-riconoscimento-chiave">
+          <h3><a class="toc-backref" href=
+          "#id73">6.4.2&nbsp;&nbsp;&nbsp;Configurazione server:
+          riconoscimento chiave</a></h3>
+
+          <dl class="docutils">
+            <dt>Per rendere nota al server la chiave pubblica
+            generata sul client si aggiunga quindi al file
+            <tt class="docutils literal"><span class=
+            "pre">/etc/bind/named.conf</span></tt> sul
+            server::</dt>
+
+            <dd>
+              <dl class="first last docutils">
+                <dt>key home.piffa.net. {</dt>
+
+                <dd>algorithm HMAC-MD5; secret
+                "txfAkNTScANEu2V73mCeiDpXNc3pmf+7ONOoKnTKQKIZMzierSmeHjK5
+                Z8ntnByt/PJwv26jCIsVh8n+xzVsRw=="; };</dd>
+              </dl>
+            </dd>
+          </dl>
+
+          <div class="note">
+            <p class="first admonition-title">Nota</p>
+
+            <p class="last">La parte <tt class=
+            "docutils literal"><span class=
+            "pre">secret</span></tt>, che potete leggere
+            direttamente nel file *.key della chiave genearta, e'
+            scritto <em>tutto sulla stessa riga</em> senza ritorni
+            a capo.</p>
+          </div>
+        </div>
+
+        <div class="section" id="server-gestione-dell-intera-zona">
+          <h3><a class="toc-backref" href=
+          "#id74">6.4.3&nbsp;&nbsp;&nbsp;Server: gestione
+          dell'intera zona</a></h3>
+
+          <p>Sul server modifichiamo il file di configurazione
+          <tt class="docutils literal"><span class=
+          "pre">named.conf.local</span></tt> della zona della quale
+          vogliamo concedere l'aggiornamento al client:</p>
+          <pre class="literal-block">
+zone "piffa.net" {
+        type master;
+        file "/etc/bind/pz/piffa.net" ;
+        allow-update {
+                        key  home.piffa.net;
+                        };
+};
+</pre>
+
+          <dl class="docutils">
+            <dt>Sara' necessario assicurarsi che il demone di Bind
+            sia in grado di modificare il file <tt class=
+            "docutils literal"><span class=
+            "pre">/etc/bind/pz/piffa.net</span></tt>: dato che
+            questo file ora sara' gestito da lui si proceda a
+            cedergli la propieta' del file::</dt>
+
+            <dd>chown bind /etc/bind/pz/piffa.net</dd>
+          </dl>
+
+          <p>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 <tt class=
+          "docutils literal"><span class="pre">ntpdate</span></tt>
+          e di eseguirla facendo riferimento ai time server di
+          Debian:</p>
+          <pre class="literal-block">
+apt-get install ntpdate
+ntpdate-debian
+</pre>
+
+          <p>Ora possiamo provare dal client a effettuare
+          l'iserimento di un record per testarne il
+          funzionamento:</p>
+          <pre class="literal-block">
+# nsupdate -k Khome.piffa.net.+157+04331.private -v
+&gt; server ns1.piffa.net
+&gt; update add home.piffa.net. 86400 A 192.168.0.2
+&gt; show
+Outgoing update query:
+;; -&gt;&gt;HEADER&lt;&lt;- 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
+
+
+&gt; send
+</pre>
+
+          <p>Per comprendere meglio l'uso dell'utility <tt class=
+          "docutils literal"><span class="pre">nsupdate</span></tt>
+          si consiglia la lettura della relativa pagina man. Nella
+          prima riga viene invocato il comando <tt class=
+          "docutils literal"><span class="pre">nsupdate</span></tt>
+          impostando col <em>flag</em> <tt class=
+          "docutils literal"><span class="pre">-k</span></tt> la
+          chiave <em>privata</em> generata precedentemente, con
+          <tt class="docutils literal"><span class=
+          "pre">server</span></tt> si imposta quale server NS
+          autoritario della zona (che abbiamo precedentemente
+          configurato per ricevere gli aggiornamenti) vogliamo
+          contattare. Alla riga sucessiva <tt class=
+          "docutils literal"><span class="pre">update</span></tt>
+          viene aggiunto un record <tt class=
+          "docutils literal"><span class="pre">A</span></tt> per la
+          il dominio <tt class="docutils literal"><span class=
+          "pre">home.piffa.net</span></tt> indirizzato all'IP
+          <tt class="docutils literal"><span class=
+          "pre">192.168.0.2</span></tt>, poi <tt class=
+          "docutils literal"><span class="pre">show</span></tt>
+          mostra quanto ci si prepara a comunicare al server con il
+          finale <tt class="docutils literal"><span class=
+          "pre">send</span></tt> .</p>
+
+          <p>Si noti che in questo modo <em>l'intera</em> 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.</p>
+        </div>
+      </div>
+
       <div class="section" id="link-suggeriti">
         <h2><a class="toc-backref" href=
-        "#id71">6.4&nbsp;&nbsp;&nbsp;Link suggeriti:</a></h2>
+        "#id75">6.5&nbsp;&nbsp;&nbsp;Link suggeriti:</a></h2>
 
         <ul class="simple">
           <li>DNS for Rocket Scientists <a class=
@@ -3751,7 +3978,7 @@ zone "piffa.net" {
 
     <div class="section" id="samba">
       <h1><a class="toc-backref" href=
-      "#id72">7&nbsp;&nbsp;&nbsp;Samba</a></h1>
+      "#id76">7&nbsp;&nbsp;&nbsp;Samba</a></h1>
 
       <p>Samba e' un progetto libero che fornisce servizi di
       condivisione di file e stampanti a client SMB/CIFS.</p>
@@ -3772,7 +3999,7 @@ zone "piffa.net" {
 
       <div class="section" id="pacchetti">
         <h2><a class="toc-backref" href=
-        "#id73">7.1&nbsp;&nbsp;&nbsp;Pacchetti</a></h2>
+        "#id77">7.1&nbsp;&nbsp;&nbsp;Pacchetti</a></h2>
 
         <p>Pacchetti da installare per utilizzare Samba in
         modalita' client <a class="footnote-reference" href="#id6"
@@ -3825,7 +4052,7 @@ dpkg-reconfigure samba-common
 
       <div class="section" id="passwords-e-autenticazione">
         <h2><a class="toc-backref" href=
-        "#id74">7.2&nbsp;&nbsp;&nbsp;Passwords e
+        "#id78">7.2&nbsp;&nbsp;&nbsp;Passwords e
         autenticazione</a></h2>
 
         <p>Per poter configurare Samba in modo che usi un sistema
@@ -3886,7 +4113,7 @@ dpkg-reconfigure samba-common
 
       <div class="section" id="creazione-utenti">
         <h2><a class="toc-backref" href=
-        "#id75">7.3&nbsp;&nbsp;&nbsp;Creazione Utenti</a></h2>
+        "#id79">7.3&nbsp;&nbsp;&nbsp;Creazione Utenti</a></h2>
 
         <p>Creiamo per primo l'utente sotto GNU/Linux, facendo
         attenzione a <em>non dargli una shell di sistema</em>. Gli
@@ -3923,7 +4150,7 @@ smbpasswd  sambo
 
       <div class="section" id="creare-la-condivisione">
         <h2><a class="toc-backref" href=
-        "#id76">7.4&nbsp;&nbsp;&nbsp;Creare la
+        "#id80">7.4&nbsp;&nbsp;&nbsp;Creare la
         condivisione</a></h2>
 
         <p>La condivisione altro non e' che una cartella sul server
@@ -3950,7 +4177,7 @@ smbpasswd  sambo
         <div class="section" id=
         "sicurezza-permessi-di-esecuzione-sul-server">
           <h3><a class="toc-backref" href=
-          "#id77">7.4.1&nbsp;&nbsp;&nbsp;Sicurezza: permessi di
+          "#id81">7.4.1&nbsp;&nbsp;&nbsp;Sicurezza: permessi di
           esecuzione sul server</a></h3>
 
           <p>Bisognerebbe notare sul server i permessi di
@@ -3980,7 +4207,7 @@ smbpasswd  sambo
       <div class="section" id=
       "configurazione-dell-applicativo-samba-vero-e-proprio">
         <h2><a class="toc-backref" href=
-        "#id78">7.5&nbsp;&nbsp;&nbsp;Configurazione
+        "#id82">7.5&nbsp;&nbsp;&nbsp;Configurazione
         dell'applicativo Samba vero e proprio.</a></h2>
 
         <p>Avendo preparato gli utenti (ancora una volta: non si
@@ -4019,7 +4246,7 @@ smbpasswd  sambo
 
         <div class="section" id="creazione-di-un-gruppo">
           <h3><a class="toc-backref" href=
-          "#id79">7.5.1&nbsp;&nbsp;&nbsp;Creazione di un
+          "#id83">7.5.1&nbsp;&nbsp;&nbsp;Creazione di un
           gruppo</a></h3>
 
           <p>Se si deve condividere una risorsa con un numero
@@ -4056,7 +4283,7 @@ valid users = @nome_gruppo
 
       <div class="section" id="testare-il-servizio">
         <h2><a class="toc-backref" href=
-        "#id80">7.6&nbsp;&nbsp;&nbsp;Testare il Servizio</a></h2>
+        "#id84">7.6&nbsp;&nbsp;&nbsp;Testare il Servizio</a></h2>
 
         <p>Come testare il servizio</p>
 
@@ -4096,7 +4323,7 @@ mount -t smbfs //localhost/sambo_share /mnt/sambo_mount/ --verbose -o user=sambo
 
     <div class="section" id="server-di-posta-postfix">
       <h1><a class="toc-backref" href=
-      "#id81">8&nbsp;&nbsp;&nbsp;Server di posta: Postfix</a></h1>
+      "#id85">8&nbsp;&nbsp;&nbsp;Server di posta: Postfix</a></h1>
 
       <p>Il server di posta che prenderemo in considerazione e'
       Postfix, a seguire un estratto di un file di configurazione
@@ -4146,7 +4373,7 @@ inet_interfaces = all
 
       <div class="section" id="test-del-server-smtp">
         <h2><a class="toc-backref" href=
-        "#id82">8.1&nbsp;&nbsp;&nbsp;Test del server smtp</a></h2>
+        "#id86">8.1&nbsp;&nbsp;&nbsp;Test del server smtp</a></h2>
 
         <p>Per testare il corretto funzionamento del server di
         posta si puo' procedere in vari modi.</p>
@@ -4164,7 +4391,7 @@ inet_interfaces = all
 
         <div class="section" id="swaks">
           <h3><a class="toc-backref" href=
-          "#id83">8.1.1&nbsp;&nbsp;&nbsp;Swaks</a></h3>
+          "#id87">8.1.1&nbsp;&nbsp;&nbsp;Swaks</a></h3>
 
           <dl class="docutils">
             <dt>Per gli utenti meno esperti e' consigliabile
@@ -4218,7 +4445,7 @@ swaks --to andrea@piffa.net from andrea@mydomain.com
 
       <div class="section" id="imap-e-pop">
         <h2><a class="toc-backref" href=
-        "#id84">8.2&nbsp;&nbsp;&nbsp;Imap e pop</a></h2>
+        "#id88">8.2&nbsp;&nbsp;&nbsp;Imap e pop</a></h2>
 
         <p>Postfix e' un server SMTP, di conseguenza se volete che
         i vostri utenti possano <em>scaricare</em> in locale la
@@ -4239,7 +4466,7 @@ swaks --to andrea@piffa.net from andrea@mydomain.com
 
       <div class="section" id="client-a-riga-di-comando">
         <h2><a class="toc-backref" href=
-        "#id85">8.3&nbsp;&nbsp;&nbsp;Client a riga di
+        "#id89">8.3&nbsp;&nbsp;&nbsp;Client a riga di
         comando</a></h2>
 
         <p>Per testare il corretto funzionamento del server di
@@ -4249,7 +4476,7 @@ swaks --to andrea@piffa.net from andrea@mydomain.com
 
         <div class="section" id="mailx">
           <h3><a class="toc-backref" href=
-          "#id86">8.3.1&nbsp;&nbsp;&nbsp;mailx</a></h3>
+          "#id90">8.3.1&nbsp;&nbsp;&nbsp;mailx</a></h3>
 
           <dl class="docutils">
             <dt>Uno dei client piu' semplici, sopratutto per
@@ -4292,7 +4519,7 @@ Cc:
 
         <div class="section" id="mutt">
           <h3><a class="toc-backref" href=
-          "#id87">8.3.2&nbsp;&nbsp;&nbsp;Mutt</a></h3>
+          "#id91">8.3.2&nbsp;&nbsp;&nbsp;Mutt</a></h3>
 
           <p>Mutt e' uno dei gestori di posta preferiti da chi
           preferisce utilizzare l'interfaccia testuale per la
@@ -4339,7 +4566,7 @@ mutt -f imap://nome_utente@piffa.net
 
         <div class="section" id="web-client">
           <h3><a class="toc-backref" href=
-          "#id88">8.3.3&nbsp;&nbsp;&nbsp;Web client</a></h3>
+          "#id92">8.3.3&nbsp;&nbsp;&nbsp;Web client</a></h3>
 
           <p>Per mettere a disposizione degli utenti un client web
           per gestire la propria posta si installi il pacchetto:
@@ -4365,7 +4592,7 @@ ln -s /etc/squirrelmail/apache.conf ./squirrelmail.conf
 
       <div class="section" id="graylisting">
         <h2><a class="toc-backref" href=
-        "#id89">8.4&nbsp;&nbsp;&nbsp;Graylisting</a></h2>
+        "#id93">8.4&nbsp;&nbsp;&nbsp;Graylisting</a></h2>
 
         <p>Il <em>graylisting</em> e' un sistema relativamente poco
         invasivo, con un limitato consumo di risorse per limitare
@@ -4392,7 +4619,7 @@ ln -s /etc/squirrelmail/apache.conf ./squirrelmail.conf
 
         <div class="section" id="abilitazione-in-postfix">
           <h3><a class="toc-backref" href=
-          "#id90">8.4.1&nbsp;&nbsp;&nbsp;Abilitazione in
+          "#id94">8.4.1&nbsp;&nbsp;&nbsp;Abilitazione in
           Postfix</a></h3>
 
           <p>Installare il pacchetto: <tt class=
@@ -4410,7 +4637,7 @@ smtpd_recipient_restrictions =
 
         <div class="section" id="test">
           <h3><a class="toc-backref" href=
-          "#id91">8.4.2&nbsp;&nbsp;&nbsp;Test</a></h3>
+          "#id95">8.4.2&nbsp;&nbsp;&nbsp;Test</a></h3>
 
           <p>Inviando un messaggio il client dovrebbe ricevere un
           iniziale messaggio di rifiuto del messaggio:</p>
@@ -4448,7 +4675,7 @@ May 28 14:53:34 r24266 postfix/smtpd[22538]: disconnect from alice.mydomain.com[
 
         <div class="section" id="statistiche">
           <h3><a class="toc-backref" href=
-          "#id92">8.4.3&nbsp;&nbsp;&nbsp;Statistiche</a></h3>
+          "#id96">8.4.3&nbsp;&nbsp;&nbsp;Statistiche</a></h3>
 
           <p>E' sempre utile poter tracciare qualche statistica
           sulle percentuali di messaggi ricevuti, da chi, messaggi
@@ -4477,7 +4704,7 @@ pflogsumm.pl  /var/log/mail.log
 
     <div class="section" id="firewall">
       <h1><a class="toc-backref" href=
-      "#id93">9&nbsp;&nbsp;&nbsp;Firewall</a></h1>
+      "#id97">9&nbsp;&nbsp;&nbsp;Firewall</a></h1>
 
       <p>In Informatica, nell'ambito delle reti di computer, un
       firewall (termine inglese dal significato originario di
@@ -4527,7 +4754,7 @@ pflogsumm.pl  /var/log/mail.log
 
       <div class="section" id="links">
         <h2><a class="toc-backref" href=
-        "#id94">9.1&nbsp;&nbsp;&nbsp;Links</a></h2>
+        "#id98">9.1&nbsp;&nbsp;&nbsp;Links</a></h2>
 
         <ul class="simple">
           <li><a class="reference external" href=
@@ -4541,7 +4768,7 @@ pflogsumm.pl  /var/log/mail.log
 
       <div class="section" id="ipfilter">
         <h2><a class="toc-backref" href=
-        "#id95">9.2&nbsp;&nbsp;&nbsp;Ipfilter</a></h2>
+        "#id99">9.2&nbsp;&nbsp;&nbsp;Ipfilter</a></h2>
 
         <p>Link: <a class="reference external" href=
         "http://iptables-tutorial.frozentux.net/iptables-tutorial.html#IPFILTERING">
@@ -4577,7 +4804,7 @@ pflogsumm.pl  /var/log/mail.log
 
       <div class="section" id="progettazione-di-un-firewall">
         <h2><a class="toc-backref" href=
-        "#id96">9.3&nbsp;&nbsp;&nbsp;Progettazione di un
+        "#id100">9.3&nbsp;&nbsp;&nbsp;Progettazione di un
         firewall</a></h2>
 
         <p>Per implementare un firewall bisogna decidere un aio di
@@ -4586,7 +4813,7 @@ pflogsumm.pl  /var/log/mail.log
 
         <div class="section" id="collocazione">
           <h3><a class="toc-backref" href=
-          "#id97">9.3.1&nbsp;&nbsp;&nbsp;Collocazione</a></h3>
+          "#id101">9.3.1&nbsp;&nbsp;&nbsp;Collocazione</a></h3>
 
           <p>DMZ e MZ, internet, intranet, extranet. Frammentazione
           della rete, decidere se diversi reparti di una azienda si
@@ -4618,7 +4845,8 @@ pflogsumm.pl  /var/log/mail.log
 
         <div class="section" id="policy-di-default">
           <h3><a class="toc-backref" href=
-          "#id98">9.3.2&nbsp;&nbsp;&nbsp;Policy di default</a></h3>
+          "#id102">9.3.2&nbsp;&nbsp;&nbsp;Policy di
+          default</a></h3>
 
           <p>Drop o Accept: conseguenze per sicurezza, facilita' di
           gestione.</p>
@@ -4626,7 +4854,7 @@ pflogsumm.pl  /var/log/mail.log
 
         <div class="section" id="hardware">
           <h3><a class="toc-backref" href=
-          "#id99">9.3.3&nbsp;&nbsp;&nbsp;Hardware</a></h3>
+          "#id103">9.3.3&nbsp;&nbsp;&nbsp;Hardware</a></h3>
 
           <p>Sostanzialmente potremmo distinguere due tipologie di
           hardware:</p>
@@ -4654,7 +4882,7 @@ pflogsumm.pl  /var/log/mail.log
       <div class="section" id=
       "percorso-dei-pacchetti-tra-tabelle-e-catene">
         <h2><a class="toc-backref" href=
-        "#id100">9.4&nbsp;&nbsp;&nbsp;Percorso dei pacchetti tra
+        "#id104">9.4&nbsp;&nbsp;&nbsp;Percorso dei pacchetti tra
         tabelle e catene</a></h2>
 
         <p>link: <a class="reference external" href=
@@ -4664,11 +4892,11 @@ pflogsumm.pl  /var/log/mail.log
 
       <div class="section" id="concetti-di-base">
         <h2><a class="toc-backref" href=
-        "#id101">9.5&nbsp;&nbsp;&nbsp;Concetti di base</a></h2>
+        "#id105">9.5&nbsp;&nbsp;&nbsp;Concetti di base</a></h2>
 
         <div class="section" id="tabelle-catene-regole">
           <h3><a class="toc-backref" href=
-          "#id102">9.5.1&nbsp;&nbsp;&nbsp;Tabelle, catene,
+          "#id106">9.5.1&nbsp;&nbsp;&nbsp;Tabelle, catene,
           regole</a></h3>
 
           <p>Iptables lavora su 3 tabelle (tables) di default:</p>
@@ -4695,7 +4923,7 @@ pflogsumm.pl  /var/log/mail.log
 
         <div class="section" id="match">
           <h3><a class="toc-backref" href=
-          "#id103">9.5.2&nbsp;&nbsp;&nbsp;Match</a></h3>
+          "#id107">9.5.2&nbsp;&nbsp;&nbsp;Match</a></h3>
 
           <p>I Match di una regola (rule) servono a testare un
           pacchetto per valutare se corrisponda a certe
@@ -4747,7 +4975,7 @@ pflogsumm.pl  /var/log/mail.log
 
         <div class="section" id="targets">
           <h3><a class="toc-backref" href=
-          "#id104">9.5.3&nbsp;&nbsp;&nbsp;Targets</a></h3>
+          "#id108">9.5.3&nbsp;&nbsp;&nbsp;Targets</a></h3>
 
           <p>Se un pacchetto soddisfa le condizioni del Match
           <em>salta</em> (jump) su uno dei target possibili, in
@@ -4876,7 +5104,7 @@ pflogsumm.pl  /var/log/mail.log
 
       <div class="section" id="tabella-filter">
         <h2><a class="toc-backref" href=
-        "#id105">9.6&nbsp;&nbsp;&nbsp;Tabella Filter</a></h2>
+        "#id109">9.6&nbsp;&nbsp;&nbsp;Tabella Filter</a></h2>
 
         <p>E' quella implicita e predefinita (-t filter) Riguarda
         le attivitÃ&nbsp; di filtraggio del traffico. Ha 3 catene
@@ -4900,7 +5128,7 @@ pflogsumm.pl  /var/log/mail.log
       <div class="section" id=
       "flush-automatico-per-macchine-remote">
         <h2><a class="toc-backref" href=
-        "#id106">9.7&nbsp;&nbsp;&nbsp;Flush automatico per macchine
+        "#id110">9.7&nbsp;&nbsp;&nbsp;Flush automatico per macchine
         remote</a></h2>
 
         <p>Se state provando una configurazione del firewall per
@@ -4927,7 +5155,7 @@ at&gt; [CTR+d]
 
       <div class="section" id="gestione-regole-rules">
         <h2><a class="toc-backref" href=
-        "#id107">9.8&nbsp;&nbsp;&nbsp;Gestione regole
+        "#id111">9.8&nbsp;&nbsp;&nbsp;Gestione regole
         (rules)</a></h2>
 
         <p>Il comando iptables viene usato per ogni
@@ -4994,7 +5222,7 @@ at&gt; [CTR+d]
 
       <div class="section" id="salvataggio-regole">
         <h2><a class="toc-backref" href=
-        "#id108">9.9&nbsp;&nbsp;&nbsp;Salvataggio regole</a></h2>
+        "#id112">9.9&nbsp;&nbsp;&nbsp;Salvataggio regole</a></h2>
 
         <p>Il comando <tt class="docutils literal"><span class=
         "pre">iptables</span></tt> serve per interagire con il
@@ -5052,7 +5280,7 @@ iface eth1 inet static
 
         <div class="section" id="iptables-save">
           <h3><a class="toc-backref" href=
-          "#id109">9.9.1&nbsp;&nbsp;&nbsp;Iptables-save</a></h3>
+          "#id113">9.9.1&nbsp;&nbsp;&nbsp;Iptables-save</a></h3>
 
           <p>Per salvare le regole di iptables attualmente presenti
           nel kernel si usi il comando:</p>
@@ -5076,7 +5304,7 @@ iface eth1 inet static
 
         <div class="section" id="iptables-restore">
           <h3><a class="toc-backref" href=
-          "#id110">9.9.2&nbsp;&nbsp;&nbsp;Iptables-restore</a></h3>
+          "#id114">9.9.2&nbsp;&nbsp;&nbsp;Iptables-restore</a></h3>
 
           <p>Per ripristinare un set di regole precedentemente
           salvate con <tt class="docutils literal"><span class=
@@ -5096,7 +5324,7 @@ iface eth1 inet static
 
       <div class="section" id="esempi">
         <h2><a class="toc-backref" href=
-        "#id111">9.10&nbsp;&nbsp;&nbsp;Esempi</a></h2>
+        "#id115">9.10&nbsp;&nbsp;&nbsp;Esempi</a></h2>
 
         <p>Seguono alcuni esempi sull'uso di iptables, lo scenario
         e' un computer con un paio di schede di rete fisiche una
@@ -5121,7 +5349,7 @@ iface eth1 inet static
 
         <div class="section" id="bloccare-i-ping-dall-esterno">
           <h3><a class="toc-backref" href=
-          "#id112">9.10.1&nbsp;&nbsp;&nbsp;Bloccare i ping
+          "#id116">9.10.1&nbsp;&nbsp;&nbsp;Bloccare i ping
           dall'esterno</a></h3>
 
           <p>Spesso gli script che attaccano
@@ -5137,7 +5365,7 @@ iptables -A INPUT -i ppp0 -p ICMP -j DROP
 
         <div class="section" id="masquerading-snat">
           <h3><a class="toc-backref" href=
-          "#id113">9.10.2&nbsp;&nbsp;&nbsp;Masquerading
+          "#id117">9.10.2&nbsp;&nbsp;&nbsp;Masquerading
           (sNAT)</a></h3>
 
           <dl class="docutils">
@@ -5186,7 +5414,7 @@ iptables -A INPUT -i ppp0 -p ICMP -j DROP
 
         <div class="section" id="brute-force">
           <h3><a class="toc-backref" href=
-          "#id114">9.10.3&nbsp;&nbsp;&nbsp;Brute force</a></h3>
+          "#id118">9.10.3&nbsp;&nbsp;&nbsp;Brute force</a></h3>
 
           <dl class="docutils">
             <dt>Per limitare attacchi di tipo brute force su
@@ -5209,7 +5437,7 @@ iptables -A INPUT -i ppp0 -p ICMP -j DROP
 
     <div class="section" id="note">
       <h1><a class="toc-backref" href=
-      "#id115">10&nbsp;&nbsp;&nbsp;NOTE</a></h1>
+      "#id119">10&nbsp;&nbsp;&nbsp;NOTE</a></h1>
 
       <dl class="docutils">
         <dt>Bind:</dt>
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:
 ----------------