Molto spesso ho progettato di sostituire il classico router domestico con un qualcosa di più performante e più soddisfacente dal punto di vista della configurazione.
Le alternative che sono riuscito a trovare non sono mai state però delle soluzioni abbordabili economicamente, ma anche dal punto di vista della rumorosità e delle dimensioni.
Dopo molto tempo speso su siti in quasi tutte le lingue, sono giunto però ad una conclusione soddisfacente, che ha finalmente dato una risposta alla mia esigenza.
Nel post di oggi vogliamo mostrare una valida alternativa ai router domestici, mostrando come installare e configurare una distribuzione linux per essere utilizzata come firewall per la nostra rete domestica.
Per cominciare abbiamo bisogno dell'hardware necessario. La scelta è ricaduta su Alix Board di PC Engines. Più precisamente sul modello Alix 2D13.
Vi proponiamo la scheda tecninca di questa scheda:
Processore: AMD Geode LX800 a 500MHz
Ram: 256MB DDR DRAM
Archiviazione: Compact Flash Socket
Networking: 3 x LAN 10/100
I/O: 2 x USB, Seriale
Con questo tipo di hardware ci siamo garantiti consumi bassissimi, assenza di rumore grazie alla totale mancanza di parti in movimento e delle prestazioni sufficienti per la gestione del nostro firewall.
Serve inoltre connettere il nostro computer al sistema attraverso la porta seriale. A tale scopo possiamo utilizzare un cavo seriale, oppure, nel caso di computer portatili, si può optare per un convertitore USB/Seriale.
Come disco viene utilizzata una Compact Flash. È necessario quindi una compact flash, che consigliamo da 4/8GB ed un lettore di compact flash per il nostro computer.
ATTENZIONE: i passi successevi sono correllati all'utilizzo dell'hardware sopra indicato; è comunque possibile seguire questi passi anche per l'installazione su altre piattaforme senza alcuna garanzia di funzionamento.
Grazie all'ottima gestione del networking, esistono moltissime distribuzioni *nix orientate ad essere sistemi firewall. Tra esse vi citiamo quelle da noi testate e che sono degne di nota per le funzionalità implementate:
~ PFSense
PFSense è una distribuzione basata su FreeBSD che integra un sistema firewall completo e molto prestante anche su hardware a basse prestazioni.
~ IPFire
IPFire è una distribuzione linux, anch'essa molto leggera, in grado di gestire tranquillamente una rete domestica sull'hardware proposto.
Tra le varie possibilità, quella che più ci è sembrata completa ed anche graficamente accattivante, è Endian Firewall.
Di questa distribuzione esiste una versione commerciale ed una community edition. Noi abbiamo testato la versione community, ed i risultati sono stati più che soddisfacenti.
L'installazione, però, risulta essere un po' ostica, a causa della mancanza di una schermata per la scelta del partizionamento del disco.
Il problema risulta facilmente risolvibile seguendo i seguenti passi:
1. Scarichiamo e masterizziamo l'ultima versione di Endian dal sito (al momento della stesura della guida la versione distribuita è la 2.3)
2. Colleghiamo il lettore di schede con la compact flash inserita nel computer
3. Facciamo bootare il nostro computer dal CD appena creato
4. Alla schermata di scelta lingua passiamo sulla tty3 schiacciando la combinazione di tasti ALT+F3; vedremo quindi la shell
5. Identifichiamo come è stata riconosciuta la nostra compact flash attraverso il comando fdisk -l
6. Identifichiamo inoltre quali sono i dischi rigidi e le partizioni presenti sul computer sempre attraverso il comando fdisk -l (in genere il disco primario è riconosciuto come hda o sda mentre la compatct flash come hdb o sdb);
abbiamo quindi reperito le informazioni necessarie per "ingannare" il sistema
8. Spostiamo nella cartella /dev con il comando cd /dev
9. Cancelliamo TUTTI i file associati ai dischi ed alle partizioni presenti nella cartella /dev: per esempio cancelliamo /dev/sda, /dev/sda1, /dev/sda2, ...
10. Rinominiamo tutti i file associati alla compact flash facendo quindi assumere ad essi i nomi del disco primario: per esempio mv /dev/sdb /dev/sda, mv /dev/sdb1 /dev/sda1, ...
Una volta eseguite queste operazioni siamo pronti a procedere con l'installazione. Torniamo quindi nella schermata di scelta lingua sulla tty1 con la combinazione di tasti ALT+F1.
Scegliamo la lingua che più ci aggrada e proseguiamo nell'installazione.
Ci verrà richiesto un IP per l'interfaccia green. Scegliamo l'IP che diventerà poi l'ip del nostro firewall ed il nostro gateway. È quindi necessario ricordarsi successivamente di questo dato per accedere all'interfaccia amministrativa.
Quando l'installazione richiederà se abilitare il supporto alla porta seriale/console diamo risposta affermativa.
Nel caso l'installazione proponga l'utilizzo del RAID scegliamo di non utilizzare questa funzionalità.
L'unico punto delicato è il momento in cui la procedura di installazione mostra il disco sul quale verrà installato il sistema.
ACCERTIAMOCI che il device sia ESATTAMENTE quello che indica la compact flash.
ATTENZIONE: un errore in questo punto potrebbe costarci la perdita di TUTTI i dati presenti nel nostro computer. È ovviamente consigliabile, per evitare qualsiasi rischio, quando possibile l'utilizzo di un computer vecchio sul cui disco non risiedono dati vitali.
La durata dell'installazione dipende dal computer utilizzato. Una media è di circa 15/20 minuti.
Possiamo vedere l'installation progress sulla tty2 attraverso la combinazione di tasti ALT+F2.
Una volta che l'installazione è stata completata possiamo riavviare il computer e inserire la compact flash nell'apposito alloggiamento sulla Alix Board.
Colleghiamo ora il computer alla porta seriale del dispositivo ed avviamo il programma di gestione della porta seriale (consigliamo l'utilizzo di minicom, ricordandovi di configurare correttamente la porta seriale da utilizzare, che nel caso del convertitore USB/Seriale è in genere ttyUSB0).
Avviamo il dispositivo e vedremo il boot.
Dobbiamo ora compiere uno dei passi più importanti: all'avvio del grub è necessario premere il tasto e per editare la voce di boot.
L'obiettivo è specificare in maniera esplicita quale porta seriale utilizzare. Editiamo come segue la linea kernel:
kernel [...] console=ttyS0,38400n8 panic=10 quiet ro
Con questa direttiva stiamo specificando che vogliamo utilizzare la console ad un bitrate di 38400 e con opzione 8N1. Configuriamo quindi il nostro programma di gestione della seriale con i paramentri specificati.
Facciamo bootare il dispositivo ed attendiamo che appaia il prompt che ci mostrerà delle scelte. Editiamo la password dell'interfaccia web e la password dell'utente di sistema root attraverso l'utility proposta.
Scegliamo successivamente di accedere alla shell ed andiamo ad editare il file /boot/grub/grub.conf con le direttive precedenti in modo da rendere permanenti le nostre direttive.
Una volta completate le primissime operazioni di configurazione password colleghiamo il nostro computer attraverso un cavo di rete al dispositivo e settiamo un ip statico della stessa classe assegnata al dispositivo.
Attraverso un ping identifichiamo quale delle porte è stata assegnata come interfaccia green del dispositivo e lasciamo il cavo collegato ad essa.
Possiamo ora raggiungere attraverso un browser l'interfaccia di amministrazione della distribuzione puntando all'indirizzo assegnato in precedenza.
Completiamo tutti i passi proposti, a seguito dei quali verrà riavviato il dispositivo.
Una volta completato il riavvio, il nostro firewall sarà pronto all'uso.
Possiamo configurare a nostro piacimento tutte le utility messe a nostra disposizione attraverso una interfaccia semplice ed intuitiva:
Se siete interessati all'acquisto dell'hardware vi consigliamo di visitare il sito Varia Store, che vi permette di acquistare a prezzi veramente contenuti.
Tags
Apache Bash Elastix Firewall Firma digitale Geolocazione Grafica Informatica Internet Java Linux OpenMoko PHP Programmazione Python Reti Ricetta SEO Sicurezza Sistemi Operativi Varie Virtualizzazione VoIPLink ad altri blog:


![]Alix Board Appliance ]Alix Board Appliance](http://www.codiceasbarre.net/blog/blogData/immagini/alix.jpg)
![]Endian Dashboard ]Endian Dashboard](http://www.codiceasbarre.net/blog/blogData/immagini/endian-dashboard.jpg)
