Solved

How to Channel Bond two Nic cards in Mandrake 9.1

Posted on 2003-11-12
12
890 Views
Last Modified: 2007-12-19
Im not all that savy with linux just yet... I'd  like to bond my two network cards. Is this possible with mandrake 9.1 and if so then how?

I have two 3com Server Nic cards installed. I plan to bond them and configure my 3com superstack 3300 to use port trunking capablities.

I rely souly on KDE 3.1.  So please explain it in the best possible GUI terms...


Your time is greatly appreciated...
0
Comment
Question by:c0rrupti0n
  • 6
  • 6
12 Comments
 
LVL 13

Expert Comment

by:td_miles
ID: 9737788
I don't think there is a GUI option for doing this. I've never done it before, but a quick scout around, gives me the following links:

http://ontarget-systems.com:8080/LinuxDocs/iputils-20001110/README.ifenslave
http://www.tldp.org/HOWTO/openMosix-HOWTO/x829.html

your first step would be to determine if you even have support for ifenslave. To do this, open a terminal window and type "ifenslave --help", you should get something like this:

# ifenslave --help
Usage: ifenslave [-afrvV] <master-interface> <slave-interface> [metric <N>]

Once you have that, I would suggest try setting it up as suggested in the first link above. This will involve hand editing the network config files.
0
 
LVL 1

Author Comment

by:c0rrupti0n
ID: 9746014
I found that ifenslave isnt installed on my OS...
Command doesnt exsist...

I follow the links given and find thing regarding whether or not its possible to install ifenslave under mandrake 9.1. Or if its even supported for mandrake... I find allot of support for Redhat.

Not to mention ive searched everywhere! for the program ifenslave and have some up with nothing :/

Can i get a detailed description of what needs to be done or if its even possible.

Thanks so much for your swift response...

0
 
LVL 13

Expert Comment

by:td_miles
ID: 9752471
It looks like the ifenslave command is provided by the iputils package. You can get it from here:

http://www.rpmfind.net/linux/rpm2html/search.php?query=iputils&submit=Search+...&system=mandrake&arch=

First check to see if you have the iputils package installed. Sorry, I am not familiar with Mandrake, only RedHat but will try to help as best I can.
0
 
LVL 1

Author Comment

by:c0rrupti0n
ID: 9774509
Hello again,

Thanks so much for the help... OK,

I installed the package and am now lost... I follow the readme @ inux/Documentation/network/ directory and no luck. iputils are installed properly but i cant seem to find the location it install it self... I know i sound like a complete idiot. But please bare with me... After finding the folder im going to need a lil assistance on compiling the kernal or whatever its called...


Thank you...
0
 
LVL 13

Expert Comment

by:td_miles
ID: 9775662
Not sure if Mandrake has the "locate" command. If it does, use this to find where the files are installed:

[root@wonderwoman /root 11:28:04] # locate ifenslave
/usr/share/doc/iputils-20001110/README.ifenslave
/sbin/ifenslave

If locate doesn't work, use the "find" command:

[root@wonderwoman /root 11:27:13] # find / -name ifenslave
/sbin/ifenslave

The syntax for the find command is:
"/" specifies to start searching from the root directory (will search entire file system)
"-name" specifies to search for filename
"ifenslave" is the filename to match.

Something else you may notice, locate gives any file/path that matches the string you ask it to locate. Find only gives exact matches. Locate is also faster as it actually searches a DB that is updated daily. The find command actually physically looks in each directory for files.

Once you have found the loaction of ifenslave, try running it to see what happens, hopefully you should get some output from it.

Can I ask if there is any real use for bonding the two NIC's together. I don't mind doing it just for the point of doing it, I'm just curious.

(and yes, the hostname of my linux box IS "wonderwoman" ;)
0
 
LVL 1

Author Comment

by:c0rrupti0n
ID: 9815546
I managed to find the executable with the locate command... Now I'm going to need assistance in compiling the kernal.. or rebuilding it.. I am lost when it comes to doing this...
Is it necessary? Can I skip this step?


According to the Readme file. The following is suposidly needed:

Build the new kernel/modules.

Get update ifenslave.c (included in tar file.) (location to be determined.)

install ifenslave.c; do:
      gcc -O2 -o ifenslave ifenslave.c
      cp ifenslave /sbin/ifenslave

Modify /etc/conf.modules by adding the line:
      alias bond0 bonding
0
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 
LVL 13

Expert Comment

by:td_miles
ID: 9815598
if you have found the executable, try running it with the "--help" option after it. Specify the full path to the executable, not just the actual executable name (ie. "/some/path/to/ifenslave" NOT "ifenslave")

You only need to rebuild the kernel if it doesn't have the appropriate options selected when it was compiled. Hopefully when you run the "ifenslave --help" command it might give some output to indicate whether or not this is so.

Where is the ifenslave installed to ?
0
 
LVL 1

Author Comment

by:c0rrupti0n
ID: 9822566
Im almost there i can sence it... heh

This is my output for ifconfig... I suposidly need to configure this first before anything else...
[workgroup@Storage sbin]$ ifconfig --help
Usage:
  ifconfig [-a] [-i] [-v] [-s] <interface> [[<AF>] <address>]
  [add <address>[/<prefixlen>]]
  [del <address>[/<prefixlen>]]
  [[-]broadcast [<address>]]  [[-]pointopoint [<address>]]
  [netmask <address>]  [dstaddr <address>]  [tunnel <address>]
  [outfill <NN>] [keepalive <NN>]
  [hw <HW> <address>]  [metric <NN>]  [mtu <NN>]
  [[-]trailers]  [[-]arp]  [[-]allmulti]
  [multicast]  [[-]promisc]
  [mem_start <NN>]  [io_addr <NN>]  [irq <NN>]  [media <type>]
  [txqueuelen <NN>]
  [[-]dynamic]
  [up|down] ...

  <HW>=Hardware Type.
  List of possible hardware types:
    loop (Local Loopback) slip (Serial Line IP) cslip (VJ Serial Line IP)
    slip6 (6-bit Serial Line IP) cslip6 (VJ 6-bit Serial Line IP) adaptive (Adaptive Serial Line IP)
    strip (Metricom Starmode IP) ash (Ash) ether (Ethernet)
    tr (16/4 Mbps Token Ring) tr (16/4 Mbps Token Ring (New)) ax25 (AMPR AX.25)
    netrom (AMPR NET/ROM) rose (AMPR ROSE) tunnel (IPIP Tunnel)
    ppp (Point-to-Point Protocol) hdlc ((Cisco)-HDLC) lapb (LAPB)
    arcnet (ARCnet) dlci (Frame Relay DLCI) frad (Frame Relay Access Device)
    sit (IPv6-in-IPv4) fddi (Fiber Distributed Data Interface) hippi (HIPPI)
    irda (IrLAP) ec (Econet) x25 (generic X.25)
  <AF>=Address family. Default: inet
  List of possible address families:
    unix (UNIX Domain) inet (DARPA Internet) inet6 (IPv6)
    ax25 (AMPR AX.25) netrom (AMPR NET/ROM) rose (AMPR ROSE)
    ipx (Novell IPX) ddp (Appletalk DDP) ec (Econet)
    ash (Ash) x25 (CCITT X.25)


The read mean file says:
For other distributions, you need to do something like:

/sbin/ifconfig bond0 addresss netmask xxx.xxx.xxx.xxx broadcast xxx.xxx.xxx.xxx up
/sbin/ifenslave bond0 eth0
/sbin/ifenslave bond0 eth1

But i tried this in several different ways and all i get are syntax errors...

Thanks again for the swift reply...
0
 
LVL 13

Expert Comment

by:td_miles
ID: 9822855
Have you done this:

Modify /etc/conf.modules by adding the line:
     alias bond0 bonding

You need to do this, as this essentially creates the bond0 device using the "bonding" module. Once you have done this, reboot and it should autoprobe for the stuff defined in conf.modules. If everything works, you should see a line during the boot sequence to say that the module "bonding" was successfully loaded. If it doesn't work, you will most likely get an error. Alternatively, if you don't want to reboot, you can try it manually by running the command "insmod" to insert the module (after modifying conf.modules) and then use the command "lsmod" to view the installed modules. You may need to specify a parameter to insmod (eg. "insmod bonding") to tell it what module to install, I can't remember and I'm not at a terminal at the moment to check.

Once you have done that, you can use the ifconfig command to give bond0 an ip address and mask. Once you have done this, you then add the eth0 & eth1 to bond0 using ifenslave.

Essentially "bond0" is a virtual network adapter and eth0 & eth1 are the phyical adapters enslaved to the bond0 card.
0
 
LVL 1

Author Comment

by:c0rrupti0n
ID: 9864676
I modified /etc/conf.modules and at boot up it said something about "loopback something something" OK.
So i assume this started just fine... Now my problem is the follow steps...  I ran the following...

ifconfig bond0 addresss netmask 255.255.255.0 broadcast 192.168.0.255 up
ifenslave bond0 eth0
ifenslave bond0 eth1



Then i got the following results:

[root@Storage sbin]# ifconfig bond0 addresss netmask 255.255.255.0 broadcast 192.168.0.255 up
addresss: Unknown host
ifconfig: `--help' gives usage information.
[root@Storage sbin]# ifenslave bond0 eth0
master has no hw address assigned; getting one from slave!
Something broke getting the master's IP address: Cannot assign requested address.
Something broke getting the master's destination address: Cannot assign requested address.
Something broke getting the master's broadcast address: Cannot assign requested address.
Something broke getting the master's netmask: Cannot assign requested address.
The interface eth0 is up, shutting it down it to enslave it.
Something broke setting the slave's address: Invalid argument.
Error setting the slave with SIOCSIFDSTADDR: Invalid argument.
Something broke setting the slave broadcast address: Invalid argument.
Something broke setting the slave netmask: Invalid argument.
SIOCBONDENSLAVE: 22 (Invalid argument).


Im not sure if I wrote the correct ip for the netmask or even the broadcast... My my network addresses are

192.168.0.x
255.255.255.x

0
 
LVL 13

Accepted Solution

by:
td_miles earned 25 total points
ID: 9864803
you are supposed to actually put in your IP address where it says "address" EG. the line you type should be:

ifconfig bond0 192.168.0.7 netmask 255.255.255.0 broadcast 192.168.0.255 up

other than that, you got all the other parameters correct, the subnet mask is right and the broadcast is correct as well.
0
 
LVL 1

Author Comment

by:c0rrupti0n
ID: 9864948
Please pardon my incompotents... Its just when reading from a readme file one would believe that they keep some sort of uniform when giving a how-to explanation. It didnt make sence to me for them to mention the word address and later in the command express the netmask and broadcast with (xxx.xxx.xxx.xxx) paramaters. Not to mention how the word address was spelt as"addresss". But hey thats just me...

I will give it a try when i get to the office.. Thanks again man...
0

Featured Post

Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

I have seen several blogs and forum entries elsewhere state that because NTFS volumes do not support linux ownership or permissions, they cannot be used for anonymous ftp upload through the vsftpd program.   IT can be done and here's how to get i…
Note: for this to work properly you need to use a Cross-Over network cable. 1. Connect both servers S1 and S2 on the second network slots respectively. Note that you can use the 1st slots but usually these would be occupied by the Service Provide…
This demo shows you how to set up the containerized NetScaler CPX with NetScaler Management and Analytics System in a non-routable Mesos/Marathon environment for use with Micro-Services applications.
Polish reports in Access so they look terrific. Take yourself to another level. Equations, Back Color, Alternate Back Color. Write easy VBA Code. Tighten space to use less pages. Launch report from a menu, considering criteria only when it is filled…

708 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now