X-Git-Url: http://git.piffa.net/web?a=blobdiff_plain;f=servizi.html;h=5be409b816f9c3afb3eaafec3d5d0481b33d385e;hb=f32b9711a14936139aa89c128ae65ca19996ab96;hp=839b2626b6ddd40c1b59545a994c0ef53377edde;hpb=478f50882562fb7ac080514a1f0fc67322971203;p=doc%2F.git diff --git a/servizi.html b/servizi.html index 839b262..5be409b 100644 --- a/servizi.html +++ b/servizi.html @@ -4,7 +4,7 @@
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org"> Servizi di rete passo a passo-@@ -266,18 +279,22 @@
Version: -0.8 +0.94
Questa guida e' dedicata agli studenti delle lezioni di - informatica tenute da Andrea nel lab208. Nella parte iniziale - sono presenti alcuni richiami alle impostazioni di rete e di - installazione del laboratorio 208 (lab208) dove generalmente si - tengono le lezioni. Questi parametri non sono interessanti per - chiunque si trovasse al di fuori della rete piffa.net .
+Questa guida tratta la configurazione di base dei principali + servizi di rete utilizzati con sistemi operativi Unix + e derivati come GNU/Linux per gli studenti dei corsi + per amministratori di rete in ambiente GNU/Linux. In + particolare questa guida e' stata scritta usando come + riferimento la distribuzione Debian GNU/Linux. Gli + esempi presentati dovrebbero quindi essere direttamente + utilizzabili anche su distribuzioni derivate da Debian come + Ubuntu, per sistemi operativi diversi si presti attenzione ai + percorsi dei file citati.
Indice degli argomenti
@@ -285,332 +302,363 @@Generato con: Generato il 2010-02-09 con: http://docutils.sourceforge.net/rst.html
Impostazioni di base per la configurazione del sistema operativo e della rete nel laboratorio 208 facente parte @@ -912,15 +1008,15 @@ 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.
+ "pre">10.10.208.248:3128 saprete che si tratta + del nostro proxy http in ascolto sulla porta + 3128, stara' quindi a voi sostituire i dati + con gli equivalenti IP della vostra rete.Parametri della rete attualmente in uso:
@@ -956,13 +1052,13 @@Segue un esempio del file di configurazione della scheda di rete con configurazione statica:
@@ -1095,7 +1191,7 @@ auto lo eth0Il completamento automatico della shell (che si attiva premendo il tasto tab una o due volte mentre si sta @@ -1183,7 +1279,7 @@ umask 022
Vim e' l'editor di testo preferito dai sistemisti, quindi sara' conveniente impostare fin da subito alcune @@ -1287,28 +1383,35 @@ endif
I Virtual Network Computing (o VNC) sono software di - controllo remoto e servono per amministrare il proprio - computer a distanza o visualizzare la sessione di lavoro di - un altro computer sul proprio a scopo didattico.
+ controllo remoto e servono per amministrare un computer a + distanzai. Nel nostro caso la VNC sara' utilizzata per + visualizzare la sessione di lavoro di un altro computer sul + proprio a scopo didattico. -Scaricare il pacchetto xtightvncviewer e lo script guarda.sh - in una posizione (collocazione nel path degli - utenti, es echo $PATH per - visualizzare l'attuale path ) comoda per gli utenti ( in - genere /bin ), rendere eseguibile lo script.
+Per collegarvi al server del docente usate lo script + guarda.sh che dovrebbe gia essere + disponibili sui sistemi preconfigurati, oppure potete + invocare direttamente il collegamento con:
++xtightvncviewer -viewonly 10.10.208.177:1 ++ +
Se il comando non fosse disponibile installate il + pacchetto xtightvncviewer. Potete anche scaricare + lo script guarda.sh e renderlo eseguibile, ed + eventualmente creare una voce nel menu di KDE per + richiamarlo.
Procedura:
su root -cd /bin +cd /usr/local/bin wget http://bender/guarda.sh chmod +x guarda.sh exit @@ -1318,7 +1421,7 @@ exit "docutils literal">guarda.sh, oppure creare un link / collegamento sul Desktop allo script /bin/guarda.sh. + "pre">/usr/local/bin/guarda.sh.Le impostazioni del server VNC sono:
@@ -1380,7 +1483,7 @@ exit1.6 Lista dei pacchetti di + "#id16">1.6 Lista dei pacchetti di base
I pacchetti installati generalmente gnome-core per chi preferisce Gnome, nel caso si potrebbe installare il log-in - manager gdm al posto di kdm. + manager gdm al posto di + kdm. @@ -1420,7 +1521,7 @@ kde-core kdm kde-i18n-it xorg vim less xtightvncviewer
1.7 Apt configurazione
+ "#id17">1.7 Apt configurazioneVediamo i due file principali di apt:
@@ -1434,7 +1535,7 @@ kde-core kdm kde-i18n-it xorg vim less xtightvncviewer1.7.1 sources.list
+ "#id18">1.7.1 sources.listQuesto file contiene i sorgenti da cui apt preleva i pacchetti da installare tramite dpkg, @@ -1476,26 +1577,29 @@ kde-core kdm kde-i18n-it xorg vim less xtightvncviewer # esempio di accesso a un CDROM: # cdrom:[Debian GNU/Linux 5.0.1 _Lenny_ - Official i386 kde-CD Binary-1 20090$ -# 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 +# ftp.it.debian.org viene rediretto su un mirror interno +# quando vi trovate nella rete interna piffa.net +deb http://ftp.it.debian.org/debian/ lenny main # Sono disponibili anche i rami non-free contrib -# deb http://debian.piffa.net/debian/ lenny non-free contrib +# deb http://ftp.it.debian.org/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 +# deb http://ftp.it.debian.org/debian/ testing main non-free contrib +# deb http://ftp.it.debian.org/debian/ sid main non-free contrib + +# Sorgenti dei pacchetti: +# deb-src http://ftp.bononia.it/debian/ lenny main # Mirror da kernel.org europa da usare a casa: deb http://mirrors.eu.kernel.org/debian/ lenny main # Security dal sito principale deb http://security.debian.org/ lenny/updates main -deb-src http://security.debian.org/ lenny/updates main +# deb-src http://security.debian.org/ lenny/updates main -# Debian volatile per le cose soggette a cambiamenti non legati -# a dinamiche di sicurezza +# Debian volatile per i pacchetti soggetti a frequanti cambiamenti +# non legati a dinamiche di sicurezza deb http://volatile.debian.org/debian-volatile Lenny/volatile main -deb-src http://volatile.debian.org/debian-volatile Lenny/volatile main +# deb-src http://volatile.debian.org/debian-volatile Lenny/volatile main # Esempio di accesso a un file system locale contenente i pacchetti: # Potete scaricarei in aula con debmirror da debian.piffa.net @@ -1506,7 +1610,7 @@ deb-src http://volatile.debian.org/debian-volatile Lenny/volatile main
1.7.2 /etc/apt/apt.conf
+ "#id19">1.7.2 /etc/apt/apt.confQuesto file contiene le opzioni di apt, come ad esempio il proxy:
@@ -1517,138 +1621,150 @@ 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''):
- - + commentando la riga con ";" (''punto-e-virgola''). Su un + portatile vi conviene tracciare il mirror ftp.it.debian.org senza impostare il + proxy: in aula verra' rediretto al mirror locale e a casa + vi appoggerete al mirror ufficiale.E' consigliabile impostare il proxy per apt anche in - presenza di un proxy-http trasparente
+ presenza di un proxy-http trasparente.2 Squid
- -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: 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 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 2 Squid + +
Squid e' un proxy cache http (ma puo' anche gestire i + protocolli FTP e https) robusto e strutturato, grazie alla + sua flessibilita' puo' essere utilizzato sia in piccole reti + locali che in scenari piu' complessi. E' molto semplice + configurarlo per la semplice condivisione della + navigazione internet all'interno di una rete locale, per + poi poter sucessivamente implementare la autenticazione degli + utenti, 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'), il + bilanciamento del carico tra piu' server proxy.
+ +Se il server Squid e' in grado di accedere a internet + puor' 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 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 accessibile dai clients + dato che sara' il solo Squid a risolvere i nomi di dominio + per i suoi client http.
+ +Inoltre Squid svolge la funzione di anonymizer: + nasconde i client http alla rete internet: e' solo il server + proxy ad accedere ai server web frequentati dai client: + questi non sono percepiti ed esposti all'esterno della rete + locale ma si relazionano solo con Squid. Dal punto di vista + della sicurezza della rete locale questo e' preferibile ad un + approccio alla navigazione basato su NAT.
+ +Squid ascolta di default sulla porta 3128, per + quanto in genere la porta preferita per i servizi di caching + http sia la 8080. Per utilizzarlo subito anche per apt + si aggiunga ad /etc/apt/apt.conf
Acquire::http::Proxy "10.10.208.254:3128";-Per installare Squid si usino i pacchetti:
+Per installare Squid si usi il pacchetto:
squid32.1 Configurazione: + "#id21">2.1 Configurazione: squid.conf
-Segue un estratto delle direttive principali viste in +
egue un estratto delle direttive principali viste in aula presenti nel file di configurazione /etc/squid3/squid.conf .
-2.1.1 Cache_dir
- -Cache dir serve per impostare dimensione e percorso - della cache creata sul supporto di storaggio. Essendo la - dimensione di default della cache pari a ~100 - MB e' altamente - consigliabili aumentare questo parametro se si vuole - poter utilizzare la funzione di cache http del - software.
- -La dimensione ovviamente dipendera' dallo spazio - disponibile, dimensioni tipiche e massime degli oggetti - che si vuole tenere in cache (un solo file .iso e' - circa ``700 MB``, il pacchetto *Openoffice.org circa - 150 - MB, un pacchetto debian - circa 20 MB), numero - dei client.
+ "#id22">2.1.1 Cache_dir + +Cache dir serve per impostare caratteristiche + fondamentali della cache creata sul supporto di storaggio + quali dimensione e percorso nel file-system. Essendo la + dimensione di default della cache pari a ~``100 MB`` e' + altamente consigliabili aumentare questo parametro se si + vuole godere dei vantaggi della funzione di cache per + piu' clients.
+ +Per stabilire il dimensionamento della cache si tenga + conto dello spazio disponibile, dimensioni tipiche e + massime degli oggetti che si vuole tenere in cache (un + solo file .iso occupa circa 700 + MB, il pacchetto + Openoffice.org circa 150 MB, un pacchetto Debian circa 20 + MB), e in fine del numero dei client.
Si presti poi attenzione alla natura dei dati che saranno salvati nella cache: sono tutti dati facilmente - sostituibili (gli originali sono on-line) la cui - perdita non arreca danni permanenti. Questo rende la - cache di Squid un possibile candidato ad un RAID - stirpe (livello 0), con vantaggi sia per le - prestazioni (e la velocita' di navigazione e' uno dei - motivi per cui si installa Squid) che per l'utilizzo - estensivo dello spazio di storaggio. Questo fino al - momento in cui per voi non sia piu' importante - garantire la disponibilita' del servizio (se il - RAID stripe dovesse rompersi gli utenti non potrebbero - piu' navigare, cosa che per natura dello stripe e' - maggiormente probabile rispetto ad un mirror o a - un filesytem normale) con un RAID mirror o - 5.
- -Altra considerazione: i dati del proxy vengono slavati - sul filesytem del server dietro richiesta di utenti - esterni talvolta sconosciuti. Come per i servizi di file - sharing o per la posta elettronica non c'e' motivo che il - filesystem su cui sono ospitati questi dati abbia i - privilegi di eseguibilita' o suid (in genere si puo' - anche usare noatime per renderlo piu' veloce, - che si usi o meno il journal dipende dalle preferenze: - affidabilita' oppure prestazioni):
- -/etc/fstab
-+ sostituibili (gli originali sono on-line) la cui perdita + causerebbe solo la necessita' di ripopolare la cache. + Questo rende la cache di Squid un possibile candidato ad + un RAID stirpe (livello 0) a ad un file system che + prediliga le performance a scapito della consistenza, con + vantaggi sia per le prestazioni (e la velocita' di + navigazione e' uno dei motivi per cui si installa Squid) + che per l'utilizzo estensivo dello spazio di + storaggio. + +Questo fino al momento in cui per voi non sia piu' + importante garantire la disponibilita' del servizio: se + il RAID stripe dovesse rompersi gli utenti non potrebbero + piu' navigare, cosa che per natura dello stripe e' piu' + probabile rispetto ad un filesytem normale.
+ +++2.1.1.1 Opzioni del file + system
+ +I dati che compongono la cache vengono salvati sul + filesytem del server dietro richiesta dei client http + degli utenti della rete locale. Come per i servizi di + file sharing o per la posta elettronica non c'e' motivo + che il filesystem su cui sono ospitati questi dati + abbiano i privilegi di eseguibilita' o suid (in genere + si possono anche usare opzioni come noatime per rendere + i file-systems piu' veloci, scegliere di utilizzare un + journal dipende dalla dimesione della cache dalle + preferenze: affidabilita' oppure prestazioni):
+ +/etc/fstab
+... # Filesystem per Squid http cache -/dev/md3/ /var/spool/squid/ ext3,noexec,nosuid,noatime 0 3 +/dev/md3/ /var/spool/squid/ ext2,noexec,nosuid,noatime 0 3+Ora possiamo impostare la cache direttamente nel file - +
2.1.2 Configurazioni di + Cache_dir
+ +Ora possiamo impostare la cache nel file di + configurazione /etc/squid3/squid.conf:
#TAG: cache_dir (riga 1628) @@ -1662,24 +1778,21 @@ squid3 #Default: # cache_dir ufs /var/spool/squid3 100 16 256 cache_dir aufs /var/spool/squid3 300 24 256 +# | | | | secondo livello di directory +# | | | directory primo livello +# | | dimensione in MB +# | path della cache # algoritmo -# path della cache -# dimensione in MB -# directory primo livello -# secondo livello di directory-Se si modifica la struttura del filesytem della cache - di Squid, ad esempio variando il numero delle directory, - puo' essere opportuno rigenerare la struttura della cache - di squid (per lo meno se si aumenta il numero - delle directory di primo o secondo livello). Tipicamente - e' consigliabile cancellare (se si ha ridotto il - numero delle directory) la vecchia cache e poi generare - una nuova struttura. Se si vuole star nel sicuro - ogni volta che si modifica l'impostazione delle directory - si svuoti la vecchia cache e se ne generi una - nuova
+Se si modifica la struttura della cache di Squid, ad + esempio variando il numero delle directory, puo' essere + opportuno cancellare e rigenerare la cache. Tipicamente + e' consigliabile cancellare (se si ha ridotto il numero + delle directory) la vecchia cache e poi generare una + nuova struttura. Se si vuole star nel sicuro ogni volta + che si modifica l'impostazione delle directory si svuoti + la vecchia cache e se ne generi una nuova:
# /etc/init.d/squid3 stop # rm -r /var/spool/squid3/?? @@ -1690,7 +1803,7 @@ cache_dir aufs /var/spool/squid3 300 24 2562.1.2 TAG: + "#id25">2.1.3 TAG: maximum_object_size
Questa direttiva imposta la dimensione massima degli @@ -1720,21 +1833,28 @@ maximum_object_size 150 MB
2.1.3 TAG: cache_mem
- -Cache_mem imposta quanta memoria RAM venga - utilizzata per la cache di Squid. Questo dipendera' dalla - RAM disponibile sul sistema, e da quanta di questa volete - mettere a disposizione di Squid (altri servizi importanti - girano sulla stessa macchina?). Questo parametro - influisce sulle prestazioni e sul degrado dei supporti di - storaggio (sopratutto se magnetici).
+ "#id26">2.1.4 TAG: cache_mem + +Cache_mem imposta quanta memoria RAM + venga dedicata alla cache di Squid. Si consideri non solo + quanta RAM sia disponibile sul sistema, ma anche quale + sia l'utilizzo tipico di questo: altri servizi + fondamentali necessitano di molta memoria?
+ +Questo parametro per altro influisce sulle prestazioni + e sul degrado dei supporti di storaggio (sopratutto se + magnetici). Ad esempio se si stanno utilizzando dischi + rigidi esterni USB per la cache sara' preferibile cercare + di usare quanta piu' RAM possibile per evitare il + sovraccarico computazionale dovuto alla gestione dello + stack USB, fenomeno evidente sui sistemi embedded come + NAS.
Se si stesse pensando di usare dell'hardware embedded a basse prestazioni / consumo per realizzare un server gateway / NAT / Squid si tenga - presente che Squid e' relativamente esoso di risorse: - avra' bisogno di una macchina con ~25MB (MegaByte) di RAM e ~150MHZ di CPU ARM per servire decorosamente una decina di client http su una @@ -1764,17 +1884,24 @@ cache_mem 100 M
2.1.4 TAG: + "#id27">2.1.5 TAG: minimum_object_size
Questo parametro imposta la dimensione minima degli oggetti salvati nella cache. Settato a 0 o a valori molto piccoli puo' influire negativamente sulla - deframmentazione del filesytem e consumare un numero + frammentazione del filesytem e consumare un numero elevato di inode (cosa non piu' importante con ext4 o altri filesytem).
+In scenari con connessioni molto veloci ( >~10Mb), + pochi client (una decina) e server poco performanti nella + velocita' di accesso ai filesystem ( ~20MB/s, per quanto + il limte sia piuttosto il seek-time ) tenere in + cache i file piu' piccoli finisce per aumentare la + latenza della navigazione.
+TAG: minimum_object_size:
# TAG: minimum_object_size (bytes) @@ -1792,12 +1919,12 @@ minimum_object_size 0 KB2.2 Negoziazione degli accesi al + "#id28">2.2 Negoziazione degli accesi al servizio
-Squid e' uno di quei servizi soggetto a problemi di tipo - open relay , si deve quindi limitare la rete che - puo' accedere al servizio.
+Squid fa parte di quei servizi suscettibili di diventare + un open relay, sara' quindi necessario prestare attenzione + a delimitare la rete che puo' accedere al servizio.
- Open Relay:
@@ -1806,17 +1933,17 @@ minimum_object_size 0 KB indiscriminatamente. La cosa puo' andare bene per servizi come i server web, che aspirano per loro natura al maggior numero possibile di utenti, ma non a servizi come - i proxy http oppure ai server di posta elettronica (che - permetterebbero l'invio di SPAM). + i proxy http oppure ai server di posta elettronica + (adibiti ai soli utenti della rete locale).Generalmente non volete che il vostro proxy http venga - usato da persone sconosciute le quali sostanzialmente - navigherebbero sotto l'identita' del vostro proxy - (probabilmente per visionare materiali che non vorrebbero - fossero ricondotti direttamente a loro, per motivi che sta - a voi prendere in considerazione) consumando traffico e - banda della vostra connessione a internet. Tenere Squid in + usato da persone sconosciute ed esterne alla vostra rete, + le quali sostanzialmente navigherebbero sotto + l'identita' del vostro proxy (probabilmente per + visionare materiali che non vorrebbero fossero ricondotti + direttamente a loro) generando traffico e consumando banda + della vostra connessione a internet. Tenere Squid in modalita' Open relay e' al giorno d'oggi un buon modo per essere inseriti in una black list.
@@ -1842,9 +1969,14 @@ minimum_object_size 0 KB href="http://www.visolve.com/squid/squid24s1/access_controls.php"> http://www.visolve.com/squid/squid24s1/access_controls.php +E' poi sempre possibile tenere il proxy in ascolto su un + solo indirizzo IP, nel caso si disponga di piu' device di + rete, oppure settare un IP firewall per limitare il + traffico in base al protocollo IP.
+2.2.1 ACL e http access
+ "#id29">2.2.1 ACL e http accessSi proceda a creare una ACL di @@ -1905,19 +2037,18 @@ http_access allow localnet
2.3 Testare Squid
+ "#id30">2.3 Testare Squid -Configurato squid e' fondamentale testarne il corretto - funzionamento per assicurarsi di non aver creato un - open-relay. Per fare dei test significativi serve - utilizzare degli host remoti: ci si connetta via ssh a - questi per poi utilizzare wget da - riga di comando.
+Dopo aver configurato squid e' fondamentale testarne il + corretto funzionamento per assicurarsi di non aver creato + un open-relay. Per fare dei test significativi + serve utilizzare degli host remoti: ci si connetta via ssh + a questi e si usi wget da riga di comando.
+2.3.1 Client: ~/.wgetrc
+ "#id31">2.3.1 Client: ~/.wgetrcNel file .wgetrc (si noti il punto iniziale: e' @@ -1953,7 +2084,7 @@ wget http://www.google.it
2.3.2 Server: + "#id32">2.3.2 Server: access.log
Si puo' controllare il corretto funzionamento del @@ -1971,15 +2102,45 @@ wget http://www.google.it
++3 Tiny proxy
+ +Se avete l'esigenza di un proxy server per la condivisione + della connessione ad internet ma non avete la necessita' o le + risorse di un caching proxy come Squid potete + considerare tinyproxy, questo e' molto piu' + leggero (utilizza circa ~2MB di RAM e ovviamente non deve + accedere continuamente ad un file system per lo storaggio + della cache) e risulta piu' semplice nella + configurazione.
+ +TinyProxy puo' essere utilizzato come sostituto di + emergenza in una rete in cui Squid e' momentaneamente non + disponibile.
+ +File di configurazione: /etc/tinyproxy/tinyproxy.conf
++# Porta su cui ascoltare +Port 3128 +# IP su cui ascoltare +Listen 10.10.208.160 +# Negoziazione accessi +Allow 10.10.208.0/24 ++3 Apache
+ "#id34">4 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.
+Apache HTTP Server, o piu' comunemente Apache (a + patchy NCSA web server ), e' il server web modulare piu' + diffuso e strutturato disponibile con licenza libera, 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 @@ -1991,7 +2152,7 @@ wget http://www.google.it
3.1 Pacchetti da + "#id35">4.1 Pacchetti da installare::
@@ -2000,12 +2161,13 @@ wget http://www.google.itCon la release 2.0 di Apache viene automaticamente resa disponibile anche la versione SSL (Secure Socket Layer, - connessioni criptate ) del web server.
+ connessioni criptate ) del web server senza che ci sia la + necessita' di installare altri pacchetti.3.2 Configurazione di + "#id36">4.2 Configurazione di Apache
I file di configurazione di apache si trovano nella @@ -2064,7 +2226,7 @@ wget http://www.google.it
3.3 apache.conf
+ "#id37">4.3 apache.confFile di configurazione del servizio Apache, contiene le impostazioni generiche (ad esempio utilizzo della RAM e @@ -2121,7 +2283,7 @@ wget http://www.google.it
3.4 Installazione di PHP
+ "#id38">4.4 Installazione di PHPPacchetti da installare: php5 @@ -2129,7 +2291,7 @@ wget http://www.google.it
3.4.1 Test del modulo + "#id39">4.4.1 Test del modulo php
Creare nella cartella
+ "installazione-del-supporto-per-mysql-a-php">3.4.2 Installazione del supporto - per Mysql
+ "#id40">4.4.2 Installazione del supporto + per Mysql a PHPInstallare i pacchetti:
@@ -2176,7 +2338,7 @@ php5-mysql phpmyadmin3.4.3 phpmyadmin
+ "#id41">4.4.3 phpmyadminL'interfaccia web Phpmyadmin non richiede necessariamente la presenza di un database Mysql locale, @@ -2199,10 +2361,10 @@ php5-mysql phpmyadmin
+ "installazione-del-supporto-per-postgresql-a-php">3.4.4 Installazione del supporto - per Postgresql
+ "#id42">4.4.4 Installazione del supporto + per Postgresql a PHPInstallare i pacchetti:
@@ -2218,7 +2380,7 @@ php5-pgsql phppgadmin3.4.5 phppgadmin
+ "#id43">4.4.5 phppgadminL'interfaccia web Phppgadmin per il database server PostgreSQL non richiede necessariamente la presenza di un @@ -2243,7 +2405,7 @@ php5-pgsql phppgadmin
3.5 Virtual hosts
+ "#id44">4.5 Virtual hosts@@ -2284,7 +2446,7 @@ php5-pgsql phppgadmin
-3.5.1 Gestione DNS
+ "#id45">4.5.1 Gestione DNSPrima di tutto per poter impostare i virtual hosts dovete avere un server DNS che risolva i vostri nomi di @@ -2293,15 +2455,19 @@ php5-pgsql phppgadmin
+-
- Bind (DNS server)
+- /etc/hosts
-- Impostare i campi A nelle proprie zone gestite - dal server DNS Bind. Ad es: Per prove sul proprio sistema potete impostare i + nomi dei vostri virtual server nel file /etc/hosts + .
+ +- Dnsmasq (DNS server)
+ +- Utilizzabile al livello della rete locale per + fare dei test, utilizzando direttive come: papo - A - 212.22.136.248
+ "pre">address=/davide.piffa.net/10.10.208.178- Servizio DNS dinamico on line.
@@ -2313,39 +2479,48 @@ php5-pgsql phppgadmin pubblico (anche se dinamico) per la propria connessione ad internet. -- Dnsmasq (DNS server)
+- Bind (DNS server)
-- Utilizzabile al livello della rete locale per - fare dei test, utilizzando direttive come: Impostare i campi A nelle proprie zone gestite + dal server DNS Bind. Ad es: address=/davide.piffa.net/10.10.208.178
- -- /etc/hosts
- -- Per prove sul proprio sistema potete impostare i - nomi dei vostri virtual server nel file /etc/hosts - .
+ "pre">papo + A + 212.22.136.248Query DNS con dig:
--# dig 177.piffa.net ++-4.5.2 Eseguire una query DNS con + dig::
-; <<>> DiG 9.5.1-P1 <<>> 177.piffa.net -;; global options: printcmd -;; Got answer: -;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38036 -;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 +Per testare la corretta risoluzione dei vostri nomi di + dominio sui relaivi indirizzi IP si usi dig (o altre + utlity, vedere la sezione relativa i DNS). Dig e' + contenuto nel pacchetto dnsutils.
-;; QUESTION SECTION: -;177.piffa.net. IN A ++# dig 177.piffa.net
-;; ANSWER SECTION: -177.piffa.net. 0 IN A 10.10.208.177 - +; <<>> DiG 9.5.1-P1 <<>> + 177.piffa.net ;; global options: printcmd ;; Got + answer: ;; ->>HEADER<<- opcode: QUERY, + status: NOERROR, id: 38036 ;; flags: qr aa rd ra; + QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
+ +;; QUESTION SECTION: ;177.piffa.net. IN A
+ +;; ANSWER SECTION: 177.piffa.net. 0 IN A + 10.10.208.177
+ +;; SERVER: 10.10.208.248#53(10.10.28.248)
+La parte interessante e' l'ANSWER SECTION: 177.piffa.net (ServerName) .
+ +Il server DNS utilizzato dal sistema e' evidenziato + dalla stringa: ;; SERVER: + 10.10.28.248#53(10.10.28.248) che + dovrebbe corrispondere a quanto impostato nel vostro + /etc/resolv.conf. Se il vostro browser + web utilizza un proxy http sara questo a risolvere i nomi + di dominio, tipicamente potete disabilitare l'uso del + proxy per determinati domini nella sezione di + configurazione del browser.
+3.5.2 Virtual host
+ "#id47">4.5.3 Virtual hostsEsempio di Virtual host:
@@ -2436,7 +2624,7 @@ php5-pgsql phppgadmin@@ -2479,7 +2667,7 @@ php5-pgsql phppgadmin Livello di importanza degli - eventi loggati= warning attenzione .
+ eventi loggati: warning attenzione .3.6 Negoziazione accessi
+ "#id48">4.6 Negoziazione accessiTipicamente quando si installa un server web il proprio desiderio e' di dare accesso ai materiali disponibili al @@ -2492,7 +2680,7 @@ php5-pgsql phppgadmin
3.6.1 Limiti su base IP
+ "#id49">4.6.1 Limiti su base IPLa forma piu' semplice di restrizione degli accessi e' su base degli indirizzi IP dei client: tipicamente i siti @@ -2541,12 +2729,22 @@ php5-pgsql phppgadmin Meno facile e' accedere ad una classe privata trovandosi all'esterno di questa, ma ci sono comunque soluzioni piu' eleganti.
+ ++
- Mod_access: http://httpd.apache.org/docs/2.0/mod/mod_access.html
+ +- mod_authz_hosti(Available in Apache 2.1 and later): + + http://httpd.apache.org/docs/2.2/mod/mod_authz_host.html
+3.7 User Authentication
+ "#id50">4.7 User AuthenticationSi puo' negoziare gli accessi ad un area del sito tramite autenticazione basata su nome utente / @@ -2569,7 +2767,7 @@ php5-pgsql phppgadmin
3.7.1 Definire la + "#id51">4.7.1 Definire la cartella
Decidere quale sara' il path della cartella @@ -2585,7 +2783,7 @@ php5-pgsql phppgadmin
-3.7.2 Creazione del database + "#id52">4.7.2 Creazione del database delle passwords
Un modo semplice per gestire una database di @@ -2621,9 +2819,9 @@ htpasswd -c /home/utente/passwords luca "pre">-c.
+3.7.3 Configurazione di + "#id53">4.7.3 Configurazione di Apache
Ora possiamo passare alla configurazione vera e @@ -2734,7 +2932,7 @@ studenti: lucap federico luca
3.8 Cavets
+ "#id54">4.8 CavetsProblemi di cache:
@@ -2759,7 +2957,7 @@ studenti: lucap federico luca4 Domain Name System
+ "#id55">5 Domain Name SystemDomain Name System (spesso indicato con DNS) e' un servizio utilizzato per la risoluzione di nomi di host in @@ -2818,7 +3016,7 @@ studenti: lucap federico luca
4.1 Risoluzione Inversa
+ "#id56">5.1 Risoluzione InversaPer la risoluzione inversa sono invece i provider di connettivita' a gestire i DNS: se volete impostare il @@ -2864,7 +3062,7 @@ studenti: lucap federico luca
4.2 Nomi di dominio
+ "#id57">5.2 Nomi di dominioUn nome a dominio e' costituito da una serie di stringhe separate da punti, ad esempio bender.piffa.net. I nomi di @@ -2906,7 +3104,7 @@ studenti: lucap federico luca
4.3 Tipologie di record
+ "#id58">5.3 Tipologie di recordAd un nome DNS possono corrispondere diversi tipi di informazioni. Per questo motivo, esistono diversi tipi di @@ -2961,7 +3159,7 @@ studenti: lucap federico luca
4.4 Utilizzo
+ "#id59">5.4 UtilizzoI computer vengono identificati in rete grazie agli indirizzi IP, questi pero' non sono comodi per gli @@ -2978,7 +3176,7 @@ PING www.l.google.com (74.125.43.104) 56(84) bytes of data.
4.5 Risoluzione dei nomi di + "#id60">5.5 Risoluzione dei nomi di dominio
Ci sono vari strumenti per interrogare i server DNS e @@ -3043,7 +3241,7 @@ ns4.mydomain.com. 96208 IN A 63.251.83.74
4.6 Dig
+ "#id61">5.6 DigVediamo alcune opzioni utili nell'utilizzo di dig per @@ -3144,7 +3342,7 @@ l.google.com. 80856 IN NS g.l.google.com.
4.7 resolv.conf
+ "#id62">5.7 resolv.confIl file /etc/resolv.conf contiene le impostazioni @@ -3177,27 +3375,26 @@ l.google.com. 80856 IN NS g.l.google.com.
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 + e' consigliabile impostare sempre almeno 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' + intervenire sul 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.
+ +Utilizzare un server DHCP e una DNS cache come + Dnsmasq possono permettervi di risolvere + al volo molte delle problematiche relative alla + configurazione della vostra LAN: ad esempio dover intervenire manualmente su decine di client per modificare - le impostazioni di SMTP | gateway | SMTP | proxy.
+ le impostazioni di SMTP | gateway | DNS | proxy.Si veda anche la pagina man di resolv.conf.
@@ -3215,7 +3412,7 @@ l.google.com. 80856 IN NS g.l.google.com.4.8 /etc/hosts
+ "#id63">5.8 /etc/hostsTabella statica per l'associazione tra IP e nomi di dominio:
@@ -3230,27 +3427,42 @@ l.google.com. 80856 IN NS g.l.google.com. 192.168.0.11 chrome chrome.mydomain.com -Il contenuto e' un associazione tra un IP e - stringhe di testo (anche piu' di una per IP) es: mirror e +
Il contenuto del file e' un associazione tra un + IP e stringhe di testo (anche piu' di una per IP) + es: mirror o veri e propi nomi di dominio 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 mirror.piffa.net. Si puo inserire un nome + semplice come casa per riferirsi ad un host che si + ha necessita' di contattare spesso, oppure mappare un nome + di dominio completo su un indirizzo IP.
+ +Il problema e' la gestione di questo file su molti + hosts: quando gli host cambiano IP si devono aggiornare + manualmente i records, operazione in se' non + particolarmente gravosa ma che andra' fatta per ogni client + della vostra 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 + avete prodotto e lo rende disponibile ai clients tramite le + query DNS.
+ +Dnsmasq lavora come un server DNS, i vostri client lo + interrogheranno per tradurre nomi di host e domini in + indirizzi IP, risolvendo il problema della + distribuzione del file hosts tra + molteplici clients. Infatti il servizio DNS indica appunto + una directory distribuita per la risoluzione dei + nomi di dominio, risolvendo i problemi dell'aggiornamento e + diffusione dei continui cambiamenti di questa.
+ +Modificare la risoluzione di un nome di dominio + esistente (ad esempio riconducendola a un IP interno) e' un modo drastico e funzionale per annullarlo - rendendolo indisponibile alla propria rete locale, ad + rendendolo non disponibile alla propria rete locale. Ad esempio aggiungere al file /etc/hosts:
@@ -3259,51 +3471,87 @@ l.google.com. 80856 IN NS g.l.google.com.Impedira' agli utenti della LAN di raggiungere - facebook, ora reindirizzato a i``localhost``.
+ facebook, ora reindirizzato a localhost. + +Oppure si potrebbe ricondurre l'indirizzo IP di un + server HTTP pubblico usato per i downloads (ad esempio un + mirror della propia distribuzione come ftp.it.debian.org) a un equivalente + mirror creato all'interno della rete locale, riducendo il + traffico verso l'esterno e aumentando notevolmente la + velocita' di scaricamento.
4.9 Hostname
+ "#id64">5.9 HostnameOgni computer ha un proprio nome visualizzabile (e modificabile) con il comando hostname.
- -Per modificare in modo permanente il nome del computer - si modifichi il contenuto del file hostname. + Quando utilizzate a una shell su un host in genere + l'hostname compare nel prompt della shell.
+ +Per visualizzare il nome dell'host su cui si sta + operando si digiti semplicemnte hostname, + lo stesso comando con un oggetto modifica temporaneamente + il nome dell'host. Per modificare in modo permanente il + nome del computer si modifichi il contenuto del file + /etc/hostname.
-Tipicamente si vuole mantenere una correlazione tra il - nome dell' host, o meglio la stringa con cui il server si - qualifica all'esterno, e il PTR dell'IP. Nel caso - di servizi virtuali ci sara' un nome - server principale associato al PTR condiviso. - Non e' automatico che un servizio, ad esempio un server di - posta, si qualifichi leggendo il contenuto di questo file e - magari aggiungendo come suffisso il dominio di cui fa parte - l' host: a volte questo parametro puo' essere specificato - nel file di configurazione del servizio:
--* Squid: ``visible_hostname`` - -* Postfix: ``myhostname`` --Si faccia attenzione a non aver un hostname puramente numerico: ad es. 161. E' opportuno che il nome sia comunque un alfanumerico: host-161 o simile.
+ ++5.9.1 FQDN
+ +Per semplicita' gli host sono generalemente + raggiungibili dall'esterno mappando il loro IP su un nome + di dominio FQDN: fully qualified domain name, composto + generalmente da hostname.``domain-name``, ad es. + bender.``piffa.net``.
+ +Alcuni servizi internet fanno affidamento sul PTR + dell'IP del server per cercare una conferma che il + servizio sia veramente chi afferma di essere (ad + esempio STMP).
+ +Non e' automatico che un servizio, ad esempio un + server di posta, si qualifichi leggendo il contenuto del + file hostname aggiungendo come suffisso il + dominio della rete di cui fa parte l' host: a volte + questo parametro puo' essere specificato nel file di + configurazione del servizio:
++* Squid (HTTP proxy): ``visible_hostname`` + +* Postfix (SMTP server): ``myhostname`` ++ +I motivi sono diversi, senza entrare nel dettaglio dei + vari protocolli si pensi comunque che un host ha sempre + un solo nome, ma puo' avere un numero variabile di + device di rete sia fisici che virtuali con + relativi indirizzi IP, e piu' servizi in ascolto + sui vari IP.
+5 DNSmasq
+ "#id66">6 DNSmasqDnsmasq puo' svolgere le funzioni di un DNS cache / forwarder, server DHCP, e' caratterizzato dalla facilita' di @@ -3350,7 +3598,7 @@ l.google.com. 80856 IN NS g.l.google.com.
5.1 Configurazione
+ "#id67">6.1 ConfigurazioneVediamo alcune direttive di basi del file di configurazione
5.2 DHCP
+ "#id68">6.2 DHCPPer attivare il demone DHCP di Dnsmasq basta aggiungere al file di configurazione il range degli IP che si @@ -3428,7 +3676,7 @@ dhcp-range=192.168.0.20,192.168.0.50,24h
5.3 DNS cache
+ "#id69">6.3 DNS cacheDnsmasq lavora di default come cache dns: inserire al file
6 Bind : DNS Autoritativo
+ "#id70">7 Bind : DNS AutoritativoLe soluzioni viste possono bastare per la rete locale o per fare delle prove, ma prima o poi verra' il momento in cui @@ -3479,9 +3727,9 @@ prepend domain-name-servers 127.0.0.1; bind9 -
+6.1 DNS cache
+ "#id71">7.1 DNS cacheBind appena installato funzionera' come DNS cache: si faccia un test con un
6.2 Ospitare una zona
+ "#id72">7.2 Ospitare una zonaSe avete acquistato un nome di dominio e vi serve un software DNS per gestirlo Bind e' la scelta piu' diffusa. @@ -3551,7 +3799,7 @@ allow-query {"localnet" ;} ;
6.2.1 named.conf.local
+ "#id73">7.2.1 named.conf.localPrima di tutti impostiamo il server bind per gestire la zona, per non fare confusione e' opportuno inserire le @@ -3593,7 +3841,7 @@ zone "piffa.net" {
6.2.2 Configurazione della + "#id74">7.2.2 Configurazione della zona
Ora dovremo preparare il file contenente i record DNS @@ -3680,7 +3928,7 @@ normale IN A 94.23.63.105 ; usa il TTL di default: 3 giorni
6.2.2.1 SOA: Start of + "#id75">7.2.2.1 SOA: Start of Authority Record
Il record SOA puo' comparire solo una volta in una @@ -3755,7 +4003,7 @@ normale IN A 94.23.63.105 ; usa il TTL di default: 3 giorni
6.2.2.2 Altri campi:
+ "#id76">7.2.2.2 Altri campi:All'interno della zona possono essere utilizati vari tipi di records (RR):
@@ -3826,7 +4074,7 @@ normale IN A 94.23.63.105 ; usa il TTL di default: 3 giorni6.3 DNS slave
+ "#id77">7.3 DNS slaveData l'importanza del servizio DNS e' necessario avere ridondanza per i server DNS che ospitano i vostri dati: in @@ -3897,7 +4145,7 @@ zone "piffa.net" {
6.4 Aggiornamento dinamico: + "#id78">7.4 Aggiornamento dinamico: nsupdate
Dalla versione 8 di Bind e' dsponibile l'utility @@ -3931,7 +4179,7 @@ zone "piffa.net" {
6.4.1 Configurazione client + "#id79">7.4.1 Configurazione client (nsupdate)
Sul client, sul quale non deve essere necessariamente @@ -3958,7 +4206,7 @@ dnssec-keygen -a HMAC-MD5 -b 512 -n USER home.piffa.net.
6.4.2 Configurazione server: + "#id80">7.4.2 Configurazione server: riconoscimento chiave
@@ -3993,7 +4241,7 @@ dnssec-keygen -a HMAC-MD5 -b 512 -n USER home.piffa.net.
+ +6.4.3 Server: gestione + "#id81">7.4.3 Server: gestione dell'intera zona
Sul server modifichiamo il file di configurazione @@ -4056,18 +4304,18 @@ home.piffa.net. 86400 IN A 192.168.0.1 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 + 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 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 A per la il dominio home.piffa.net indirizzato all'IP 192.168.0.2, poi send .
-Si noti che in questo modo l'intera zona +
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.
+7.4.4 Automatizzare + l'aggiornamento dinamico
+ +Nsupdate risulta comodo per tenere aggiornati i record + DNS degli host connessi ad internet con indirizzi IP + dinamici (pubblici) assegnati dal provider. Il client + deve essere in grado di contattare autonomamente il + server DNS per comunicare un cambiamento del suo ip. + Vediamo innanzi tutto un primo script per nsupdate:
++#!/bin/bash +# Diamo al demone ppp un po' di tempo per negoziare la connessione +# prima di leggere l'IP ottenuto +sleep 15 +IPADDR=$(/sbin/ifconfig ppp0 | awk '/inet/ { print $2 } ' | sed -e s/addr://) + +nsupdate -k /root/dns/Khome.piffa.net.+157+04331.private <<-EOF + server 192.168.0.254 + zone home.piffa.net. + update delete home.piffa.net. A + update delete home.piffa.net. MX + update add home.piffa.net. 432000 A $IPADDR + update add home.piffa.net. 432000 MX 10 home.piffa.net. + show + send + EOF ++ +Questo script legge il valore del device di rete + ppp0 creato dal pppoe di + una connessione ADSL per ottenere l'indirizzo IP ottenuto + dal provider (prima di farlo aspetta 15 secondi per dare + il tempo al pppoe di negoziare la + connessione).Vengono poi eliminati gli esistenti valori + A e MX per + home.piffa.net (si noti il punto finale + dopo net) e inseriti quelli attuali.
+ +Resta da decidere quando richiamare questo script: + l'evento che causa l'assegnazione del nuovo IP in questo + caso e una nuova connessione pppoe, + quindi sarebbe consigliabile inserire lo script nelle + routine comprese in /etc/ppp/ip-up.d (si veda la + documentazione di ppp), nel caso questo non desse i + risultati sperati (per problemi di connessione) come via + estrema si consideri di mettere lo script nella routine + del demone cron in modo che venga eseguito + periodicamente (ad esempio ogni giorno).
+6.5 Link suggeriti:
+ "#id83">7.5 Link suggeriti:
- DNS for Rocket Scientists
7 Samba
+ "#id84">8 SambaSamba e' un progetto libero che fornisce servizi di condivisione di file e stampanti a client SMB/CIFS.
@@ -4123,11 +4433,11 @@ home.piffa.net. 86400 IN A 192.168.0.17.1 Pacchetti
+ "#id85">8.1 PacchettiPacchetti da installare per utilizzare Samba in - modalita' client [2]
+ modalita' client [2]samba-client@@ -4138,7 +4448,7 @@ samba-client samba smbfs smbclient -