Having a network bridge allows you to bridge traffic under multiple devices so they can talk natively without using any special routing, iptables/firewall or other trickery.
To create your bridge you need the bridge-utils package for brctl and if you want to do things like bridge VMs that run on a tap device you will need the uml-utilities which provides "tunctl".
1.) Install the utilities to make our bridge
sudo apt-get i........
This will find all tap devices and try deleting all of them. Of course don't run this if there is a chance an unused tap device is necessary and would not be created by the script ro application using it.
for tap in `ifconfig -a|grep tap[0-255]|awk '{print $1}'`; do
tunctl -d $tap
done........
Thsi is very handy when doing your own kernel development.
-m specifies how much ram (in the example it is 768MB)
-kernel specifies the path to the kernel file
-net tap,ifname=tap1,script=no (the ifname=tap1 is what you need to change and setup manually).
*Run "tunctl -b" to create a tap device and use the one it gives you for ifname=
Enable networking to the outside like this:
*Note we assume that your bridge is br0 i........