0

I have server that has a 10g card in it. I need to configure that server so that for a particular IP address (172.16.2.180) traffic goes over two 10g Ports, the second needed for failover .

The server is only implementing the last networking rule I created for a host. I need at least two rules / ports to isolate traffic to 10g and have it failover.

I added the following rules, after each rule I tested ping and "IP Route Get"

Here is one example

[19:53:13] shock:~ # ip rule add from all to 172.16.2.180 lookup eth3
[19:53:22] shock:~ # ip rule add from all to 172.16.2.180 lookup eth4
[19:53:50] shock:~ # ip rule add from all to 172.16.2.180 lookup eth5
[19:54:18] shock:~ # ip rule add from all to 172.16.2.180 lookup eth6

[20:12:56] shock:~ # **ip route get 172.16.2.180 (Only Eth6 Active)**
172.16.2.180 dev eth6  src 172.16.2.178

[20:04:15] shock:/home/debug # **ip rule show**
0:  from all lookup local
57: from all to 172.16.2.180 lookup eth6 (Only Rule Being Implemented)
58: from all to 172.16.2.180 lookup eth5
59: from all to 172.16.2.180 lookup eth4
60: from all to 172.16.2.180 lookup eth3

Ping Results

[19:55:30] shock:~ # *ping -I eth6 172.16.2.180* **(Only Ethernet Card Working)**
PING 172.16.2.180 (172.16.2.180) from 172.16.2.178 eth6: 56(84) bytes of data.
64 bytes from 172.16.2.180: icmp_seq=1 ttl=64 time=3.29 ms

[19:55:22] shock:~ # *ping -I eth5 172.16.2.180*
PING 172.16.2.180 (172.16.2.180) from 172.16.2.179 eth5: 56(84) bytes of data.
--- 172.16.2.180 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2499ms

[20:10:15] shock:~ # *ping -I eth4 172.16.2.180*
PING 172.16.2.180 (172.16.2.180) from 172.16.2.177 eth4: 56(84) bytes of data.
--- 172.16.2.180 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2387ms

[20:10:26] shock:~ # *ping -I eth3 172.16.2.180*
PING 172.16.2.180 (172.16.2.180) from 172.16.2.175 eth3: 56(84) bytes of data.
--- 172.16.2.180 ping statistics ---
6 packets transmitted, 0 received, 100% packet loss, time 5091ms

I reproduced this with only three ports with active rules and two ports active rules, with the same results. Anyway I can get more than one IP Rule to be implemented?

1 Answer 1

3

With a vanilla configuration, this isn't supported as you would violate ARP rules on routers doing so. However, most Operating Systems have a mechanism of teaming/bonding two physical ports together to act as one logical port. Since you tagged linux, below is a link to setup NIC bonding on RHEL. It basically creates a virtual interface that is shared among the physical interfaces, and ultimately would allow the IP address to failover by assigning it to the virtual interface.

Channel Bonding Interfaces

For full clarity, Windows Server 2012 introduced teaming, and there are NIC manufacturer drivers for doing so before Server 2012.

4
  • I would love to use Bonding. However I am using an IBM SVC which is essentially a gateway to storage and does not support Bonding. It runs CentOS and then has a layer of IBM networking on top. Regardless we still have this requirement. I wonder if my rules are incorrect either way. Thanks
    – Joe
    Jan 29, 2015 at 15:15
  • In that case, I would contact IBM and see if that service has any interface redundancy built into the code. Our similar products allow bonded interfaces from their GUI...sometimes. It's best to ask them.
    – Theo
    Jan 29, 2015 at 19:35
  • BTW how would this violate ARP rules? Creating duplicate entries
    – Joe
    Jan 31, 2015 at 19:56
  • An ARP entry can only associate one IP to one MAC, and a MAC can only exist at one physical port in a broadcast domain.
    – Theo
    Jan 31, 2015 at 21:38

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .