Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I want to route packets coming in on eth0 back over eth0 and the ones coming in to eth1 back over eth1. I don't care which gateway is used for outgoing connections.

If i just enter two gateways in /etc/network/interfaces then the kernel routes packets out on both interfaces.

I remember it has something to do with routing tables but I don't know how to do it/where can I read more about it.

share|improve this question

3 Answers 3

up vote 3 down vote accepted

What you want to achieve is multi-homing, not bonding or load-balancing.

To do this you'll need to implement what is known as "policy" or "source based" routing.

Which you can do in Linux by using the iproute2 package.

There is a good article that explains how to, here.

share|improve this answer
    
This just solved about 3 hrs of banging my head against a brick wall. "Why arn't packets coming back...... disable rp_filter" Thanks a bunch! :) –  Jason Mar 1 '10 at 23:38
    
This is probably what I'm looking for in serverfault.com/questions/567487/…. Unfortunately, the link is broken :-( –  Daniel Alder Jan 17 at 23:03

I have implemented a working MultiISP setup using shorewall based on this answer: http://serverfault.com/questions/30549/nic-bonding-with-two-uplinks/30602#30602

It easy to implement and manage, works well in a "load balancing" configuration, where packets are evenly distributed between uplinks if no cached routes are found.

Read more about it here: http://www.shorewall.net/MultiISP.html

share|improve this answer
1  
Ok, thanks I don't need load balancing but it should work so I'll try that. –  Jure1873 Jul 23 '09 at 8:52
    
No problem. Although raw iproute2 solutions are ok, having shorewall gives you a very nice abstraction and less maintenance problems for acomplishing the same task. –  Karolis T. Jul 23 '09 at 13:10

I found this web page describing exactly how to achieve this using iptables2.

I found it using google and "linux 2 default gateways"

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.