17 gennaio 2008

Rete virtuale con VirtualBox e EndianFirewall

Ho già avuto modo di parlare di VirtualBox e di Endian Firewall su queste pagine. Sulla rete troverete decine di post interessantissimi su questi due prodotti Open Source.
In particolare però volevo presentare il caso della creazione di una vera e propria rete virtuale utilizzando questi due prodotti.
Nel mio precedente post su Endian ne elogiavo i pregi e la facilità di configurazione, avendolo fisicamente sperimentato con la creazione di una piccola rete "domestica", utilizzando tutti i miei vecchi pc.
Volendo però fare delle prove senza muovermi eccessivamente per casa, soprattutto senza tenere accesi troppi computer che, bene o male, succhiano energia elettrica (si, ho fatto qualche cosa per l'ambiente) ho pensato di virtualizzare tutta l'opera.
Premettiamo subito che le risorse di ram vanno esaurendosi MOLTO rapidamente, specialmente quando si installano dei server virtuali, quindi i miei 2GB si sono quasi volatilizzati con "solo" 4 macchine avviate (compresa quella fisica), quindi pensare di montarne 3 o 4 GB potrebbe non essere un'idea sbagliata. Ovviamente per lavorare fermo tutto il software non necessario come Skype, FreeDownloadManager, Eraser ecc.. per liberare ram.

Il campo di utilizzo è vasto, provare la configurazione di un DNS, oppure configurazioni particolare del firewall, e molto altro. Ovviamente Endian è solo uno dei software utilizzabili con una configurazione del genere, le possibilità mi sembano veramente molte.

Partendo da zero creiamo nel solito modo una macchina viruale per accogliere EFW. Per divertirsi consiglio di implementare almeno la rete Green e rete Orange così da avere a disposizione una rete DMZ.
Creiamo quindi per Endian 4 schede di rete utilizzando la GUI del programma.
Le prime 3 saranno impostate come "Rete interna", la 4a sara necessario impostarla come NAT oppure, meglio ancora, come "Interfaccia Host" ma solo dopo aver creato una scheda virtuale chiamandola magari "Red"
A questo punto, le 3 schede interne punteranno tutte alla medesima rete di default chiamata 'intnet' e da GUI non è possibile cambiare questa definizione.
Ci viene quindi in aiuto il solito programma VBoxManage che troviamo nella directory di installazione di VirtualBox. Possiamo digitare quindi

vboxmanage modifyvm "EFW" -intnet1 green

vboxmanage modifyvm "EFW" -intnet2 orange
vboxmanage modifyvm "EFW" -intnet3 blue

dove per "EFW" dovrete mettere il nome della vostra macchina virtuale con Endian.
Per la quarta scheda, quella che verrà utilizzata sulla rete Red, quella in uscita dalla nostra rete, se l'avete configurata per usare NAT non dovrete più fare nulla, ma in questo modo non potrete raggiungere Endian dal vostro PC Host salvo modificare a mano la tabella di Port forwarding della macchina host.
Questo può essere fatto con una triade di comandi per ogni porta che si desidera reindirizzare, perdendo però così la risposta dell'host su quella porta.
{esempio...}
VBoxManage setextradata "EFW"

"VBoxInternal/Devices/pcnet/4/LUN#0/Config/seamlessrdp/TCP" 1
VBoxManage setextradata "EFW"
"VBoxInternal/Devices/pcnet/4/LUN#0/Config/seamlessrdp/GuestPort" 3389
VBoxManage setextradata "EFW"
"VBoxInternal/Devices/pcnet/4/LUN#0/Config/seamlessrdp/HostPort" 33


Se invece il vostro OS host è WinXp, Win2003 oppure linux, è più conveniente utilizzare la scheda di rete "Interfaccia Host" e sfruttare la connesione "bridge" tra la scheda virtuale e scheda fisica (rimando ai vostri OS per questa operazione)
In questo modo la scheda virtuale, dotata di un proprio indirizzo IP, sarà raggiungibile dall'host e addirittura si potrebbe 'esporla' su internet configurando opportunamente il nostro router!

Da ciò segue la parte più ludica. Installare sulla macchina virtuale Endian seguendo le istruzioni del caso, assegnare un opportuno indirizzo IP per la rete Green, che sarà assegnata di default alla prima scheda di rete, che noi abbiamo già definito sulla nostra rete virtuale Green.
Durante il setup iniziale assegnare all'interfaccia green un indirizzo IP 192.168.0.254/24 tipico delle reti private.
Alla fine dell'installazione Endian dovrebbe fare il reboot correttamente.

A questo punto è necessario creare, se non ne abbiamo già pronte, delle macchine virtuali da collegare alla nostra rete.
Probabilmente le nostre macchine già pronte saranno collegate alla rete via NAT, quindi almeno una di queste dovrà essere collegata alla rete Green così da poter modificare le impostazioni di Endian via interfaccia Web.

vboxmanage modifyvm "VM per green" -nic1 intnet
vboxmanage modifyvm
"VM per green" -intnet green

Avviare questa VM ed assegnare alla scheda scelta un indirizzo IP congruo con quello impostato per la rete green (es. 192.168.0.1/24) ed assegnare ovviamente come gateway l'indirizzo della scheda green 192.168.0.254.

A questo punto, aprendo il browser all'URL https://192.168.0.254:10443, dovrebbe comparire l'interfaccia di Endian ove sarà possibile continuare l'installazione di tutte le opzioni della rete.
Assegnare ad esempio per l'interfaccia Orange l'indirizzo 192.168.2.254/24 e per l'interfaccia Blue 192.168.4.254/24.

Configurare un'altra macchina virtuale impostandone la scheda di rete in modo analogo a quello fatto in precedenza per la green ma utilizzando la rete orange ed assegnando a tale macchina un'indirizzo IP tipo 192.168.2.1/24

Ecco l'effetto finale:
Endian nella console in alto a sinistra,
WinXp sulla rete green, con il programma di configurazione di Endian, in basso a sinistra
Ubuntu 7.10 sulla rete orange in alto a destra

Se riesco a procacciare un pochino di ram vedo di tirare su un'altro server.

Se poi altri hanno studiato configurazioni alternative sono sempre interessato ad allargare le conoscenze.

2 commenti:

Anonimo ha detto...

Non capisco come mai crei 4 macchine virtuali ; non è possibile creare una sola macchina virtuale con montato endian firewall ?
bellorum833@hotmail.com

Davide Prati {SysOpDav} ha detto...

Lo chiamerei "Esercizio di Stile".
In realtà non c'è nessun motivo per farlo, ma siccome le macchine virtuali le avevo già...mi sono divertito a creare una rete completamente virtuale.