]> git.piffa.net Git - doc/.git/blobdiff - source/servizi.txt
Aggiunti i DNS slave
[doc/.git] / source / servizi.txt
index 3afcac2850351c4a19532c22aac83387e7d2c2fa..6f07cef41a39b09c46d262178b99939c36482a50 100644 (file)
@@ -150,7 +150,7 @@ Assicurarsi che sia installata nel sistema la versione completa dell'editor ``vi
     syntax on
     
     " If using a dark background within the editing area and syntax highlighting
-    " turn on this option as well
+    " turn on this option as well.
     set background=dark
     
     " Uncomment the following to have Vim jump to the last position when
@@ -163,14 +163,22 @@ Assicurarsi che sia installata nel sistema la versione completa dell'editor ``vi
     
     " Uncomment the following to have Vim load indentation rules and plugins
     " according to the detected filetype.
+    " This is not recommanded if you often copy and paste into vim,
+    " as it messes all the indentation.
     if has("autocmd")
       filetype plugin indent on
     endif
+
+    " This goes for comments folding: use co to expnad and zc to compress,
+    " zi to toggle on/off
+    set fdm=expr
+    set fde=getline(v:lnum)=~'^\\s*#'?1:getline(prevnonblank(v:lnum))=~'^\\s*#'?1:getline(nextnonblank(v:lnum))=~'^\\s*#'?1:0
     
     " The following are commented out as they cause vim to behave a lot
     " differently from regular Vi. They are highly recommended though.
     set showcmd             " Show (partial) command in status line.
     "set showmatch          " Show matching brackets.
+    # Ignorecase is quite userfull
     set ignorecase          " Do case insensitive matching
     "set smartcase          " Do smart case matching
     "set incsearch          " Incremental search
@@ -231,7 +239,7 @@ Questo file contiene i sorgenti da cui *apt* preleva i pacchetti da installare t
 
 Gli archivi sono generalmente:
 
-* ``deb`` per pacchetti Debian binari
+* ``deb`` per pacchetti Debian binari, pronti per l'installazione.
 
 * ``deb-src`` per i pacchetti sorgenti (quindi da compilare, come il kernel) degli stessi pacchetti binari. In genere se non compilate spesso potete evitare di tracciare i sorgenti per risparmiare tempo e banda.
 
@@ -243,11 +251,14 @@ Gli archivi sono generalmente:
     
     # Archivio principale debian via http su piffa.net,
     # non funziona al di fuori dell'aula dei corsi
-    deb http://debian.piffa.net/debian/ Lenny main
+    deb http://debian.piffa.net/debian/ lenny main
     # Sono disponibili anche i rami non-free contrib
     # deb http://debian.piffa.net/debian/ lenny  non-free contrib
+    # Sono disponibili anche le release unstable e testing
+    # deb http://debian.piffa.net/debian/ testing  main non-free contrib
+    # deb http://debian.piffa.net/debian/ sid  main non-free contrib
     
-    # Mirror da kernel.org da usare a casa:
+    # Mirror da kernel.org europa da usare a casa:
     deb http://mirrors.eu.kernel.org/debian/ lenny main
     
     # Security dal sito principale
@@ -260,7 +271,9 @@ Gli archivi sono generalmente:
     deb-src http://volatile.debian.org/debian-volatile Lenny/volatile main
     
     # Esempio di accesso a un file system locale contenente i pacchetti:
-    # deb file:/mnt/mirror Sid main non-free contrib
+    # Potete scaricarei in aula con debmirror  da debian.piffa.net
+    # un mirror locale da usare poi a casa anche senza internet
+    # deb file:/mnt/mirror sid main non-free contrib
 
 
 /etc/apt/apt.conf
@@ -1050,10 +1063,14 @@ Il file ``/etc/resolv.conf`` contiene le impostazioni sul dns usato dal sistema,
 
        - ``search``: nome di dominio usato dalla rete sul quale cercare gli hosts. Ad esempio se impostato su ``piffa.net`` pingando l' host ``bender`` viene automaticamente fatto un tentativo di ricerca per ``bender.piffa.net``.
 
+Predisponendo l'infrastruttura di rete della vostra LAN e' consigliabile impostare sempre un DNS cache sul vostro server locale per i vari client. In questo modo in caso di malfunzionamento del DNS o necessita' di intervenire / sostituire i DNS non sara' piu' necessario dover reimpostare ogni singolo client della LAN: bastera' modificare l'impostazione del server DNS cache, ad esempio per utilizzare un nuovo forwarder, o modificare al volo un record DNS. La modifica, anche detta *mascheramento*, di un record come il *server smtp* o un *MX* potrebbe tirarvi rapidamente fuori dai guai nel caso di un problema improvviso con la posta elettronica o qualunque altro servizio che possiate reindirizzare col DNS.
+
+Un server DHCP e un DNS cache come ``Dnsmasq`` possono permettervi di risolvere al volo (o per lo meno reindirizzare) molte delle problematiche relative alla configurazione della rete della vostra LAN: dover intervenire manualmente su decine di client per modificare le impostazioni di SMTP | gateway | SMTP | proxy.
 
 Si veda anche la pagina man di resolv.conf.
 
-Attenzione: se si usa un client DHCP o simile questo file potra' essere riscritto automaticamente in base a quanto ottenuto dal DHCP. Si veda la documentazione del pacchetto ``resolvconf``.
+.. warning::
+       Attenzione: se si usa un client DHCP, ppp (ADSL compresa)  o simile questo file potrebbe' essere riscritto automaticamente in base a quanto ottenuto dal DHCP. Si veda la documentazione del pacchetto ``resolvconf``.
 
 
 /etc/hosts
@@ -1069,9 +1086,9 @@ Tabella statica per l'associazione tra IP e nomi di dominio::
         91.191.138.15   thepiratebay.org
         192.168.0.11    chrome  chrome.mydomain.com
 
-Il contenuto e' un associazione tra un *IP* e stringhe di testo (anche piu' di una es: ``mirror`` e ``mirror.piffa.net``), un record per riga.
+Il contenuto e' un associazione tra un *IP* e stringhe di testo (anche piu' di una per IP) es: ``mirror`` e ``mirror.piffa.net``.
 
-Il problema e' la gestione di questo file: quando gli host cambiano IP si devono aggiornare i records, e poi c'e' il problema di distribuire questo file tra i vari hosts della propria LAN. Un metodo semplice per distribuire questo file e' utilizzare ``Dnsmasq``: questo infatti legge e onora il file ``hosts`` locale e lo *distribuisce* ai clients.
+Il problema e' la gestione di questo file: quando gli host cambiano IP si devono aggiornare i records, e poi c'e' il problema di distribuire questo file tra i vari hosts della propria LAN. Un metodo semplice per distribuire questo file e' utilizzare ``Dnsmasq``: questo infatti legge e onora il file ``hosts`` che avete prodotto e lo *distribuisce* ai clients tramite le normali query DNS.
 
 Modificare (riconducendola a un IP interno, cosi' annullandola) la risoluzione di un nome di dominio e' un modo drastico e funzionale per *annullarlo* rendendolo indisponibile alla propria rete locale, ad esempio aggiungere al file ``/etc/hosts``::
        
@@ -1099,9 +1116,9 @@ Si faccia attenzione a non aver un hostname puramente numerico: ad es. ``161``.
 DNSmasq
 ========
 
-Dnsmasq puo' svolgere le funzioni di  un DNS cache / forwarder e un server DHCP caratterizzato dalla facilita' di configurazione, leggerezza e dalla possibilita' di modificare rapidamente i record DNS serviti alla rete. Puo' essere anche utilizzato come `server per il boot da rete <http://www.debian-administration.org/articles/478>_` .
+Dnsmasq puo' svolgere le funzioni di  un DNS cache / forwarder, server DHCP, e' caratterizzato dalla facilita' di configurazione, limitato uso di risorse, adattabilita' a connessioni *dinamiche* come ADSL o altre punto a punto (anche via cellulari) per condividere rapidamente la rete (cosa molto utile se ci dovesse trovare a ridare connettetivita' a una rete momentaneamente sprovvista),  dalla possibilita' di modificare rapidamente i record DNS serviti alla rete anche grazie alla distribuzione del file ``/etc/hosts`` locale. Puo' essere anche utilizzato come `server per il boot da rete <http://www.debian-administration.org/articles/478>_` .
 
-Dnsmasq e' un interessante alternativa all'uso del server DNS Bind in modalita' cache-only (non autoritativo) accompagnato dal server DHCPd. I vantaggi sono:
+Dnsmasq e' un interessante alternativa all'uso del server DNS Bind in modalita' *forwarding e cache-only* (non autoritativo) accompagnato dal server DHCPd. I vantaggi sono:
 
 - Leggerezza: puo' essere fatto girare su una macchina relativamente debole in caso di bisogno.
 - Rapidita' di configurazione (in particolare per servire dei record A / MX alla rete, modificando al volo i valori originali ospitati sul server DNS pubblico).
@@ -1147,7 +1164,7 @@ Si faccia *attenzione*: in una rete puo' essere presente **un solo server DHCP**
 DNS cache
 -----------
 
-Aggiungere al file ``/etc/resolv.conf`` il nameserver localhost in cima alla lista dei *nameserver* disponibili. Dnsmasq usera' la propria cache e in caso non abbia disponibile il *record DNS* richiesto fara' partire una query al primo DNS::
+Dnsmasq lavora di default come cache dns: inserire al file ``/etc/resolv.conf`` il nameserver localhost in cima alla lista dei *nameserver* disponibili. 
        
        nameserver      127.0.0.1
 
@@ -1206,6 +1223,170 @@ Per poi aggiungere all'interno della stanza options la direttiva che abilita' l'
         allow-query {"localnet" ;} ;
 
 
+Ospitare una zona
+---------------------
+
+Se avete acquistato un nome di dominio e vi serve un software DNS per gestirlo Bind e' la scelta piu' diffusa. Ora vedremo come configurare una *zona* (come piffa.net) in modo che Bind sia autoritativoper questa, rispondendo alle query DNS di tutta la rete internet.
+
+
+named.conf.local
+~~~~~~~~~~~~~~~~
+
+Prima di tutti impostiamo il server bind per gestire la zona, per non fare confusione e' opportuno inserire le propie zone DNS nel file ``named.conf.local`` e non in ``named.conf``.
+
+named.conf.local::
+
+        /
+        // Do any local configuration here
+        //
+
+        // Consider adding the 1918 zones here, if they are not used in your
+        // organization
+        //include "/etc/bind/zones.rfc1918";
+
+        zone "piffa.net" {
+                type master;
+                file "/etc/bind/pz/piffa.net";
+                }
+
+type master
+        Il nostro server DNS sara' il principale, al quale poi potremo affiancare dei DNS secondari nel caso questo non sia disponibile.
+
+file "/etc/bind/pz/piffa.net"
+        Dove verranno inserite le informazioni vere e propie di questa zona.
+
+Configurazione della zona
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Ora dovremo preparare il file contenente i record DNS della zona *piffa.net*, come abbiamo indicato prima questi saranno contenuti nel file ``/etc/bind/pz/piffa.net`` . Tenere le zone dentro una sottocartella e' buona abitudine, usare ``pz`` per queste e' una vecchia abitudine.
+
+piffa.net::
+
+        ; Zona per il dominio di secondo livello piffa.net
+
+        $TTL 3D     ; 3 days
+        @                    IN SOA  ns1.piffa.net. hostmaster.piffa.net. (
+                                        200905245  ; serial
+                                        8H         ; refresh (8 hours)
+                                        2H         ; retry (2 hours)
+                                        4W         ; expire (4 weeks)
+                                        1D         ; minimum (1 day)
+                                        )
+        ;
+                                NS      ns1
+                                NS      ns2
+                                A       94.23.63.105
+                                MX      10 smtp
+                                TXT     "Piffanet main site"
+        ;
+        ns1             A       94.23.63.105
+        ns2             A       65.98.21.97
+        zoo             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
+
+
+
+All'interno di questo file si possono inserire dei commenti con il carattere ``;`` (punto-e-virgola), si faccia attenzione alla rigida sintassi: apertura e chiusura delle parentesi tonde nella parte ``IN SOA``, uso del ``punto`` finale per precisare un nome di dominio specifico (*FQDN*:  Fully-qualified Domain Name) come ``test.piffa.net.`` a differenza degli altri domini di terzo livello come ``pop,imap,smtp`` .
+
+La zona inizia con una direttiva ``$TTL 3D`` (RFC 2308) che indica la durata (in questo caso tre giorni) che ogni record dovrebbe avrebbe nella cache degli altri serber DNS. Questo valore dovrebbe essere superiore a un giorno, se non modificate spesso i valori dei vostri record DNS e' consigliabile settarlo a 2/3 settimane in modo da limitare la frequenza delle query al propio server. Questo parametro puo' essere modificato per singoli record::
+
+        $TTL 3D     ; 3 giorni: default se non specificato altrimenti
+        rapido  5h      IN      A       94.23.63.105 ; usa un TTL di 5 ore
+        lento   3w      IN      A       94.23.63.105 ; usa un TTL di 3 settimane
+        normale         IN      A       94.23.63.105 ; usa il TTL di default: 3 giorni
+
+
+Segue poi il nome della zona, indicato con la ``@`` per richiamare la zona originale precisata nel file ``named.conf.options`` . Segue il campo ``SOA``.
+
+SOA: Start of Authority Record
+`````````````````````````````````
+
+Il record SOA puo' comparire solo una volta in una zona, contiene informazioni relative all'autorita' del server DNS.
+
+ns1.piffa.net. name-server
+        primary master DNS di questo dominio.
+
+hostmaster.piffa.net. email-addr
+        email-addr: indirizzo email della persona responsabile di questa zona, il primo punto viene tradotto in una *chiocciola* ``@`` dato che questo carattere ha un'altro utilizzo all'interno di questo file. Il referente della zona **deve** essere un email valido e controllato, come consuetudine si usa ``hostmaster@dominio.tilde`` .
+
+200905245 serial number
+        Questo valore serve per indicare quando e' stato modificato questo file di configurazione, secondo il formato ``yyyymmddss``: ``yyyy`` = anno, ''mm'' = mese, ''dd'' = giorno, ''ss'' = seriale. Il seriale che deve essere sempre specificato anche per una cifra, va incrementato di una unita' nel caso vengano fatte piu' modifiche *nello stesso giorno*.
+
+8H refresh
+        Indica ai DNS secondari quanto tempo attendere per cercare di aggiornare i loro dati con il DNS master.
+
+2H retry
+        Intervallo di tempo per il DNS slave (secondario) da aspettare prima di cercare di ricontattare il *master* in caso di problemi col *refresh*.
+
+4W expire
+        Indica quando i dati dei dns secondarinon sono piu' autoritativi in caso di impossibilita' degli *slaves* di ri-aggiornarsi con il *master*. Consigliato un valore di 2/4 settimane.
+
+1D minimum
+        Questo valore indicava il TTL fino alla versione 8 di Bind, da Bind 9 e secondo la RFC2308 indica la durata del *negative caching*, quanto i resolvers (ad esempio un server dns cache) puo' mantenere un record *negativo* (che non indica la corrispondenza tra un nome di dominio e un ip, ma la non esistenza del record). Nell'uso per il negative caching viene fissato un valore massimo di 3 ore dalla RFC 2308.
+
+
+Altri campi:
+```````````````
+
+All'interno della zona possono essere utilizati vari tipi di records (RR):
+
+TXT
+        Informazioni testuali associate ad un record
+
+NS
+        Name Server della zona
+
+A
+        Indirizzo ipv4 da associare al record
+
+AAA
+        Indirizzo ipv6 da associare al record
+
+CNAME
+        Canonical Name: un alias per un host
+
+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.
+
+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/
+
+DNS slave
+-------------
+
+Data l'importanza del servizio DNS e' necessario avere ridondanza per i server DNS che ospitano i vostri dati: in caso di indisponibilita' del server *master* (nel caso fosse il solo a tenere i dati questo comporterebbe la *scomparsa* di tutti i servizi / host da esso seviti!) il client potrebbe contattare uno degli *slave*.
+
+Gli slave recuperano i dati dei recordos RR direttamente dal master e non sara' quindi necessario dover mantenere manualmente il file di configurazione della zona sugli slaves, ogni volta che aggiorneremo il master questi dati si  propaghera' agli slaves automaticamente.
+
+Per attivare uno *slave* per la nostra zona di esempio ``piffa.net`` si inserisca nel file ``named.conf.local`` dello slave server::
+
+       zone "piffa.net" {
+               type slave;
+               file "/etc/bind/pz/piffa.net";
+               masters { 192.168.0.1; };
+               };
+       
+Facendo ripartire Bind il file ``/etc/bind/pz/piffa.net`` viene creato automaticamente.
+
+Segue un estratto di ``/var/log/syslog`` al ``restart`` di ``bind9`` sullo slave::
+
+       ... slave named[2256]: zone piffa.net/IN: loaded serial 200905245
+       ... slave named[2256]: running
+       ... slave named[2256]: zone piffa.net/IN: sending notifies (serial 200905245)
+       ... slave named[2256]: client 192.168.0.1#1464: received notify for zone 'piffa.net'
+       ... slave named[2256]: zone piffa.net/IN: notify from 192.168.0.1#1464: zone is up to date
+
+.. 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.
+
+
+Link suggeriti:
+----------------
+
+* DNS for Rocket Scientists http://www.zytrax.com/books/dns/
+* DNS HOWTO http://www.langfeldt.net/DNS-HOWTO/BIND-9/
 
 Samba
 ======
@@ -1325,6 +1506,17 @@ Avendo preparato gli utenti (ancora una volta: non si dia una shell completa a u
 Dopo aver salvato il file si puo' fare un primo controllo tramite l'utility ``testparm`` , che controlla la sintassi del file di configurazione di Samba. Se questo non rileva problemi si puo' procedere a un ``# /etc/init.d/samba restart`` .
 
 
+Creazione di un gruppo
+~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Se si deve condividere una risorsa con un numero consistente di utenti e' consigliabile lavorare in termini termini di gruppi piuttosto che elencare la lista degli utenti in ``valid users``.
+
+Dopo aver creato il gruppo del quale volete facciano parte i vostri utenti (``addgroup nome_gruppo``), inserite i vostri utenti nel gruppo (``adduser nome_utente nome_gruppo``) e modificate la direttiva ``valid users`` in ``smb.conf`` per riferirsi ad un gruppo piuttosto che a degli utenti. Per riferirsi a un gruppo si usi il carattere ``@ chicciola`` col ``nome_del_gruppo``::
+
+       # Negoziazione degli accessi su base gruppo
+        valid users = @nome_gruppo
+
+
 Testare il Servizio
 --------------------
 
@@ -1352,7 +1544,7 @@ In alternativa e' possibile montare realmente la condivisone anche su GNU/Linux
 Server di posta: Postfix
 ============================
 
-Il server di posta che prenderemo in considerazione e' Postfix, a seguire un estratto di un file do configurazione *semplice* con l'abilitazione delle *Maildir* nelle ``/home`` degli utenti per la consegna della posta:
+Il server di posta che prenderemo in considerazione e' Postfix, a seguire un estratto di un file di configurazione *semplice* con l'abilitazione delle *Maildir* nelle ``/home`` degli utenti per la consegna della posta:
 
 ``/etc/postfix/main.cf``::
 
@@ -1365,30 +1557,91 @@ Il server di posta che prenderemo in considerazione e' Postfix, a seguire un est
        # Se non avete un ip pubblico e statico, con un adeguato record PTR
        # dovrete usare un realy host per l'invio della posta
        relayhost = smtp.piffa.net
+       
        mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
+       # Se dovete inviare la posta per i client della vostra LAN privata:
+       # mynetworks = 127.0.0.0/8 192.168.0.0/24 [::ffff:127.0.0.0]/104 [::1]/128
+       # E si faccia BEN ATTENZIONE a non diventare un open realay smtp
+
 
        # Per effettuare lo storaggio della posta nelle home directory degli utenti
-       # in una Maildir invece che la Mailbox in /var/mail/utente
+       # in una Maildir invece che nella Mailbox in /var/mail/nome_utente
        # si disabiliti procmail
        #mailbox_command = procmail -a "$EXTENSION"
 
-       # Storaggio della posta nella _cartella_ Maildir/ (si noti lo slash)
-       # nella home dell'utente:
+       # cartella_i abiliti lo storaggio della posta nella Maildir/ (si noti lo slash)
+       # all'interno della  home dell'utente:
        home_mailbox = Maildir/
        mailbox_size_limit = 0
        recipient_delimiter = +
        inet_interfaces = all
 
 
+E' disponibile un file di configurazione di esempio ben piu' articolato e commentato::
+        /usr/share/postfix/main.cf.dist .
+
+Test del server smtp
+-----------------------
+
+Per testare il corretto funzionamento del server di posta si puo' procedere in vari modi.
+
+- Spedire una mail a una casella locale / remota e controllare i log (syslog)
+- Collegarsi via *telnet* al server di posta: http://www.netadmintools.com/art276.html
+- usare una utility come SWAKS
+
+Swaks
+~~~~~~~~~~~
+
+Per gli utenti meno esperti e' consigliabile utilizzare *SWAKS*: si installi l'omonimo pacchetto e si esegua un test con::
+        swaks --to utente@destinatario.tilde --from utente@propio.mail.tilde
+
+Ecco un esempio di una sessione corretta::
+
+       swaks --to andrea@piffa.net from andrea@mydomain.com
+       === Trying smtp.piffa.net:25...
+       === Connected to smtp.piffa.net.
+       <-  220 zoo.piffa.net ESMTP Postfix (Debian/GNU)
+        -> EHLO alice.mydomain.com
+       <-  250-zoo.piffa.net
+       <-  250-PIPELINING
+       <-  250-SIZE 10240000
+       <-  250-VRFY
+       <-  250-ETRN
+       <-  250-STARTTLS
+       <-  250-ENHANCEDSTATUSCODES
+       <-  250-8BITMIME
+       <-  250 DSN
+        -> MAIL FROM:<root@alice.mydomain.com>
+       <-  250 2.1.0 Ok
+        -> RCPT TO:<andrea@piffa.net>
+       <-  250 2.1.5 Ok
+        -> DATA
+       <-  354 End data with <CR><LF>.<CR><LF>
+        -> Date: Thu, 28 May 2009 13:11:19 +0200
+        -> To: andrea@piffa.net
+        -> From: root@alice.mydomain.com
+        -> Subject: test Thu, 28 May 2009 13:11:19 +0200
+        -> X-Mailer: swaks v20061116.0 jetmore.org/john/code/#swaks
+        ->
+        -> This is a test mailing
+        ->
+        -> .
+       <-  250 2.0.0 Ok: queued as 41FB261AFC
+        -> QUIT
+       <-  221 2.0.0 Bye
+       === Connection closed with remote host.
+
+
+
 Imap e pop
 ------------------
 
-Postfix e' un server SMTP, di conseguenza se volete che i vostri utenti possano *scaricare* in locale la posta generalmente volete mettere a loro disposizione un server *POP3* o ancora meglio *IMAP*. Oppure entrambi.
+Postfix e' un server SMTP, di conseguenza se volete che i vostri utenti possano *scaricare* in locale la posta generalmente volete mettere a loro disposizione un server *POP3* o *IMAP*. Oppure entrambi.
 
 Pacchetti da installare        
        courier-imap courier-pop
 
-i noti che IMAP necessita delle Maildir, non funziona con le Mailbox in ``/var/mail/`` .
+Si noti che IMAP necessita delle *Maildir*, non funziona con le Mailbox in ``/var/mail/`` .
 
 Client a riga di comando
 ---------------------------
@@ -1398,7 +1651,7 @@ Per testare il corretto funzionamento del server di posta e' utile avere a dispo
 mailx
 ~~~~~~~~~~~~~~
 
-Uno dei client piu' semplici, per inviare un messaggio e' sufficente usare una formula come::
+Uno dei client piu' semplici, sopratutto per inviare un messaggioi.  e' sufficiente usare una formula come::
        mail utente@dominio.com
 
 Se il comando ``mail`` non fosse disponibile si installi il pacchetto ``mailx``.
@@ -1430,15 +1683,17 @@ set folder="~/Maildir"
        Per utilizzare ``/home/nome_utente/Maildir come mailbox``, invece del default ``/var/mail/nome_utente``.
 
 set editor="vim"
-       Utilizzare ``vim`` come editor invece che ``nano``.
+       Utilizzare ``vim`` come editor per comporre i messaggi.
 
-spelling in italiano
 
-Link a qualche tutorial / manuale
+Spesso e' utile poter *levvere al volo* la Mailbox / Maildir di un utente sul server di posta, per controllare se i messaggi vengono recapitati correttamente::
+       
+       mutt -f /var/mail/utente
+       mutt -f /home/utente/Maildir
 
-- mutte leggere la posta degli altri utenti
+In modo analogo si puo' consultare al volo la propia mailbox su un server remoto tramite IMAP/POP::
 
-       
+               mutt -f imap://nome_utente@piffa.net
 
 
 Web client
@@ -1449,9 +1704,69 @@ Per mettere a disposizione degli utenti un client web per gestire la propria pos
 L'interfaccia dovrebbe essere disponibile all'url: ``http://localhost/squirrelmail`` . Se cosi' non fosse assicuratevi che Apache abbia incluso il file di configurazione di squirrelmail::
 
        cd /etc/apache2/conf.d/
-       ln -s /etc/squirrelmail/apache.conf ./
+       ln -s /etc/squirrelmail/apache.conf ./squirrelmail.conf
+
+
+Graylisting
+----------------
+
+Il *graylisting* e' un sistema relativamente poco invasivo, con un limitato consumo di risorse per limitare lo *SPAM* in arrivo sul propio server di posta. Come suggerisce il nome e' una via di mezzo tra una *white list* (una lista di mittenti privilegiata, sempre benvenuti) e una *black list* (mittenti *bannati*, banditi dal poter inviare nuovi messaggi).
+
+Il funzionamento e' relativamente semplice: ogni mittente sconosciuto viene immediatamente rifiutato con un errore *non grave* come un *server non disponibile, provare piu' tardi*. Questo inconveniente non dovrebbe mettere in difficolta' un server di posta / mittente legittimo, che dopo un periodo di attesa tentera' nuovamente di inviare il messaggio ottenendo finalmente il risultato atteso. Diversamente un *bot* per l'invio di SPAM o un applicazione improvvisata (tipicamente di derivazione virale) che stesse inviando il messaggio *probabilmente* non insisterebbe, rinunciano ad inviare il messaggio preferendo destinazioni meno problematiche.
 
 
+Abilitazione in Postfix
+~~~~~~~~~~~~~~~~~~~~~~~~
+
+Installare il pacchetto: ``postgrey`` e aggiungere il file di configurazione di Postfix ``/etc/postfix/main.cf``::
+
+       smtpd_recipient_restrictions =
+               permit_mynetworks,
+               reject_unauth_destination,
+               check_policy_service inet:127.0.0.1:60000
+
+Test
+~~~~~~~~
+
+Inviando un messaggio il client dovrebbe ricevere un iniziale messaggio di rifiuto del messaggio::
+
+       swaks --to andrea@piffa.net from andrea@mydonain.com
+       === Trying smtp.piffa.net:25...
+       === Connected to smtp.piffa.net
+       ...
+       <-  250 2.1.0 Ok
+        -> RCPT TO:<andrea@piffa.net>
+       <** 450 4.2.0 <andrea@piffa.net>: Recipient address rejected: 
+       Greylisted, see http://postgrey.schweikert.ch/help/piffa.net.html
+        -> QUIT
+       <-  221 2.0.0 Bye
+       === Connection closed with remote host.
+
+A lato server si dovrebbe rilevare su ``/var/log/syslog`` qualcosa di simile::
+
+       connect from alice.mydomain.com[65.98.21.97]
+       May 28 14:53:34 r24266 postgrey: action=greylist, reason=new, 
+           client_name=alice.mydomain.com,
+          client_address=10.0.0.1, sender=root@alice.mydomain.com, recipient=andrea@piffa.net
+       May 28 14:53:34 r24266 postfix/smtpd[22538]: 
+          NOQUEUE: reject: RCPT from alice.mydomain.com[10.0.0.1]: 
+          450 4.2.0 <andrea@piffa.net>: Recipient address rejected: Greylisted, 
+          see http://postgrey.schweikert.ch/help/piffa.net.html; 
+          from=<root@alice.mydomain.com> to=<andrea@piffa.net> 
+           proto=ESMTP helo=<alice.mydomain.com>
+       May 28 14:53:34 r24266 postfix/smtpd[22538]: disconnect from alice.mydomain.com[10.0.0.1]
+
+
+Statistiche
+~~~~~~~~~~~~~~~
+
+E' sempre utile poter tracciare qualche statistica sulle percentuali di messaggi ricevuti, da chi, messaggi rifiutati (e per quale motivo). Statistiche che attingono dai soliti log del server di posta ``/var/log/syslog`` di default oltre che i dedicati ``/var/log/mail`` .
+
+Una utility semplice per analizzare l'attivita' del propio server smtp potrebbe essere ``pflogsumm`` , installato il pacchetto la si puo' invocare con::
+       
+       pflogsumm.pl  /var/log/mail.log
+
+oppure utilizzare i log piu' vecchi ad es. ``/var/log/mail.log.0``
 
 Firewall
 ==========
@@ -1780,7 +2095,11 @@ Per limitare attacchi di tipo brute force su SSH::
 NOTE
 ========
 
-* controllare apache
+Bind:
+        - altri esempi commenti su una zona
+        - esempi di una zona PTR?
+        - dns secondari
+        - nsupdate
 
 
 sintassi: in ``monospace`` :