Bridge network interface on VirtualBox

When I want to streaming TV by SlingBox on Windows XP by VirtualBox under Ubuntu 7.04, I found the “Host Interface” produced error. That’s mean I could not streaming TV? No, there is a method to solve this problem.

Step 0 :
If you have not install VirtualBox on your Ubuntu 7.04, follow this guide –
How to install VirtualBox on Ubuntu 7.04

Step 1 :
Install the required packages –

sudo apt-get install uml-utilities bridge-utils

Step 2 :
Create TAP interface –

sudo tunctl -t tap1 -u samiux

** where “samiux” is the username of your Ubuntu (here is my name)

Step 3 :
Create a br0 bridge –

sudo brctl addbr br0

Step 4 :
Make your real network interface be promiscuous –

sudo ifconfig eth0 promisc

Step 5 :
Link your real network interface to bridge br0 –

sudo brctl addif br0 eth0

Step 6 :
Assign an IP to the br0. If you are using DHCP –

sudo dhclient br0

Or, if you assign an IP yourself –

sudo ifconfig br0

* the IP may be different from yours.

Step 7 :
Link TAP to bridge br0 –

sudo brctl addif br0 tap1

Step 8 :
Activate TAP interface –

sudo ifconfig tap1 up

Step 9 :
Change the permission of /dev/net/tun –

sudo chmod 0666 /dev/net/tun

Step 10 :
At the VirtualBox startup panel, choose “Host Interface” and add “tap1” to “Interface Name”.

Step 11 :
At the guest (after boot up the guest OS), change the IP of the guest OS to the same subnet of your host.

DNS #1
DNS #2

Step 12 :
Now, you can execute the SlingBox player to watch your TV programmes on your guest OS (Windows XP) under Ubuntu 7.04 by VirtualBox.

When you reboot your guest OS, you need to repeat the Step 2 to 9 to play the SlingBox Player. Or, you can create a executable script to make your job easy.


Updated on 2008-JUL-30 :

I wrote an updated method to bridge VirtualBox 1.6.2 on Ubuntu 8.04.1 at here.