Se si vuole installare un web server o programmi che possono essere fruibili dall’host non si può far uso della NAT, ma bisogna scegliere una host interface.
Per fare in modo che la macchina virtuale possa essere vista dall’host è necessario scegliere l’host interface network come modalità di connessione di rete. La NAT, predefinita, non permette di collegarsi dall’host alle porte del sistema operativo virtualizzato.
Per ogni virtual machine è necessario creare un’host interface, quindi se ci sono più server eseguiti contemporaneamente su più macchine virtuali sul sistema operativo dell’host devono essere presenti più reti.
Attenzione perché questa modalità può esporre la virtual machine a problemi di sicurezza e inoltre devono essere modificate le impostazioni di rete della sistema ospitante.
Con VirtualBox il sistema migliore è creare un bridge ethernet, praticamente creare una scheda di rete software che ne gestisce molte. Questo fa si che per fare questa cosa ci sono molti modi che dipendono dal sistema operativo dell’host.
Nel caso di sistemi operativi con kernel Linux si può adoperare un interfaccia TAP.
Accertarsi di poter accedere al device /dev/net/tun, ovvero di avere i permessi per l’utente che usa VirtualBox e quella periferica.
Si può scegliere se utilizzare il device in modo permanente (permanent) oppure dinamico (dynamic). Nel primo caso l’interfaccia rimarrà attiva sempre, mentre nel secondo verrà avviata e disattivata durante il periodo di esecuzione della virtual machine.
Tipo permanente
Per ogni tipo di distribuzione sul sistema operativo ospitante le istruzioni, purtroppo, cambiano.
Debian e Ubuntu
La prima cosa da fare è installare il pacchetto “User Mode Linux utilities” chiamato “uml-utilities” insieme a le “bridge-utilities” (bridge-utils).
Dopo l’installazione con apt-get, bisogna aggiungere l’utente che adopera la virtual machine al gruppo “uml-net” (dove nomeutente è il nome dell’utente).
# gpasswd -a nomeutente uml-net
Aprire il file /etc/network/interfaces e aggiungere alla fine del file queste cinque righe:
auto tap0
iface tap0 inet manual
up ifconfig $IFACE 0.0.0.0 up
down ifconfig $IFACE down
tunctl_user nomeutente
La parola nomeutente va cambiata con il nome dell’utente che usa l’interfaccia e il nome tap0 può essere cambiato con un altro, se già utilizzato. Per informazioni aggiuntive si può consultare i file /usr/share/doc/uml-utilities/README.Debian e /usr/share/doc/ifupdown/examples/network-interfaces.gz
Ora bisogna attivare la scheda, con privilegi root:
sudo /sbin/ifup tap0
sudo /sbin/ifup br0
L’interfaccia sarà disponibile al prossimo riavvio del sistema operativo. C’è ancora un passaggio da fare, inserire delle informazioni su br0 (il bridge). Aprire il file /etc/network/interfaces e digitare le tre righe:
auto br0
iface br0 inet dhcp
bridge_ports all tap0
Con queste istruzioni al bridge viene assegnato un IP usando il DHCP. Nei file elencati prima: README.Debian.gz e network-interfaces.gz ci sono le procedure per assegnare un indirizzo statico al bridge e alcune informazioni.
Avviare VirtualBox e nelle proprietà della macchina virtuale nel menù network scegliere Host Interface Network e indicare in “Attached to” l’interfaccia “tap0”.
OpenSuse Fedora e altre
Non utilizzare la scheda di rete eth0 mentre si esegue questa procedura.
Installare i “bridge-utils” per la propria distribuzione. Da root eseguire il comando:
# brctl addbr br0
Impostare l’interfaccia hardware di rete già esistente eth0 in modalità promiscua.
# ifconfig eth0 0.0.0.0 promisc
Accoppiare la scheda di rete al brigde:
# brctl addif br0 eth0
Se si usa DHCP:
# dhclient br0
Se non si DHCP, lanciare scegliere un IP e la sua netmask:
# ifconfig br0 x.x.x.x netmask x.x.x.x
Dove in x.x.x.x e in netmask x.x.x.x vanno inseriti l’indirizzo ip della scheda di rete eth1 e la sua netmask ottenibili usando il comando “ifconfig eth1”.
Per creare la nuova interfaccia vbox0 digitare:
#VBoxAddIF vbox0 nomeutente br0
Dove nomeutente è l’utente che userà la machcine virtuale.
Per rimuovere l’interfaccia usare “VBoxDeleteIF vbox0”.
Avviare VirtualBox e nelle proprietà della macchina virtuale nel menù network scegliere Host Interface Network e indicare in “Attached to” l’interfaccia “vbox0”.
Per Windows basta digitare a riga di comando (START>ESEGUI e digitare cmd):
VBoxManage createhostif “VM1ext”
Nelle proprietà della macchina virtuale indicare in host interface la scheda virtuale “VM1ext”.
La procedura in Windows è semplice perchè durante l’installazione di VirtualBox viene installato un driver per la scheda.
Lascia un commento