I would like to implement 3 modes of NIC operation to my users, so that they can choose how to use 2 NICs on their machines.

These 3 modes are:

  1. Team mode: (aka) link aggregation, use 2 NICs together in order to get higher total bandwidth.
  2. Redundancy Mode: only 1 NIC is active, it will switch automatically if the link fails
  3. Switch Mode: the 2 NICs is like a switch, one port for LAN, another port is able to connect other devices.

How do i achieve these 3 modes? Thanks for your help, even partial answers are greatly appreciated.


You Google "Channel Bonding ubuntu" in Google. First link I came up with was https://help.ubuntu.com/community/UbuntuBonding.

In a nut shell -

  • sudo apt-get install ifenslave
  • Check "bonding" module is loaded (ie it exists in /proc/modules, if not, add to /etc/modules and load manually/reboot)
  • Modify network Interfaces to create and use a bond0 device rather then ethernet device (and enslave the ethernets into the bond)

Example -

auto eth0
iface eth0 inet manual
bond-master bond0

auto eth1
iface eth1 inet manual
bond-master bond0

auto bond0
bond-mode XXXX
bond-miimon 100
bond-lacp-rate 1
bond-slaves none
iface bond0 inet ....
[definition as per eth0 was initially]

Restart networking bond-mode XXXX refers to the mode you want to use for bonding. Briefly.

0 = balance-rr (round robin), 1 = active-backup 2 = balance-xor 3 = broadcast 4 = 802.3ad 5 = balance-tlb 6 = balance-alb

Mode 0 and 1 are the easiest to use and don't require any special hardware or fiddle with the routing.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.