X-Git-Url: http://git.piffa.net/web?p=doc%2F.git;a=blobdiff_plain;f=servizi.html;h=248490c683248bcd8a503a41f4b4db135ae7fdc3;hp=839b2626b6ddd40c1b59545a994c0ef53377edde;hb=413470c3ca2cc58c8d39d176111aa9d8541a0f55;hpb=da76034044c2e819085f8c96e5d2b24599ed5bcf diff --git a/servizi.html b/servizi.html index 839b262..248490c 100644 --- a/servizi.html +++ b/servizi.html @@ -4,7 +4,7 @@
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org">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 +301,349 @@Generato con: Generato il 2010-01-04 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 +953,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 +997,13 @@Segue un esempio del file di configurazione della scheda di rete con configurazione statica:
@@ -1095,7 +1136,7 @@ auto lo eth0Il completamento automatico della shell (che si attiva premendo il tasto tab una o due volte mentre si sta @@ -1183,7 +1224,7 @@ umask 022
Vim e' l'editor di testo preferito dai sistemisti, quindi sara' conveniente impostare fin da subito alcune @@ -1287,28 +1328,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 +1366,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 +1428,7 @@ exit1.6 Lista dei pacchetti di + "#id15">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 +1466,7 @@ kde-core kdm kde-i18n-it xorg vim less xtightvncviewer
1.7 Apt configurazione
+ "#id16">1.7 Apt configurazioneVediamo i due file principali di apt:
@@ -1434,7 +1480,7 @@ kde-core kdm kde-i18n-it xorg vim less xtightvncviewer1.7.1 sources.list
+ "#id17">1.7.1 sources.listQuesto file contiene i sorgenti da cui apt preleva i pacchetti da installare tramite dpkg, @@ -1476,26 +1522,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 +1555,7 @@ deb-src http://volatile.debian.org/debian-volatile Lenny/volatile main
1.7.2 /etc/apt/apt.conf
+ "#id18">1.7.2 /etc/apt/apt.confQuesto file contiene le opzioni di apt, come ad esempio il proxy:
@@ -1517,53 +1566,55 @@ 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
+ "#id19">2 SquidSquid e' un proxy cache http (ma anche FTP e https) - robusto e strutturato, puo' essere usato sia in reti + robusto e strutturato, puo' essere usato sia in situazioni 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.
+ semplice condivisione della navigazione internet + all'interno di una rete locale, per poi poter negoziare 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.
+- 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 il server + proxy. Dal punto di vista della sicurezza della rete locale + questo e' preferibile ad un approccio alla navigazione + basato su NAT.
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 + 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.
@@ -1582,7 +1633,7 @@ squid32.1 Configurazione: + "#id20">2.1 Configurazione: squid.conf
Segue un estratto delle direttive principali viste in @@ -1592,7 +1643,7 @@ squid3
2.1.1 Cache_dir
+ "#id21">2.1.1 Cache_dirCache dir serve per impostare dimensione e percorso della cache creata sul supporto di storaggio. Essendo la @@ -1618,17 +1669,19 @@ squid3 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.
+ 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, ad esempio con un RAID mirror o 5 + (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).
Altra considerazione: i dati del proxy vengono slavati sul filesytem del server dietro richiesta di utenti @@ -1644,11 +1697,11 @@ squid3
... # 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 - Ora possiamo impostare la cache nel file di + configurazione /etc/squid3/squid.conf:
#TAG: cache_dir (riga 1628) @@ -1662,24 +1715,22 @@ 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 directorySe 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
+ di squid. 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 +1741,7 @@ cache_dir aufs /var/spool/squid3 300 24 2562.1.2 TAG: + "#id22">2.1.2 TAG: maximum_object_size
Questa direttiva imposta la dimensione massima degli @@ -1720,21 +1771,21 @@ maximum_object_size 150 MB
2.1.3 TAG: cache_mem
+ "#id23">2.1.3 TAG: cache_memCache_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 + girano sulla stessa macchina? ). Questo parametro influisce sulle prestazioni e sul degrado dei supporti di storaggio (sopratutto se magnetici).
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 +1815,24 @@ cache_mem 100 M
2.1.4 TAG: + "#id24">2.1.4 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 aumenta la latenza della + navigazione.
+TAG: minimum_object_size:
# TAG: minimum_object_size (bytes) @@ -1792,7 +1850,7 @@ minimum_object_size 0 KB2.2 Negoziazione degli accesi al + "#id25">2.2 Negoziazione degli accesi al servizio
Squid e' uno di quei servizi soggetto a problemi di tipo @@ -1806,17 +1864,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 +1900,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' devicei di + rete, oppure settare un firewall per limitare il traffico + dai primi livelli del TCP/IP.
+2.2.1 ACL e http access
+ "#id26">2.2.1 ACL e http accessSi proceda a creare una ACL di @@ -1905,7 +1968,7 @@ http_access allow localnet
2.3 Testare Squid
+ "#id27">2.3 Testare SquidConfigurato squid e' fondamentale testarne il corretto funzionamento per assicurarsi di non aver creato un @@ -1917,7 +1980,7 @@ http_access allow localnet
+2.3.1 Client: ~/.wgetrc
+ "#id28">2.3.1 Client: ~/.wgetrcNel file .wgetrc (si noti il punto iniziale: e' @@ -1953,7 +2016,7 @@ wget http://www.google.it
2.3.2 Server: + "#id29">2.3.2 Server: access.log
Si puo' controllare il corretto funzionamento del @@ -1971,15 +2034,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
+ "#id31">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 +2084,7 @@ wget http://www.google.it
3.1 Pacchetti da + "#id32">4.1 Pacchetti da installare::
@@ -2000,12 +2093,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 + "#id33">4.2 Configurazione di Apache
I file di configurazione di apache si trovano nella @@ -2064,7 +2158,7 @@ wget http://www.google.it
3.3 apache.conf
+ "#id34">4.3 apache.confFile di configurazione del servizio Apache, contiene le impostazioni generiche (ad esempio utilizzo della RAM e @@ -2121,7 +2215,7 @@ wget http://www.google.it
3.4 Installazione di PHP
+ "#id35">4.4 Installazione di PHPPacchetti da installare: php5 @@ -2129,7 +2223,7 @@ wget http://www.google.it
3.4.1 Test del modulo + "#id36">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
+ "#id37">4.4.2 Installazione del supporto + per Mysql a PHPInstallare i pacchetti:
@@ -2176,7 +2270,7 @@ php5-mysql phpmyadmin3.4.3 phpmyadmin
+ "#id38">4.4.3 phpmyadminL'interfaccia web Phpmyadmin non richiede necessariamente la presenza di un database Mysql locale, @@ -2199,10 +2293,10 @@ php5-mysql phpmyadmin
+ "installazione-del-supporto-per-postgresql-a-php">3.4.4 Installazione del supporto - per Postgresql
+ "#id39">4.4.4 Installazione del supporto + per Postgresql a PHPInstallare i pacchetti:
@@ -2218,7 +2312,7 @@ php5-pgsql phppgadmin3.4.5 phppgadmin
+ "#id40">4.4.5 phppgadminL'interfaccia web Phppgadmin per il database server PostgreSQL non richiede necessariamente la presenza di un @@ -2243,7 +2337,7 @@ php5-pgsql phppgadmin
3.5 Virtual hosts
+ "#id41">4.5 Virtual hosts@@ -2284,7 +2378,7 @@ php5-pgsql phppgadmin
-3.5.1 Gestione DNS
+ "#id42">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 +2387,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 +2411,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
+ "#id44">4.5.3 Virtual hostsEsempio di Virtual host:
@@ -2436,7 +2556,7 @@ php5-pgsql phppgadmin@@ -2479,7 +2599,7 @@ php5-pgsql phppgadmin Livello di importanza degli - eventi loggati= warning attenzione .
+ eventi loggati: warning attenzione .3.6 Negoziazione accessi
+ "#id45">4.6 Negoziazione accessiTipicamente quando si installa un server web il proprio desiderio e' di dare accesso ai materiali disponibili al @@ -2492,7 +2612,7 @@ php5-pgsql phppgadmin
3.6.1 Limiti su base IP
+ "#id46">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 +2661,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
+ "#id47">4.7 User AuthenticationSi puo' negoziare gli accessi ad un area del sito tramite autenticazione basata su nome utente / @@ -2569,7 +2699,7 @@ php5-pgsql phppgadmin
3.7.1 Definire la + "#id48">4.7.1 Definire la cartella
Decidere quale sara' il path della cartella @@ -2585,7 +2715,7 @@ php5-pgsql phppgadmin
-3.7.2 Creazione del database + "#id49">4.7.2 Creazione del database delle passwords
Un modo semplice per gestire una database di @@ -2621,9 +2751,9 @@ htpasswd -c /home/utente/passwords luca "pre">-c.
+3.7.3 Configurazione di + "#id50">4.7.3 Configurazione di Apache
Ora possiamo passare alla configurazione vera e @@ -2734,7 +2864,7 @@ studenti: lucap federico luca
3.8 Cavets
+ "#id51">4.8 CavetsProblemi di cache:
@@ -2759,7 +2889,7 @@ studenti: lucap federico luca4 Domain Name System
+ "#id52">5 Domain Name SystemDomain Name System (spesso indicato con DNS) e' un servizio utilizzato per la risoluzione di nomi di host in @@ -2818,7 +2948,7 @@ studenti: lucap federico luca
4.1 Risoluzione Inversa
+ "#id53">5.1 Risoluzione InversaPer la risoluzione inversa sono invece i provider di connettivita' a gestire i DNS: se volete impostare il @@ -2864,7 +2994,7 @@ studenti: lucap federico luca
4.2 Nomi di dominio
+ "#id54">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 +3036,7 @@ studenti: lucap federico luca
4.3 Tipologie di record
+ "#id55">5.3 Tipologie di recordAd un nome DNS possono corrispondere diversi tipi di informazioni. Per questo motivo, esistono diversi tipi di @@ -2961,7 +3091,7 @@ studenti: lucap federico luca
4.4 Utilizzo
+ "#id56">5.4 UtilizzoI computer vengono identificati in rete grazie agli indirizzi IP, questi pero' non sono comodi per gli @@ -2978,7 +3108,7 @@ PING www.l.google.com (74.125.43.104) 56(84) bytes of data.
4.5 Risoluzione dei nomi di + "#id57">5.5 Risoluzione dei nomi di dominio
Ci sono vari strumenti per interrogare i server DNS e @@ -3043,7 +3173,7 @@ ns4.mydomain.com. 96208 IN A 63.251.83.74
4.6 Dig
+ "#id58">5.6 DigVediamo alcune opzioni utili nell'utilizzo di dig per @@ -3144,7 +3274,7 @@ l.google.com. 80856 IN NS g.l.google.com.
4.7 resolv.conf
+ "#id59">5.7 resolv.confIl file /etc/resolv.conf contiene le impostazioni @@ -3177,27 +3307,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 +3344,7 @@ l.google.com. 80856 IN NS g.l.google.com.4.8 /etc/hosts
+ "#id60">5.8 /etc/hostsTabella statica per l'associazione tra IP e nomi di dominio:
@@ -3230,27 +3359,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 +3403,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
+ "#id61">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
+ "#id63">6 DNSmasqDnsmasq puo' svolgere le funzioni di un DNS cache / forwarder, server DHCP, e' caratterizzato dalla facilita' di @@ -3350,7 +3530,7 @@ l.google.com. 80856 IN NS g.l.google.com.
5.1 Configurazione
+ "#id64">6.1 ConfigurazioneVediamo alcune direttive di basi del file di configurazione
5.2 DHCP
+ "#id65">6.2 DHCPPer attivare il demone DHCP di Dnsmasq basta aggiungere al file di configurazione il range degli IP che si @@ -3428,7 +3608,7 @@ dhcp-range=192.168.0.20,192.168.0.50,24h
5.3 DNS cache
+ "#id66">6.3 DNS cacheDnsmasq lavora di default come cache dns: inserire al file
6 Bind : DNS Autoritativo
+ "#id67">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 +3659,9 @@ prepend domain-name-servers 127.0.0.1; bind9 -
+6.1 DNS cache
+ "#id68">7.1 DNS cacheBind appena installato funzionera' come DNS cache: si faccia un test con un
6.2 Ospitare una zona
+ "#id69">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 +3731,7 @@ allow-query {"localnet" ;} ;
6.2.1 named.conf.local
+ "#id70">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 +3773,7 @@ zone "piffa.net" {
6.2.2 Configurazione della + "#id71">7.2.2 Configurazione della zona
Ora dovremo preparare il file contenente i record DNS @@ -3680,7 +3860,7 @@ normale IN A 94.23.63.105 ; usa il TTL di default: 3 giorni
6.2.2.1 SOA: Start of + "#id72">7.2.2.1 SOA: Start of Authority Record
Il record SOA puo' comparire solo una volta in una @@ -3755,7 +3935,7 @@ normale IN A 94.23.63.105 ; usa il TTL di default: 3 giorni
6.2.2.2 Altri campi:
+ "#id73">7.2.2.2 Altri campi:All'interno della zona possono essere utilizati vari tipi di records (RR):
@@ -3826,7 +4006,7 @@ normale IN A 94.23.63.105 ; usa il TTL di default: 3 giorni6.3 DNS slave
+ "#id74">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 +4077,7 @@ zone "piffa.net" {
6.4 Aggiornamento dinamico: + "#id75">7.4 Aggiornamento dinamico: nsupdate
Dalla versione 8 di Bind e' dsponibile l'utility @@ -3931,7 +4111,7 @@ zone "piffa.net" {
6.4.1 Configurazione client + "#id76">7.4.1 Configurazione client (nsupdate)
Sul client, sul quale non deve essere necessariamente @@ -3958,7 +4138,7 @@ dnssec-keygen -a HMAC-MD5 -b 512 -n USER home.piffa.net.
6.4.2 Configurazione server: + "#id77">7.4.2 Configurazione server: riconoscimento chiave
@@ -3993,7 +4173,7 @@ dnssec-keygen -a HMAC-MD5 -b 512 -n USER home.piffa.net.
+ +6.4.3 Server: gestione + "#id78">7.4.3 Server: gestione dell'intera zona
Sul server modifichiamo il file di configurazione @@ -4056,18 +4236,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:
+ "#id80">7.5 Link suggeriti:
- DNS for Rocket Scientists
7 Samba
+ "#id81">8 SambaSamba e' un progetto libero che fornisce servizi di condivisione di file e stampanti a client SMB/CIFS.
@@ -4123,11 +4365,11 @@ home.piffa.net. 86400 IN A 192.168.0.17.1 Pacchetti
+ "#id82">8.1 PacchettiPacchetti da installare per utilizzare Samba in - modalita' client [2]
+ modalita' client [2]samba-client@@ -4138,7 +4380,7 @@ samba-client samba smbfs smbclient -