Showing posts with label Ubuntu Networking. Show all posts
Showing posts with label Ubuntu Networking. Show all posts
Wednesday, 22 May 2013
Ubuntu 12.04.2 LTS Interface bonding (802.3ad / LACP) with vlan tagging (802.1q)
Ubuntu 12.04.2 LTS Interface bonding (802.3ad) with vlan tagging (802.1q)
I just had a little wrestle to get this working on 12.04.2 so thought I would write it down quick!
Not sure why but the interface configuration changed between earlier versions of Ubuntu and 12.04.2 LTS.
I followed this guide to get bonding working. My switches support 802.1q / LACP make . I must admit to already having vlan tagged interface and I cannot remember all of the steps, but my interface config works.
https://help.ubuntu.com/community/UbuntuBonding
Before you start think about how you are connecting to this server. Are you changing an Interface that you are using to connect to the server? Do you have a backup plan to control it if your config does not work first time?
Install the bonding package. (I am using aptitude, if you use apt-get use that instead ;-)
sudo aptitude install ifenslave
Install the vlan package.
sudo aptitude install vlan
Add the modules bonding and 8021q so they are loaded by the kernel.
nano /etc/modules
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
loop
lp
rtc
bonding
8021q
Edit the interface config.
sudo nano -w /etc/network/interfaces
Example config.
# Create a bond0 interface that binds eth1 and eth3 together.
auto eth1
iface eth1 inet manual
bond-master bond0
auto eth3
iface eth3 inet manual
bond-master bond0
# Next configure bond0 interface, I had to set an IP, I would prefer to use null..
UPDATE: if you don't want to set an IP address then instead of "iface bond0 inet static" make it "iface bon0 inet manual". Thanks to Sean for the tip.
# NB the bond-mode, try bond-mode 0 if LACP fails.
auto bond0
iface bond0 inet static
address 1.1.1.1
netmask 255.255.255.252
bond-slaves none
bond-miimon 100
bond-mode 802.3ad
If you need more bonding modes have a look at this it might help.
https://www.kernel.org/doc/Documentation/networking/bonding.txt
# Next create as many vlan tagged Interfaces as you need!
auto bond0.140
iface bond0.140 inet static
address 10.10.140.10
netmask 255.255.255.0
broadcast 10.10.140.255
gateway 10.10.140.1
dns-nameservers 8.8.8.8
dns-search w00t.local
vlan-raw-device bond0
auto bond0.10
iface bond0.10 inet static
address 10.10.10.10
netmask 255.255.255.0
broadcast 10.10.10.255
vlan-raw-device bond0
auto bond0.180
iface bond0.180 inet static
address 10.10.180.10
netmask 255.255.255.0
broadcast 10.10.10.255
vlan-raw-device bond0
Save the changes and reboot your server. You can restart the networking service if you prefer.
Now when you issue the ifconfig command you will see bond0 and bond0.vlanx interface.
Additional useful commands.
Check your bonded interfaces are working as expected, this will also show the LACP actor and partner keys.
cat /proc/net/bonding/bond0
Hope this helps someone.
Labels:
802.1q,
802.3ad,
Interface bonding,
LACP,
Ubuntu,
Ubuntu Networking,
vlan tagging
Subscribe to:
Posts (Atom)