virtualbox logo

Nelle impostazioni di rete di VirtualBox per una macchina virtuale non vengono mostrati i dispositivi Wireless Broadband. Se ad esempio siamo collegati ad internet tramite una chiavetta USB non potremmo utilizzare la connessione nella macchina virtuale. Per risolvere questo problema abbiamo bisogno di una configurazione di rete un pò più complessa.

Dobbiamo creare un bridge e configurare l'interfaccia di rete della macchina virtuale per utilizzarlo. Poi dobbiamo dargli l'accesso alla rete e questo lo facciamo grazie ad un NAT.

Di seguito c'è un piccolo script che ci aiuta a configurare il tutto.

!/bin/bash

set PATH for the case we are called via sudo or su root

PATH=/sbin:/usr/bin:/bin:/usr/bin USER= INTIF="br0" EXTIF="ppp0"

NUMBER_OF_VM=1

create the bridge

/usr/sbin/brctl addbr br0

create the taps and insert them into the bridge

NB=1 while [ $NB -lt $NUMBER_OF_VM ]; do tunctl -t tap$NB -u $USER ip link set up dev tap$NB /usr/sbin/brctl addif br0 tap$NB let NB=$NB+1 done

set the IP address and routing

ip link set up dev br0 ip addr add 10.1.1.1/24 dev br0 ip route add 10.1.1.0/24 dev br0

Connecting the internal network to the world.

echo 1 > /proc/sys/net/ipv4/ip_forward

clear existing iptable rules, set a default policy

iptables -P INPUT ACCEPT iptables -F INPUT iptables -P OUTPUT ACCEPT iptables -F OUTPUT iptables -P FORWARD DROP iptables -F FORWARD iptables -t nat -F

set forwarding and nat rules

iptables -A FORWARD -i $EXTIF -o $INTIF -j ACCEPT iptables -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT iptables -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE

echo "Virtual host network setup:" echo "" echo " ip link set up dev eth0" echo " ip addr add 10.1.1.2/24 dev eth0" echo " ip route add default via 10.1.1.1 dev eth0"

Lo script è abbastanza chiaro, per adattarlo alle nostre esigenze potrebbe bastare il settaggio della variabile USER, e gli indirizzi IP utilizzati non devono andare in conflitto con l'ip principale del tuo PC che probabilmente sta nella rete 192.168.0.0/16.

Passi da eseguire

  • Lanciare lo script da utente root dopo aver impostato USER
  • Configurare l'interfaccia di rete della macchina virtuale come in figura

[lg_image folder="virtualbox" image="ScreenshotWinXPSettings.png" width="570px"]- Avviare la macchina virtuale

  • Settare manualmente l'indirizzo ip della macchina virtuale, si potrebbe saltare questo passaggio configurando opportunamente un server dhcp.

    IP: 10.1.1.2 NETMASK: 255.255.255.0 DEFAULT GATEWAY: 10.1.1.1