single ip address on multiple nics

i have a case in which I need to have 1 single ip address on multiple nics in a FreeBSD server.
I want this for several purposes

1) Additional bandwidth to the serverusing existing network
2) To Maintain uptime in the network.
I want to have each card connected to a different switch, and then the switches linked to each other

          ***************+   BSD SERVER +****************
          *                            + ++++++++++++                              *
          *                                                                                     *
          *                                                                                     *
+++++++++++                                                                ++++++++++++
+  SWITCH    +---------------------------------------------------+      SWITCH  +
+++++++++++                                                                ++++++++++++

This is basically what I want. The resof of the network are also, connected to these switches.

If possible I would want to be able to get the aggregate of the interfaces to the switch.
Meaning if I have 4 nics in the BSD server, get 400mb/s :>
Like I said, if possible.

Please advise
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

ProtorianAuthor Commented:
I want that if a switch goes bad, or if an ethernet port on the server goes bad,
That service continues to be up.

>> Additional bandwidth to the serverusing existing network

you can't have two nic's using the same ip address simultaneously.
The ip protocol stack will refuse to bind the ip to an nic if it is already
in use on some other nic. However it is possible to have the arrangement
where if a nic goes bad, you can have the other nic up on the same address.

hope this helps,

ProtorianAuthor Commented:
to the network, will it seem like the two cards have the same address?
And will that also aggregate the bandwidth?
Or is that something different?

If this is possible would you please give me the config.
Get expert help—faster!

Need expert help—fast? Use the Help Bell for personalized assistance getting answers to your important questions.

Consider just using 2 nics on your server for the moment.

like i said, you can't have two nic's to use the same ip address "simultaneously".
however, you can have separate ips for your 2 nics, and let the server listen on the
wild card address(you can accept the packets destined for nic2 even if they
arrive on nic1,  weak end system model). you will need to keep two entries in
your dns records for your server. as an example.        IN A     // being the site name
                                IN A

Now i dont think connecting the switches as you are
doing is a very good solution. This is because you will
need to configure your switches for trunking. Plus in case
of a failure, the other nic would become the bottleneck. An easier
strategy is to use 2 more nics.

nic1 <--> nic3(redundant)
nic2 <--> nic4(redundant)

Now you can create a cron job, which periodically pings(say at intervals of 20 seconds)
both nic1 and nic2. if  nic1 fails, it assigns the ipconfig of nic1 to nic3, and similarily if nic2
fails, it assigns the ipconfig of nic2 to nic4.  
This way you can have the required redundancy along with additional bandwidth(not to
forget, but at a cost of 2 extra network cards).

hope this helps,

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
You are wrong to say you cannot bind an ip address to two cards. 3com have been producing drivers to do this for years in order to provide higher reliablilty and speed. So the answer is you might be able to dual bind cards depends on the drivers available.
check out /usr/ports/net/freevrrpd

/usr/ports/net/freevrrpd/pkg-descr reads:

freevrrpd is a VRRP (Virtual Router Redundancy Protocol) implementation
daemon under FreeBSD.  freevrrpd is part of the High UpTime project.
This daemon has been rewritten from scratch and is not based on
existing projects.  In this second public release, you can find:

       * A daemon RFC 2338 Compliant adapted on FreeBSD systems
       * Implementation of Virtual Adresses
       * Support for multiples VRID
       * Master announce state by sending multicast packets via BPF
       * Changing routes and IP in 3 seconds
       * Doing gratuitous ARP requests to clean the cache of all hosts
       * Election between different slave servers
       * Same host can be Slave and Master at the same time
       * Automatic Downgrade to Slave if a Master is up again
       * Anti-Address Conflict system
       * Multi-threaded vrrp daemon
       * Plain text password authentication
       * Using now only one BPF device for all VRID
       * Support netmask for Virtual IP addresses
       * Support for monitored circuit and dependances between VRIDs

But anyway, all you achieve is high uptime but not double throughput.
And you cannot have both speed and safety at once....
ive just put two network adapters in a bridge on this FreeBSD system i work on, plgged another cable in other NIC, unplugged first and it kinda passed without any headache
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Unix OS

From novice to tech pro — start learning today.