Ethernet Channel Bonding

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


Hello Everyone,

I've just joined the list and need to bite the bullet and tryout Fedora. I've got about 100 RedHat9 boxes being served NIS and NFS'ed home from one RH9 box. The one main server also serves 30 thin-clients.

I have posted this to the K12LTSP list as well, so I know that a few of you may recognize this mesage- sorry for repeats.

I want to increase the network capacity on the main server by adding another nic to the same subnet. I'm not a networking or Linux pro, but this short article may do the trick for me.

The article speaks about one nic recieving and one nic transmitting- sounds OK. Then it continues by stating that each nic plugs into its own hub or switch- OK too, if the switches can be linked.

I ask for your comments and really appreciate any help.


Ethernet Channel Bonding

The help file on this topic can be found at

Ifenslave, that is talked about in the files is already included after you have a kernel that supports Ethernet channel bonding.

It is important to note that completing the Ethernet channel bonding process relies on having the right kernel in you system. We have updated all of our kernels to the stable release of kernel 2.4 which can be found at

or one of the mirror sites. While compiling kernels is beyond the scope of this article we are including a quick start reference for RedHat systems at these sites.


We should also state that you will need two switches or hubs as after you have successfully bonded your Ethernet cards you have one card connected to one switch/hub and the other connected to a different switch/hub. The reason being is that once bonded one Ethernet card is for sending packets and one Ethernet Card is used for receiving packets.

Change dir to the /usr/src/< current kernel dir >/Documentation/networks and check to see if you have a file called bonding.txt if you do you are set to configure you workstation for Ethernet channel bonding.

       cd /usr/src/linux-2.4.0/Documentation/networks

ls bonding.txt


If you do not have the file and are not sure if you have a kernel capable of Ethernet channel bonding change dir to the /usr/src/ and do a make xconfig, if you are in gnome or kde, or a make menuconfig if you are just in a shell.

cd /usr/src/linux-2.4.0
make xconfig or make menuconfig

Now look for a section called ?Networking Device Support? and a subsection called ?Bonding Driver Support? If this subsection is there your kernel supports Ethernet channel bonding and you can recompile your kernel with the option. (See appendix)

Once you have Ethernet channel bonding support compiled into your kernel you can complete the process with just a few easy steps.

First you need two Ethernet cards in your workstation. (more if you wish to bond more) You probably already have one card in your workstation which is configured for your network already. If needed, install a second card in your workstation, however do not configure it, as you will do this during this process.

Modify /etc/conf.modules by adding the line:

NOTE: If you are using a new version of RedHat 6.0 + you will probably be using /etc/modules.conf not /etc/conf.modules.

alias bond0 bonding

cd /etc/sysconfig/network-scripts
cp ifcfg-eth0 ifcfg-bond0
edit ifcfg-bond0, and make it look the following:


(put the approiate values for you network in where the XXX's are at. Also you may have your variables in quotes, we left ours that way and when we added new or changed variables we put in quotes)



We also did not remove any lines, we just added what was needed and left the other lines alone.

Then, edit ifcfg-eth0/ifcfg-eth1 (and all the other slave devices), and make them
look like this:

DEVICE=eth0 (or eth1 or whatever device name you are using)

Reboot, and the network should come up bonded together.

You can check this by issuing the command ifconfig

       ifconfig | more

bond0 Link encap:Ethernet HWaddr 00:01:02:3E:7A:CF inet addr: Bcast: Mask: UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:2107 errors:0 dropped:1 overruns:0 carrier:0 collisions:0 txqueuelen:0

eth0 Link encap:Ethernet HWaddr 00:C0:4F:8C:69:97 inet addr: Bcast: Mask: UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1351609 errors:0 dropped:0 overruns:0 frame:0 TX packets:51 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 Interrupt:11 Base address:0xcc80

eth1 Link encap:Ethernet HWaddr 00:01:02:3E:7A:CF inet addr: Bcast: Mask: UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1 RX packets:1393352 errors:0 dropped:0 overruns:1 frame:0 TX packets:2107 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 Interrupt:10 Base address:0xdc80

You are have successfully completed your Ethernet channel bonding.

MSN 8 with e-mail virus protection service: 2 months FREE*

[Index of Archives]     [Current Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]     [Fedora Docs]

  Powered by Linux