Linux software switching?

dgingeri

Distinguished
OK, so there's this feature in Windows Server 2008 and up that allows a system to be configured so that multiple network connections can be grouped into what is effectively a software switch. An outdated system and some older 10Gb NICs can effectively be turned into a poor man's 10Gb switch. It's great. However, Windows Server costs money, more money than is really useful for a real poor man's 10Gb switch.

I have managed to find some old Intel 10Gb CX4 NICs and short cables for fairly cheap. Cheaper than most 10Gb NICs, anyway. I had been using them as direct connects between some systems for iSCSI and a home version of a SAN, for learning a lot of the datacenter skills I need to advance my career. I recently set up two of these cards in one system along with a couple 1Gb NICs to make a software 10Gb switch to allow two systems to access the one storage server. I have the free version of VMWare's ESXi 5 Hypervisor, so I made a VM dedicated to this software switch while utilizing the remaining resources for other VMs. Right now, I'm running it with a trial version of Windows 2008 r2 server, but that has to be rebuilt every 60 days because the trial period runs out.

I was wondering if there is a way to use Linux, whatever version, to make a software switch like this. Is there a Linux app that can do this?
 
Solution
Yes, but you will get better performance out of a cheap hardware switch.. like a old wrt54g and run OpenWRT.
https://wiki.debian.org/BridgeNetworkConnections
https://wiki.archlinux.org/index.php/Network_bridge
You can even bridge with a wireless device..

So to create a bridge named "bridge_name" do something like:
Code:
brctl addbr bridge_name
brctl addif bridge_name eth0
brctl addif bridge_name eth1
brctl addif bridge_name eth2
ip link set up dev bridge_name
brctl show #shows bridged devices
Yes, but you will get better performance out of a cheap hardware switch.. like a old wrt54g and run OpenWRT.
https://wiki.debian.org/BridgeNetworkConnections
https://wiki.archlinux.org/index.php/Network_bridge
You can even bridge with a wireless device..

So to create a bridge named "bridge_name" do something like:
Code:
brctl addbr bridge_name
brctl addif bridge_name eth0
brctl addif bridge_name eth1
brctl addif bridge_name eth2
ip link set up dev bridge_name
brctl show #shows bridged devices
 
Solution

dgingeri

Distinguished
I just saw the instructions for Debian, and it talked about ebtables and adding mac addresses and such. Doing a google search for "linux network bridging" I found a page from Red Hat's site that looked promising.

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/s2-networkscripts-interfaces_network-bridge.html

Since CentOS is just debranded Red Hat, and I know more about either of those, I think I might be able to do it in a CentOS VM. I'll give it a try over the weekend. Your suggestions led me in the right direction.