]> git.piffa.net Git - doc/.git/blobdiff - source/servizi.txt
new file: hw_dispensa.html
[doc/.git] / source / servizi.txt
index 40ea028a6384e38f286e16d2a1bc615ad24e9843..85bb33fb8eda6c15ae78779e1bd448ecafe8e1c0 100644 (file)
@@ -24,7 +24,7 @@ Solo per uso interno
 
 Impostazioni di base per la configurazione del sistema operativo e della rete nel laboratorio 208 facente parte della rete piffa.net .
 
-Qui riportati per comodita' degli studenti (e del docente che non sara' **mai piu'** costretto a ripeterli continuamente! ). Gli altri lettori potranno tenerli presenti per cercare di comprendere gli esempi nel testo. Ad esempio: quando leggerete ``10.10.208.254:3128`` saprete che si tratta del nostro *proxy http*, stara' quindi a voi sostituire i dati con gli equivalenti *IP* della vostra rete.
+Sono qui riportati i parametri della rete locale per comodita' degli studenti, gli altri lettori possono considerarli come riferimento per comprendere i valori espressi nei vari file di configurazione. Ad esempio: quando leggerete ``10.10.208.254:3128`` saprete che si tratta del nostro *proxy http*, stara' quindi a voi sostituire i dati con gli equivalenti *IP* della vostra rete.
 
 Rete
 ------
@@ -39,10 +39,27 @@ netmask           255.255.255.0
 broadcast     10.10.208.255
 gateway              10.10.208.254
 DNS          10.10.208.254
-proxy http    10.10.208.254:3128
 ============= ================
 
-Sul portatile di Andrea, corrispondente all'IP 254, gira un DHCP, proxy http e mirror di Debian ( http://debian.piffa.net). Se Andrea non e' in aula (o ancora peggio non c'e' il suo portatile Net) gli studenti dovranno darsi un indirizzo IP manualmente e disabilitare il proxy (che pero' e trasparente, quindi fate pure come se non ci fosse ;) . Ad oggi il *lab208* e' servito dal server Bender (254 o 248) che ha ripreso le sue vecchie funzioni.
+Dal server locale degli studeti, **Bender**, corrispondente all'IP ``10.10.208.248``, vengono erogati i servizi DHCP, DNS, gateway (con NAT), proxy http e mirror della distribuzione Debian ( http://debian.piffa.net). Altri servizi in esecuzione sul server:
+
+- Rsync server e altri software di aggiornamento / installazione di massa
+- Server imap / pop3 / webmail / smtp
+- Server ssh per i test degli studenti 
+- File server Samba, NFS e controller di qualsiasi altro FS distribuito
+- Print server per la gestione delle stampanti
+- DNS server
+- Mirror locale delle \*.iso dei sistemi operativi e dei vari software usati durante le lezioni
+- Spazi web con PHP, MySQL, Postgresql (altri DB o framework vengono attivati a seconda dei corsi attivi)
+
+
+Durante il corso delle lezioni e' opportuno che le macchine degli studenti si appoggino al server Bender (ottetto finale ``248``), nel caso questo non fosse raggiungibile (ad esempio per permettere impostazioni di DHCP / routing diverse) sara' comunque disponibile il ``10.10.208.254`` come gateway | DNS per la rete ``10.10.208.10``.
+
+**Non e' piu' possibile** raggiungere Bender tramite l'IP pubblico ``212.22.136.248`` o *qualsiasi altro ip* della classe ``C 212.22.136.0/24`` precedentemente disponibile.
+
+Il computer del docente con il server VNC e' sempre configurato con l'ottetto finale: ``177`` della rete utilizzata durante le lezioni (quindi generalmente la VNC sara' disponibile sul ``10.10.208.177:1``. 
+
+Gli studenti sono pregati di non impedire l'accesso SSH alla propria macchina dal computer del docente, e non modificare la password dell'utente ``root`` del sistema operativo *pre-istallato* (ad es: *Diurno*).
 
 interfaces
 ~~~~~~~~~~~~~~~
@@ -57,7 +74,6 @@ Segue un esempio del file di configurazione della scheda di rete con configurazi
        iface lo inet loopback
 
        # La prima scheda di rete (se si chiama eth0)
-       # (network, broadcast and gateway sono optional)
        iface etho inet static
          # esempio con dhcp:
          # iface etho inet dhcp
@@ -67,14 +83,14 @@ Segue un esempio del file di configurazione della scheda di rete con configurazi
         broadcast 10.10.208.255
         gateway 10.10.208.254
 
-       # Quali interfacci devono partire automaticamente:
+       # Quali interfaccie devono partire automaticamente:
        auto lo eth0
 
 Controllare il nome della propria scheda di rete: a volte *udev* rinomina la prima scheda a ``eth1``, oppure potreste avere piu' di una scheda di rete (anche un'interfaccia *firewire* puo' essere automaticamente abilitata come scheda di rete).
 
 Se si usano *schede di rete virtuali* ( eth0:1 , eth0:1 , ...) ricordarsi che queste dipendono dalla scheda fisica a cui sono associate: abbattere con ``ifconfig down eth0`` la scheda principale fara' cadere anche queste. Tornando ad attivare la scada principale con ``ifconfig eth0 up`` la virtuale tornera' attiva: nel caso voleste disabilitarla dovrete quindi sempre abbattere manualmente la scheda virtuale *prima* della scheda reale.
 
-I DNS vanno indicati nel file ``/etc/resolv.conf`` , la cui sintassi e' spiegata al punto 4.6 .
+I DNS vanno indicati nel file ``/etc/resolv.conf`` , la cui sintassi e' spiegata al punto 4.6 . Come DNS si *deve* usare il server Bender, alcuni parametri dei software di installazione, risoluzione dei mirror, vengono opportunamente modificatia da questo DNS.
 
 Bash completion
 -------------------
@@ -102,7 +118,7 @@ Esempio di ~/.bahsrc ::
         alias ll='ls $LS_OPTIONS -l'
         alias l='ls $LS_OPTIONS -lA'
        
-       # Some more alias to avoid making mistakes:
+       # Abilitare i seguenti alias per impostare la conferma per cancellare file
        # alias rm='rm -i'
        # alias cp='cp -i'
        # alias mv='mv -i'
@@ -116,17 +132,19 @@ Links:
 
 * `An introduction to bash completion <http://www.debian-administration.org/articles/316>`_
 * `Working more productively with bash 2.x/3.x <http://www.caliban.org/bash/>`_
+* UNIX / Linux Shell Scripting Tutorial: http://steve-parker.org/sh/sh.shtml
 
 Vim
 ------------
 
 Vim e' l'editor di testo preferito dai sistemisti, quindi sara' conveniente impostare fin da subito alcune impostazioni per renderlo piu' comodo.
 
-Assicurarsi che sia installata nel sistema la versione completa dell'editor ``vim`` installando il  pacchetto ``vim``::
+Assicurarsi che sia installata nel sistema la versione completa dell'editor installando il  pacchetto ``vim``::
 
        # apt-get install vim
 
- e modificare il file di configurazione generale ``/etc/vim/vimrc`` ::
+
+Modificare poi il file di configurazione generale ``/etc/vim/vimrc`` ::
 
     " All system-wide defaults are set in $VIMRUNTIME/debian.vim (usually just
     " /usr/share/vim/vimcurrent/debian.vim) and sourced by the call to :runtime
@@ -195,6 +213,12 @@ Assicurarsi che sia installata nel sistema la versione completa dell'editor ``vi
 
 I principianti faranno bene ad esercitarsi con ``vimtutor it``.
 
+Altri link per VIM:
+
+- Vim Introduction and Tutorial: http://blog.interlinked.org/tutorials/vim_tutorial.html
+- http://blog.smr.co.in/category/vim/
+- http://vimdoc.sourceforge.net/
+
 VNC
 ------------
 
@@ -206,10 +230,24 @@ Procedura::
 
     su root
     cd /bin
-    wget http://debian.piffa.net/guarda.sh
+    wget http://bender/guarda.sh
     chmod +x guarda.sh
     exit
 
+
+Per eseguire lo script digitare semplicemente ``guarda.sh``, oppure creare un link / collegamento sul Desktop allo script ``/bin/guarda.sh``.
+
+Le impostazioni del server VNC sono:
+
+===================== =================
+Parametro              Valore
+===================== =================
+IP                     10.10.208.177:1
+Server grafico         :1
+password               password
+===================== =================
+
+
 Si noti che non e' possibile lanciare un applicativo sul server grafico di un utente da una shell in cui si sta lavorando come altro utente, anche se root. E' quindi necessario essere l'utente di sistema che si e' loggato inizialmente nella sessione grafica per poter lanciare lo script guarda.sh da una shell.
 
 Controllare con ``whoami`` di essere l'utente normale (es ``utente | studente | proprio nome`` ), in caso si sia assunta una altra ``id`` si apra un altra shell o si esca da quella attuale con ``exit`` .
@@ -221,7 +259,7 @@ I pacchetti installati generalmente [#]_ per poter seguire le lezioni sono::
 
        kde-core kdm kde-i18n-it xorg vim less xtightvncviewer 
 
-.. [#] ``kde-core`` e' piu' leggero del pacchetto ``kde``. Esiste un equivalente ``gnome-core gnome`` per chi preferisce gnome, nel caso si potrebbe installare  il log-in manager ``gdm`` al posto di ``kdm``.    
+.. [#] ``kde-core`` e' piu' leggero del pacchetto ``kde``. Esiste un equivalente ``gnome-core`` per chi preferisce Gnome, nel caso si potrebbe installare  il log-in manager ``gdm`` al posto di ``kdm``.    
 
 Apt configurazione
 ---------------------
@@ -239,7 +277,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.
 
@@ -251,11 +289,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
@@ -268,7 +309,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
@@ -276,20 +319,22 @@ Gli archivi sono generalmente:
 
 Questo file contiene le opzioni di apt, come ad esempio il proxy::
 
-    Acquire::http::Proxy "http://10.10.208.254:3128";
+    Acquire::http::Proxy "http://10.10.208.248:3128";
+
+Si tenga conto che se si imposta un proxy per apt sul proprio portatile e tornati a casa propria si vuole scaricare nuovi pacchetti si dovra' disabilitare il proxy commentando la riga con ";" (''punto-e-virgola'')::
 
-Si tenga conto che se si imposta un proxy per apt sul proprio portatile e tornati a casa propria si vuole scaricare nuovi pacchetti si dovra' disabilitare il proxy.
+E' consigliabile impostare il proxy per apt anche in presenza di un proxy-http *trasparente*    
 
 
 Squid
 ======
 
-Squid e' un proxy  cache http (ma anche FTP e https) robusto e strutturato, puo' essere usato sia in reti relativamente piccole grazie alla semplicita' di configurazione che in scenari piu' complessi grazie alla possibilita' di gestirne in modo granulare le risorse.  Si partira' dalle configurazioni piu' semplici per la semplice *condivisione della navigazione* internet, per poi poter configurare la gestione degli accessi, il filtraggio dei contenuti (Squid e' una applicazione che si muove nel 4' livello del modello TCP/IP a differenza di un *ipfilter* limitato al 2') nel l bilanciamento del carico tra piu' hosts.
+Squid e' un proxy  cache http (ma anche FTP e https) robusto e strutturato, puo' essere usato sia in reti relativamente semplici che in scenari piu' complessi grazie alla possibilita' di gestirne in modo granulare le risorse.  Si partira' dalle configurazioni piu' semplici per la semplice *condivisione della navigazione* internet, per poi poter configurare la gestione degli accessi, il filtraggio dei contenuti (Squid e' una applicazione che si muove nel 4' livello del modello TCP/IP a differenza di un *ipfilter* limitato al 2'), nel  bilanciamento del carico tra piu' server proxy.
 
 Inoltre Squid svolge la funzione di *anonymizer*:
-       nasconde i client http alla rete internet: risulta solo il server proxy nei log dei server web frequentati dagli utenti di Squid.
+       nasconde i client http alla rete internet:  e' solo il server proxy a risultare nei log dei server web frequentati dagli utenti di Squid. Glu utenti non sono percepiti ed esposti all'esterno.
 
-Cosa a volte sottovalutata, Squid permette la navigazione web a una rete basata su *indirizzi IP privati* (es una 192.168.0.0/24). E se la rete privata deve *solo navigare* in internet, non serve un *NAT* od altro, basta il solo Squid. Per altro non servira' neanche un servizio DNS dato che *sara' il solo Squid a risolvere i nomi di dominio* per i suoi client http.
+Cosa a volte sottovalutata, Squid permette la navigazione web a una rete basata su *indirizzi IP privati* (es una 192.168.0.0/24). E se la rete privata deve *solo navigare* in internet, non serve dover introdurre nella rete un *NAT* (si veda la sezione sui firewall) per condividere la connessione, basta il solo Squid. Per altro non servira' neanche un servizio DNS utilizzabile dai clients dato che *sara' il solo Squid a risolvere i nomi di dominio* per i suoi client http.
 
 Squid ascolta di default sulla porta 3128,  per impostare *apt* per utilizzarlo si aggiunga ad ``/etc/apt/apt.conf`` ::
 
@@ -515,7 +560,7 @@ Apache
 
 Apache HTTP Server, o piu' comunemente Apache, e' il nome dato alla piattaforma server Web modulare piu' diffusa (ma anche al gruppo di lavoro open source che ha creato, sviluppato e aggiornato il software server), in grado di operare da sistemi operativi UNIX-Linux e Microsoft.
 
-Un server web e' un processo, e per estensione il computer su cui e' in esecuzione, che si occupa di fornire, su richiesta del browser, una pagina web (spesso scritta in HTML). Le informazioni inviate dal server web viaggiano in rete trasportate dal protocollo HTTP. L'insieme di server web dà vita al World Wide Web, uno dei servizi piu' utilizzati di Internet.
+Un server web e' un processo, e per estensione il computer su cui e' in esecuzione, che si occupa di fornire, su richiesta del browser, una pagina web (spesso scritta in HTML). Le informazioni inviate dal server web viaggiano in rete trasportate dal protocollo HTTP. L'insieme di server web da' vita al World Wide Web, uno dei servizi piu' utilizzati di Internet.
 
 Pacchetti da installare::
 ----------------------------
@@ -1058,10 +1103,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
@@ -1077,9 +1126,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``::
        
@@ -1107,9 +1156,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).
@@ -1155,7 +1204,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
 
@@ -1273,9 +1322,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
 
 
 
@@ -1327,7 +1378,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
@@ -1336,14 +1387,112 @@ 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/
 
+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.
+
+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:
 ----------------
@@ -1734,20 +1883,20 @@ oppure utilizzare i log piu' vecchi ad es. ``/var/log/mail.log.0``
 Firewall
 ==========
 
-In Informatica, nell'ambito delle reti di computer, un firewall (termine inglese dal significato originario di parete refrattaria, muro tagliafuoco, muro ignifugo; in italiano anche parafuoco o parafiamma) e' un componente passivo di difesa perimetrale che puo anche svolgere funzioni di collegamento tra due o piu' tronconi di rete. Usualmente la rete viene divisa in due sotto reti: una, detta esterna, comprende l'intera Internet mentre l'altra interna, detta LAN (Local Area Network), comprende una sezione piu' o meno grande di un insieme di computer locali. In alcuni casi e' possibile che si crei l'esigenza di creare una terza sotto rete detta DMZ (o zona demilitarizzata) atta a contenere quei sistemi che devono essere isolati dalla rete interna ma devono comunque essere protetti dal firewall.
+In Informatica, nell'ambito delle reti di computer, un firewall (termine inglese dal significato originario di parete refrattaria, muro tagliafuoco, muro ignifugo; in italiano anche parafuoco o parafiamma) e' un componente passivo di difesa perimetrale che puo anche svolgere funzioni di collegamento tra due o piu' tronconi di rete. Usualmente la rete viene divisa in due sotto reti: una, detta esterna, comprende l'intera Internet mentre l'altra interna, detta LAN (Local Area Network), comprende una sezione piu' o meno grande di un insieme di computer locali. In alcuni casi e' possibile che si crei l'esigenza di creare una terza sotto rete detta DMZ (o zona demilitarizzata) atta a contenere quei sistemi che devono essere isolati dalla rete interna ma devono comunque essere protetti dal firewall.
 
-Una prima definizione chiusa di firewall è la seguente:
+Una prima definizione chiusa di firewall e' la seguente:
 
 Apparato di rete hardware o software che filtra tutti i pacchetti entranti ed uscenti, da e verso una rete o un computer, applicando regole che contribuiscono alla sicurezza della stessa.
 
-In realta'à un firewall puo'ò essere realizzato con un normale computer (con almeno due schede di rete e software apposito), puo'ò essere una funzione inclusa in un router o puo'ò essere un apparato specializzato. Esistono inoltre i cosiddetti "firewall personali", che sono programmi installati sui normali calcolatori, che filtrano solamente i pacchetti che entrano ed escono da quel calcolatore; in tal caso viene utilizzata una sola scheda di rete.
+In realta' un firewall puo' essere realizzato con un normale computer (con almeno due schede di rete e software apposito), puo' essere una funzione inclusa in un router o puo' essere un apparato specializzato. Esistono inoltre i cosiddetti "firewall personali", che sono programmi installati sui normali calcolatori, che filtrano solamente i pacchetti che entrano ed escono da quel calcolatore; in tal caso viene utilizzata una sola scheda di rete.
 
-La funzionalita'à principale in sostanza è quella di creare un filtro sulle connessioni entranti ed uscenti, in questo modo il dispositivo innalza il livello di sicurezza della rete e permette sia agli utenti interni che a quelli esterni di operare nel massimo della sicurezza. Il firewall agisce sui pacchetti in transito da e per la zona interna potendo eseguire su di essi operazioni di:
+La funzionalita' principale in sostanza e' quella di creare un filtro sulle connessioni entranti ed uscenti, in questo modo il dispositivo innalza il livello di sicurezza della rete e permette sia agli utenti interni che a quelli esterni di operare nel massimo della sicurezza. Il firewall agisce sui pacchetti in transito da e per la zona interna potendo eseguire su di essi operazioni di:
 controllo
 modifica
 monitoraggio
 
-Questo grazie alla sua capacita'à di "aprire" il pacchetto IP per leggere le informazioni presenti sul suo header, e in alcuni casi anche di effettuare verifiche sul contenuto del pacchetto.
+Questo grazie alla sua capacita' di "aprire" il pacchetto IP per leggere le informazioni presenti sul suo header, e in alcuni casi anche di effettuare verifiche sul contenuto del pacchetto.
 
 Links
 ------
@@ -1822,12 +1971,12 @@ Iptables lavora su 3 tabelle (tables) di default:
 
 * filter - Regola il firewalling: quali pacchetti accettare, quali bloccare
 
-* nat - Regola le attivita'à di natting
+* nat - Regola le attivita' di natting
 
 * mangle - Interviene sulla alterazione dei pacchetti.
 
 Ogni tabella ha delle catene (chains) predefinite (INPUT, OUTPUT, FORWARD ... ) a cui possono essere aggiunte catene custom. 
-Ogni catena è composta da un elenco di regole (rules) che identificano pacchetti di rete secondo criteri diversi (es: -p tcp --dport 80 -d 10.0.0.45)
+Ogni catena e' composta da un elenco di regole (rules) che identificano pacchetti di rete secondo criteri diversi (es: -p tcp --dport 80 -d 10.0.0.45)
 Ogni regola termina con una indicazione (target) su cosa fare dei pacchetti identificati dalla regola stessa (es: -j ACCEPT,  -j DROP ...)
 
 Match 
@@ -1884,23 +2033,23 @@ Target principali:
        Simile a SNAT, si applica quando i pacchetti escono da interfacce con IP dinamico (dialup, adsl, dhcp...). Si usa solo in nat / POSTROUTING e prevede l'opzione --to-ports porte. 
 
 -j REDIRECT 
-       Redirige il pacchetto ad una porta locale. Usabile solo in nat / PREROUTING e nat / OUTPUT è previsto per fare un transparent proxy (con proxy server in esecuzione sulla macchina con iptables)
+       Redirige il pacchetto ad una porta locale. Usabile solo in nat / PREROUTING e nat / OUTPUT e' previsto per fare un transparent proxy (con proxy server in esecuzione sulla macchina con iptables)
 
 -j RETURN 
-       Interrompe l'attraversamento della catena. Se questa è una secondaria, il pacchetto torna ad attraversare la catena madre da punto in cui aveva fatto il salto nella secondaria. Se il RETURN è in una delle catene di default, il pacchetto interrompe l'attraversamento e segue la policy di default.
+       Interrompe l'attraversamento della catena. Se questa e' una secondaria, il pacchetto torna ad attraversare la catena madre da punto in cui aveva fatto il salto nella secondaria. Se il RETURN e' in una delle catene di default, il pacchetto interrompe l'attraversamento e segue la policy di default.
 
 -j TOS 
        Usabile solo nella tabella mangle, permette di cambiare il TOS (Type Of Service) di un pacchetto con l'opzione --set-tos. Per un elenco dei parametri disponibili: iptables -j TOS -h
 
 -j MIRROR 
-       Curioso e sperimentale, questo target invia un pacchetto speculare al mittente. In pratica è come se facesse da specchio per tutti i pacchetti ricevuti. Da usare con cautela, per evitare attacchi DOS indiretti.
+       Curioso e sperimentale, questo target invia un pacchetto speculare al mittente. In pratica e' come se facesse da specchio per tutti i pacchetti ricevuti. Da usare con cautela, per evitare attacchi DOS indiretti.
 
 
 Tabella Filter
 ---------------
 
 E' quella implicita e predefinita (-t filter)
-Riguarda le attività di filtraggio del traffico.
+Riguarda le attivita' di filtraggio del traffico.
 Ha 3 catene di default:
 INPUT - Riguarda tutti i pacchetti destinati al sistema. In entrata da ogni interfaccia.
 OUTPUT - Riguarda i pacchetti che sono originati dal sistema e destinati ad uscire.
@@ -1929,7 +2078,7 @@ Se state provando una configurazione del firewall per una macchina remota e' buo
 Gestione regole (rules)
 --------------------------
 
-Il comando iptables viene usato per ogni attivita'à di gestione e configurazione.
+Il comando iptables viene usato per ogni attivita' di gestione e configurazione.
 
 Inserimento regole:
 
@@ -2049,6 +2198,7 @@ Brute force
 ~~~~~~~~~~~~
 
 Per limitare attacchi di tipo brute force su SSH::
+
        iptables -A INPUT -i ppp0 -p tcp -m tcp --dport 22 -m state --state NEW -m recent --update --seconds 3000 --hitcount 4 --name DEFAULT --rsource -j DROP
 
        iptables -A INPUT -i ppp0 -p tcp -m tcp --dport 22 -m state --state NEW -m recent --set --name DEFAULT --rsource