Ethernet Bonding

The Linux bonding driver provides the ability to combine multiple network interface into a single interface to give additional functionailty to the network adapters such as failover or load balancing. Example: A machine has two NIC ports (eth0 and eth1), we want to bond them together for failover. 1. Modify eth0 and eth1 configuration files to specify the bond master connection
 
vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
HWADDR=01:16:XX:22:12:85
USERCTL=yes
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none
 
vim /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1
HWADDR=01:16:XX:22:12:86
USERCTL=yes
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none

2. Create a new configuration file for the bonding interface
 
vim /etc/sysconfig/network-scripts/ifcfg-bond0

DEVICE=bond0
IPADDR=192.168.1.20
NETWORK=192.168.1.0
NETMASK=255.255.255.0
BOOTPROTO=none
ONBOOT=yes
PEERDNS=yes

The bonding drivers are available on most distributions of Linux, to enable the driver modify /etc/modprobe.conf and add the following lines at the end of the file
 
alias bond0 bonding
options bond0 miimon=100 mode=1

There are 6 different modes to choose from, this documentation on Cyberciti gives more details on this

To install the driver use the following command:
 
modprobe bonding
Restart the ethernet devices
 
service network restart
Type ifconfig and you should see bond0 as the first interface.

Back to Resources