Programmazione.it v6.4
Ciao, per farti riconoscere devi fare il login. Non ti sei ancora iscritto? Che aspetti, registrati adesso!
Info Pubblicità Collabora Autori Sottoscrizioni Preferiti Bozze Scheda personale Privacy Archivio Libri Corsi per principianti Forum
Linux Networking Cookbook
Recensito da Fabrizio Furnari il 12-11-2009 ore 11:58
Copertina ISBN: 9780596102487
Autori: Carla Schroder
Editore: O'Reilly
Lingua: Inglese
Anno: 2007
Pagine: 613+XIII
Allegati: Nessuno
Parallel Studio XE
Linux Networking Cookbook presenta un insieme più o meno organico di howto per l'amministratore di rete e di sistema che si trovi a usare in maniera sporadica o quotidiana un sistema operativo GNU/Linux.

A differenza di molti altri libri della serie Cookbook, qui non vengono presentati hack, curiosità o esempi, quanto piuttosto piccolissime guide introduttive ai vari aspetti di questo o quel software, opportunamente “spezzate” per aderire al classico schema di scrittura della casa editrice per questa collana.

La narrazione è abbastanza agevole e molto comprensibile anche per chi non è esattamente di madrelingua inglese, piana e lineare nell'esposizione e con una buona organizzazione dei capitoli. Questi infatti prevedono sempre un piccolo sunto introduttivo all'argomento trattato, e ove possibile, vengono illustrate le ultime novità nel settore.

Gli argomenti trattati sono vari e abbracciano un po' tutte le branche del networking contemporaneo, dalle VPN ai server VoIP, dall'accesso tramite seriale a un server, alla costruzione di un router/firewall “casalingo”. Non si tratta ovviamente di ricette dedicate alle grandissime realtà aziendali, a cui viene consigliato l'uso di strumenti specificamente progettati, ma per chi ha voglia di “sporcarsi le mani” e guadagnare qualche ora di sano divertimento e apprendimento, questo è senz'altro il libro adatto.

Il capitolo uno in realtà non contiene consigli pratici per lo svolgimento di questa o quell'altra attività, ma cerca di dare al lettore un'infarinatura sulla terminologia del settore e fornisce una “visione dall'alto” delle tecnologie per il networking, attualmente presenti sul mercato; è quindi una valida introduzione al settore, anche se per forza di cose le osservazioni e i consigli forniti sono legati all'anno di pubblicazione del libro. L'autrice, consapevole di ciò, cerca di mantenersi il più obiettiva possibile, evitando di sbilanciarsi su alcuni servizi piuttosto che su altri, e comportandosi tutto sommato in maniera molto saggia in merito; il lettore dovrà anche ricordare che il mercato di riferimento è quello americano e che molte tecnologie di accesso a Internet in Europa sono arrivate con leggeri ritardi e/o cambiamenti. Alla fine di questo breve capitolo, una persona mediamente sprovveduta dovrebbe essere in grado di comprendere senza troppi problemi sia il resto del libro che una qualunque discussione di medio livello in materia.

Il capitolo due è incentrato sulla costruzione di un gateway casalingo, tramite l'utilizzo di un hardware dedicato a basso costo, e ovviamente disponendo di una versione di Linux. Si inizia quindi con un esame delle piattaforme hardware adatte allo scopo, soffermandosi principalmente sulle Soekris. La valutazione è stata fatta, come molte altre cose nel libro, con obiettività e competenza, compresa l'analisi dei pro e dei contro sull'uso di vecchi PC casalinghi come macchine dedicate allo scopo. Le ricette più interessanti in assoluto sono quelle relative all'aggiornamento dei pacchetti su Pyramid Linux, la distro scelta per questo capitolo, e sulla customizzazione del kernel, anche se più che una guida alla ricompilazione è un'analisi dei vantaggi e degli svantaggi che potrebbe comportare. Tutto sommato si può dire che più che essere dedicato alle applicazioni da far girare su Pyramid, il capitolo è incentrato sull'hardware e l'interazione con il sistema operativo, un approccio ottimo per chi non ha mai avuto a che fare con questo genere di strumenti.

Il terzo capitolo approccia il lettore alla costruzione di un firewall casalingo “da zero” sulle due distribuzioni che poi verranno prese come esempio per tutto il resto del libro, ovvero Debian per gli amanti di dpkg e Fedora per chi preferisce operare con i pacchetti RPM. Lo scopo generale di queste ricette è quello di condividere una connessione internet di tipo xDSL/T1 con una serie di computer in una rete locale, e di riuscire a configurare di conseguenza l'accesso di tutti i servizi alla rete. L'inizio è ovviamente appassionato, ma molto lucido, parlando principalmente di quello che si può avere da una distribuzione Linux qualsiasi, e fornendo un set minimale di regole espresse tramite iptables. Nonostante l'obiettivo sia, per motivi di studio, la realizzazione di una rete casalinga o una piccola rete aziendale, vengono date tutte le indicazioni di massima e le regole da seguire per una corretta gestione di reti di medio calibro, con la spiegazione quindi delle differenze tra LAN, WAN e DMZ, e le regole di sicurezza basilari per le architetture di rete di questo genere. Alcuni concetti, come il packet filtering, in quanto argomento di massima, vengono dati per scontati anche se i riferimenti per l'approfondimento sono molti e alcune cose verranno poi trattate nei capitoli successivi. Dopo una lunga digressione su iptables, si inizia con le prime esemplificative ricette; sebbene molte siano delle ripetizioni di esempi precedenti (o successivi), l'interesse del lettore non viene mai compromesso e in breve tempo si apprende come costruire uno script che faccia fare a iptables tutto quello che vogliamo, come annullare le modifiche fatte in tal senso e come far sì che parta all'avvio e si fermi su nostra richiesta. Il concetto di firewall viene poi analizzato sia nella sua componente server-based, per essere quindi posizionato su un gateway/un server di frontiera, sia come firewall per i singoli host, aiutando l'utente a capire la necessità di un controllo sul traffico anche a questo livello.

Il capitolo quattro va a coprire quella che era la parte mancante finora all'interno delle altre ricette dedicate al fai-da-te per le reti casalinghe, ovvero la creazione di un Access Point Wi-Fi integrato con il firewall/gateway dei capitoli precedenti. Dalla spiegazione dei concetti fondamentali delle reti senza fili dunque all'implementazione di queste su un sistema GNU/Linux, dall'integrazione con un server DHCP alla costruzione di un'interfaccia di bridge per la comunicazione, praticamente ogni aspetto della questione (limitatamente al target del libro, ovviamente) viene eviscerato con un sufficiente dettaglio. Ogni tanto l'autrice devia leggermente dall'argomento principe del capitolo, permettendosi di spaziare su dnsmasq, per citare qualche topic, ma il tutto è ben integrato. L'hardware di cui si parla è Atheros, anche se vengono fatti alcuni accenni alle schede Ralink.

Il capitolo cinque è un'introduzione breve, ma molto assennata di Asterisk e dei suoi usi principali. Le ricette sono ordinate con difficoltà crescente, dall'implementazione di un server “basilare” per l'utilizzo della tecnologia VoIP fino all'integrazione del tutto con linee telefoniche, anche analogiche, già esistenti. Purtroppo l'argomento è comunque troppo vasto per essere trattato in 24 ricette, ma l'autrice è comunque riuscita a suscitare la mia curiosità su un argomento fino ad oggi a me quasi sconosciuto, tanto da farmi provare nella pratica alcune implementazioni suggerite. Una sezione non particolarmente vasta o approfondita è quella relativa all'hardware, una scelta questa del resto comprensibile dati i continui mutamenti di mercato nel settore.

Il sesto capitolo si differenzia momentaneamente dai capitoli precedenti (e successivi) per quanto riguarda l'argomentazione; piuttosto che ruotare intorno a un software o a una tecnologia, questo capitolo cerca piuttosto di dare una visione d'insieme sull'eterogenea questione del routing artigianale con Linux. Vengono quindi descritti molti degli strumenti che gli amministratori di rete e di sistema utilizzeranno sulle loro macchine con ricette diverse, curiose, ma anche semplici e alcune volte banali (per gli addetti ai lavori). Ciò non toglie che ci siano anche esempi interessanti, come le diverse tecniche di routing con OSPFD e RIP. La lettura di questo capitolo è consigliata a chi ha voglia quindi di rinfrescarsi la memoria dopo una lunga inattività con default gateway, netmask e simili. Una parte che mi ha piacevolmente sorpreso è quella relativa a Quagga, anche se un'infarinatura sui concetti di base per questa tipologia di software avrebbe richiesto uno spazio più sostanzioso.

Il settimo capitolo è pensato per chi ha usato SSH in maniera sporadica e banale, ma ora vorrebbe ottenere qualcosa in più da questo eccellente strumento. La versione descritta è ovviamente l'implementazione di OpenBSD del famoso protocollo SSH2, ovvero OpenSSH. In generale si tratta di consigli abbastanza semplici da seguire; molti concetti sono ripetuti sia per sistemi Debian-like che per quelli basati su Fedora/Red Hat. Particolarmente degne di nota le parti su SSHFS e l'autenticazione a chiave pubblica; tuttavia, mi sarebbe piaciuto vedere argomenti come il controllo di più PC simultaneamente e la gestione dei diversi display in X, attraverso un tunnel cifrato.

La lacuna del capitolo precedente è abbondantemente colmata dal capitolo ottavo, che offre una panoramica molto obiettiva e scevra da partitismi sui vari sistemi di desktop remoto, ossia FreeNX, VNC ed RDP. Una piccola introduzione è dedicata ai sistemi VNC integrati su KDE e GNOME, strutturata in modo da creare una piccola roadmap per lo sviluppo successivo del capitolo. Viene dato molto spazio a FreeNX, sebbene abbia notato che molte ricette sono in realtà delle riscritture delle pagine di manuale sui vari comandi disponibili in CLI per questo software. Un'ottima parte è quella in cui si spiega come controllare contemporaneamente, tramite VNC, una macchina Windows e una Linux come se si disponesse di un KVM switch; la parte sulla cifratura di quest'ultimo protocollo è soddisfacente per gli scopi del libro.

I capitoli nove e dieci trattano delle VPN in maniera abbastanza approfondita, dapprima dal punto di vista di OpenVPN, lo standard de facto nel panorama open source, poi con le VPN di tipo PPTP, largamente utilizzate in ambiente Windows. L'autrice si permette una breve divagazione introduttiva sulla sicurezza delle VPN web-based, cioè quelle che, tramite tecnologie come Java o DirectX, basano l'autenticazione esclusivamente sull'accesso a una pagina web; personalmente mi trovo perfettamente d'accordo con l'autrice nel considerare questi come application portal, piuttosto che come reali VPN, e a sconsigliarne vivamente l'utilizzo in ogni situazione che richieda una sicurezza anche minima. Per quel che riguarda OpenVPN si parte con la messa a punto di un semplice “laboratorio” formato da tre computer, uniti tra loro con le tecniche apprese nei capitoli precedenti, che ci permetterà di eseguire i nostri test con le varie VPN in maniera agevole. Si passa poi all'installazione del servizio tramite pacchetti precompilati o codice sorgente e al settaggio di una vera e propria infrastruttura, sia con chiavi statiche che tramite PKI; la revoca di un certificato e l'installazione su client Windows competano il capitolo. Parlando del protocollo PPTP ci si concentra sull'installazione della parte server e sulle patch da applicare ai kernel un po' più vecchi per il corretto funzionamento del modulo MPPE. Particolarmente interessante la possibilità di interconnessione del server - sempre su Linux - con un controller AD, mentre la parte sul monitoring poteva essere più dettagliata.

Il capitolo undici riguarda la messa in atto di un domain controller basato su Samba per il single-sign-on di workstation Linux e Windows. Dopo una breve panoramica sui vantaggi dell'uso di Samba piuttosto che un controller basato su NT, l'autrice parte con le basi delle basi, ovvero al verifica delle dipendenze di Samba e la sua installazione sulle due distribuzioni scelte per la stesura del libro. Le ricette interessanti sono quelle che focalizzano l'attenzione su sistemi già esistenti, come l'autenticazione di workstation Linux su un controller NT preesistente o la migrazione da un sistema basato su NT 4 a Samba. Purtroppo, come mi è già successo di vedere in precedenza nel libro, alcune di queste ricette non sono vere e proprie “idee” quanto piuttosto variazioni sul tema, come quelle che descrivono il join di workstation Linux a un dominio Samba, dapprima tramite linea di comando, poi tramite interfaccia grafica.

Il dodicesimo capitolo è, almeno per i miei gusti, relativamente più interessante, trattando della messa in atto di un sistema di directory centralizzata con LDAP. Il software scelto è OpenLDAP e dopo le solite ricette iniziali sull'installazione da pacchetti su Debian e Fedora, precedute tuttavia da una piccola, ma buona introduzione alla struttura di un reame LDAP standard, si passa all'aggiunta di utenti, alla ricerca di questi e all'indicizzazione di un database, tutto tramite le utility a riga di comando messe a disposizione da OpenLDAP. Ho trovato particolarmente utili le sezioni sulla configurazione di BerkeleyDB per l'interazione con il sistema di directory centralizzato e sulla rifinitura delle ACL per la modifica delle entry; di contro, il capitolo è mancante di argomenti come la gestione delle repliche e della messa in opera di una struttura ad alta affidabilità per questo tipo di servizi.

Il capitolo tredici è una panoramica, ad alto livello di, Nagios, il sistema di monitoring più usato al mondo, nonché il baluardo della qualità open source nel mondo aziendale. Tralascerò anche in questo caso la descrizione delle ricette introduttive - del resto possono essere trovate sulla pagina dell'editore - per soffermarmi su alcune “chicche” che mi hanno piacevolmente sorpreso.
La prima riguarda la gestione corretta dei filesdi configurazione: chi ha usato i plug-in di Nagios almeno una volta sa che sono molti, piccoli e tendono a confondersi tra loro; talvolta essi adottano, se non tenuti a bada, delle naming convention piuttosto antipatiche per chi poi dovrà manutenere l'installazione; con alcuni semplici accorgimenti viene presentato un modo per tenere ordinata e pulita la directory di installazione e avere sempre tutto a portata di mano. Altre piccole ricette molto utili sono l'uso di check_icmp piuttosto che il classico ping per verificare la disponibilità di un host, il controllo di servizi DNS e il tunneling dell'interfaccia web attraverso SSH per un controllo più sicuro degli host monitorati.

Il capitolo quattordici continua con l'argomento monitoring e, sebbene sia ufficialmente dedicato a MRTG, il noto software per la visualizzazione su Web di statistiche di ogni tipo, è anche una valida guida per comprendere SNMP. A parte le solite installazioni del software e le configurazioni del servizio, le ricette sull'analisi dei dati provenienti da varie fonti sono una piacevole lettura per chi è interessato all'argomento. Si passa così dal monitoring del carico di una o più CPU remote, a quello della memoria e dell'attività del disco, dalle connessioni TCP su una determinata interfaccia di rete alla creazione di pagine multiple di MRTG. Tutto sommato un buon capitolo, sia per chi ha già usato questo strumento, sia per chi gli si avvicina per la prima volta.

Il quindicesimo capitolo vuole essere una breve introduzione a IPv6, pensata più per “non spaventare il lettore” piuttosto che per un uso reale di quanto esposto. La presentazione che viene fatta del nuovo standard è complessivamente buona, ma non può essere esposta interamente in poche pagine. L'autrice presenta i primi esempi su come assegnare o riconoscere un indirizzo IPv6 a una interfaccia di rete, e su come usare il comando ping6 e SSH. Il passo successivo è quello di usare SCP su IPv6, uno strumento che in questa situazione tende a restituire errori scabrosi, data la quasi totale (al tempo della scrittura del libro) assenza di documentazione in merito. Ci si confronta infine con radvd per l'autoconfigurazione delle interfacce di rete e vengono dati alcuni utili consigli per la scelta di un provider di servizi, che fornisca supporto a IPv6 per effettuare esperimenti concreti su quanto appreso all'interno di Internet.

Nel capitolo sedici vengono trattate le modalità di installazione e aggiornamento dei sistemi tramite l'uso di strumenti quali boot con PXE e repository di pacchetti interni. La divisione del capitolo è, come al solito, incentrata sulle due distribuzioni citate, anticipando quindi le tecniche di installazione tramite FTP e HTTP per Fedora, la customizzazione dei pacchetti da installare e l'uso di Kickstart per il controllo delle procedure, per approdare infine al mirroring dei repository Debian tramite apt-mirror e apt-proxy, alla creazione di un server netboot e all'uso dei preseed per differenziare le diverse tipologie di installazione, che potrebbero servire in una (piccola) azienda. In generale un buon capitolo, con una lieve tendenza ad abbandonarsi ad alcune ovvietà, che potrebbero essere notate da chi ha già usato almeno un minimo questi sistemi.

Il capitolo diciassette tocca un argomento che, sebbene sia creduto ormai superato da chi si trova a lavorare da poco tempo nell'amministrazione dei sistemi informativi, rimane tuttavia di fondamentale importanza per chi vuole un bagaglio completo di nozioni nel campo dell'amministrazione dei sistemi. Stiamo parlando dell'accesso a un server tramite console seriale, aspetto investigato sia nel momento della preparazione del server che durante le varie fasi della connessione, con un occhio di riguardo ai vari problemi di compatibilità che potrebbero insorgere. Il principale programma usato in questo capitolo e in buona parte del successivo è ovviamente minicom, coltellino svizzero per le comunicazioni seriali in ambiente *nix. Interessanti le ricette sulla trasmissione dei file e sul logging dei messaggi del kernel per questo tipo di device.

Il diciottesimo capitolo si allinea con il precedente quanto ad argomenti, parlando della messa a punto di un server dial-up con Linux. A parte casi di studio infatti, secondo l'autrice esistono ancora delle situazioni - molto rare, aggiungo io - in cui la creazione e la condivisione di una linea tramite modem analogico può risultare utile, come sistemi di amministrazione remota d'emergenza, sporadiche connessioni a Internet in zone non coperte da reti broadband, ecc. Le parti più interessanti sono quelle sulla condivisione di una connessione (con tecniche che il lettore avrebbe dovuto apprendere nei primi capitoli), le connessioni on demand e la creazione di account con WvDial per utenti non privilegiati.

Il diciannovesimo capitolo, l'ultimo, è una lunga esposizione di moltissime tecniche di troubleshooting per le reti e i principali servizi, a partire dalla creazione di un laptop dedicato allo scopo, all'uso, un po' banale, di ping e nmap (non approfonditamente). Grande spazio viene dato alla misurazione delle performance di una rete con iperf e httping, mentre le ultime ricette del capitolo presentano la messa a punto di un server syslog su tunnel cifrato per la raccolta centralizzata e l'analisi semplificata di dati sensibili.

L'appendice A è una lista di riferimenti per gli argomenti trattati durante i capitoli precedenti, l'appendice B è un piccolo glossario dei termini tecnici più usati nell'ambito delle reti di telecomunicazioni, mentre l'appendice C è un'interessante introduzione alla creazione di un kernel Linux customizzato, per aggiungere e rimuovere le feature che ci interessano, ad esempio, su un sistema che dovrà fungere da firewall.
proDi facile comprensione, il testo dà una panoramica molto vasta sulla situazione attuale del networking sotto linux.
controAlcune ricette sono ripetute per diversi argomenti e in alcuni casi la trattazione sembra un po' scontata.
Precedente: Le reti di computer: gli indirizzi IP (1/2)
Successiva: Ripley, un sistema automatico per la sicurezza delle applicazioni web distribuite
Copyright Programmazione.it™ 1999-2014. Alcuni diritti riservati. Testata giornalistica iscritta col n. 569 presso il Tribunale di Milano in data 14/10/2002. Pagina generata in 0.291 secondi.