This is an old revision of the document!
Table of Contents
Network - Configure a Network Bridge
To bridge traffic between two or more Ethernet interfaces on Linux.
Background
An Ethernet bridge is a device for forwarding packets between two or more Ethernets so that they behave in most respects as if they were a single network. It could be a physical device, but it is also possible for a bridge to be implemented entirely in software. The Linux kernel has the ability to perform bridging by means of the bridge module.
If you would like your virtual machines to be visible on your network and have them accept connections from other computers and devices on your network, so they appear as though they were distinct physical machines, then you need to create what is called a Network Bridge. This process will “share” the physical network adapter on your host computer with each of the virtual machines. You can only configure a Network Bridge using a wired network adapter. It is not possible to use a wireless device for this.
You need to make a couple of changes to a file on the host computer. So, issue the following command:
sudo vi /etc/network/interfaces
The contents of your file probably looks something similar to this:
- /etc/network/interfaces
# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet dhcp
Note: If you're currently using a fixed IP address then the auto eth0 section of the file will look different to the above.
How to create a network bridge using DHCP
If you are using DHCP to allocate an IP address to your server then change the contents of the file as follows:
- /etc/network/interfaces
# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface #auto eth0 #iface eth0 inet dhcp auto br0 iface br0 inet dhcp bridge_ports eth0 bridge_fd 9 bridge_hello 2 bridge_maxage 12 bridge_stp off
Don't forget to mask out the auto eth0 and iface eth0 inet dhcp lines.
Once you've made the changes then save the file.
Once you've made the changes to the file then issue the following command to make them active:
sudo /etc/init.d/networking restart
How to create a network bridge using a static IP address.
If you are currently using a static IP address for your server or you wish to switch to using a static IP address for your server then change the contents of the file as follows:
Obviously you must substitute the values for address, broadcast, netmask & gateway to those applicable to your own network. Don't simply use the ones that work in my setup!
- /etc/network/interfaces
# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface #auto eth0 #iface eth0 inet dhcp auto br0 iface br0 inet static address 192.168.1.200 broadcast 192.168.1.255 netmask 255.255.255.0 gateway 192.168.1.254 bridge_ports eth0 bridge_fd 9 bridge_hello 2 bridge_maxage 12 bridge_stp off
Don't forget to mask out the auto eth0 and iface eth0 inet dhcp lines.
Once you've made the changes then save the file.
Once you've made the changes to the file then issue the following command to make them active:
sudo /etc/init.d/networking restart