How to Create NIC Bonding in RedHat/CentOS 5/6

Share It!

Linux allows binding of multiple network interfaces into a single NIC using special kernel module called bonding. Bonding is Linux kernel feature that allows to aggregate multiple interfaces into a single virtual link. If one physical NIC is down then automatically all the resource move to other NIC card. Channel bonding will work with the help of bonding driver in kernel. In this article we will help you how to create NIC Bonding.

NIC Bonding

Step #1 Create a Bond Configuration File

You need to create bond configuration file in “/etc/sysconfig/network-scripts” directory like the below one:

# vim /etc/sysconfig/network-scripts/ifcfg-bond0

Append the following line:

DEVICE=bond0
IPADDR=192.168.5.30
NETWORK=192.168.5.0
NETMASK=255.255.255.0
USERCTL=no
BOOTPROTO=none
ONBOOT=yes

Step #2 Modify Network Configuration Files

Now modify the network configuration file by adding the Master and Slave directives.
For eth2

# vim /etc/sysconfig/network-scripts/ifcfg-eth2
DEVICE=eth2
USERCTL=no
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none

For eth3

# vim /etc/sysconfig/network-scripts/ifcfg-eth3
DEVICE=eth3
USERCTL=no
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none

Step #3 Creating Bonding Channel

Create bonding.conf file to add the below line in /etc/modprobe.d/ directory to load the bonding module in to kernel. File name can be anything with “.conf” extension.

# vim /etc/modprobe.d/bonding.conf 
alias bond0 bonding
options bond0 mode=balance-alb miimon=100

Step #4 Test Configuration and Restart Network Service

Run the following command to load the bonding module.

# modprobe bonding

Restart the network service now.

# service network restart

To check the status of linux kernel bonding driver, you need to execute below command.

# cat /proc/net/bonding/bond0

Step #5 Verify bond0 interface

Run the following command to verify whether “bond0” has come up with IP or not.

# ifconfig -a
bond0     Link encap:Ethernet  HWaddr 00:0C:30:80:18:FA  
          inet addr:192.168.5.30  Bcast:192.168.5.255  Mask:255.255.255.0
          inet6 addr: fe80::62eb:69ff:fed2:d2a6/64 Scope:Link
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
          RX packets:22 errors:0 dropped:0 overruns:0 frame:0
          TX packets:27 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:3843 (3.7 KiB)  TX bytes:4169 (4.0 KiB)

eth2      Link encap:Ethernet  HWaddr 00:0C:30:80:18:FA  
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:11 errors:0 dropped:0 overruns:0 frame:0
          TX packets:15 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:2031 (1.9 KiB)  TX bytes:2064 (2.0 KiB)

eth3      Link encap:Ethernet  HWaddr 00:0C:30:80:18:FA  
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:11 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1812 (1.7 KiB)  TX bytes:2105 (2.0 KiB)

Enjoy it!

Leave a Reply

Your email address will not be published.