PiumaLab

Idee, esperimenti, tentativi e molto altro

VirtualBox: usare Wireless Broadband come Host Interface Networking

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=<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

Leave a Reply

Your email address will not be published. Required fields are marked *