How To Setup Bridge (br0) Network on Ubuntu Linux 14.04 and 16.04 LTS
I am a new Ubuntu Linux 16.04 LTS user. How do I setup a network bridge on the host server powered by Ubuntu 14.04 LTS or 16.04 LTS operating system?
A Bridged networking is nothing but a simple technique to connect to the outside network through the physical interface. It is useful for LXC/KVM/Xen/Containers virtualization and other virtual interfaces. The virtual interfaces appear as regular hosts to the rest of the network. In this tutorial I will explain how to configure a Linux bridge with bridge-utils (brctl) command line utility on Ubuntu server.
Our sample bridged networking
In this example eth0 and eth1 is the physical network interface. eth0 connected to the LAN and eth1 is attached to the upstream ISP router/Internet.
Type the following apt-get command to install the bridge-utils: $ sudo apt-get install bridge-utils OR $ sudo apt install bridge-utils Sample outputs:
Creating a network bridge on the Ubuntu server
Edit /etc/network/interfaces using a text editor such as nano or vi, enter: $ sudo cp /etc/network/interfaces /etc/network/interfaces.bakup-1-july-2016 $ sudo vi /etc/network/interfaces Let us setup eth1 and map it to br1, enter (delete or comment out all eth1 entries):
# br1 setup with static wan IPv4 with ISP router as gateway
iface br1 inet static
To setup eth0 and map it to br0, enter (delete or comment out all eth1 entries):
iface br0 inet static
dns-nameservers 10.0.80.11 10.0.80.12
# set static route for LAN
post-up route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.18.44.1
post-up route add -net 188.8.131.52 netmask 255.255.0.0 gw 10.18.44.1
A note about br0 and DHCP
DHCP config options:
iface br0 inet dhcp
Save and close the file.
Restart the server or networking service
You need to reboot the server or type the following command to restart the networking service (this may not work on SSH based session): $ sudo systemctl restart networking If you are using Ubuntu 14.04 LTS or older not systemd based system, enter: $ sudo /etc/init.d/restart networking
Use the ping/ip commands to verify that both LAN and WAN interfaces are reachable: # See br0 and br1 ip a show # See routing info ip r # ping public site ping -c 2 sxi.io # ping lan server ping -c 2 10.0.80.12 Sample outputs:
Now, you can configure XEN/KVM/LXC containers to use br0 and br1 to reach directly to the internet or private lan. No need to setup special routing or iptables SNAT rules.
This entry is 5 of 7 in the Linux and Unix Network Bridging Tutorial series. Keep reading the rest of the series:
The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.