Re: Load Balance and SNAT problem.

Linux Advanced Routing and Traffic Control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Grant Taylor wrote:
On 6/27/2007 12:54 AM, Peter Rabbitson wrote:
I am actually simply jealous that some people apparently get it to work in-kernel, and I can't seem to.

Ah, so the truth comes out.  ;)

Hehe

My requirements are pretty simple:
o As transparrent as possible DGD, that can detect 2nd and 3rd hop failures

Think about what you just asked for. "Dead Gateway Detection" is used to detect dead (upstream) (default) gateway(s). Rather it is not meant to detect dead routes beyond your gateway(s). To do this you will need some sort of utility to monitor things for you. I.e. you will not be able to get the kernel to detect that a gateway is good for some things but not for others. Actually if you stop to think about it, this is beyond the scope of what the kernel should do. This is more the scope of a routing protocol and / or a route management daemon.

In short, use something to test reachability to destinations and use ip rules to choose routing tables accordingly. I.e. have a default routing table that will try to use any / all interfaces routes and have alternative routing tables that will try fewer interfaces / routes.

This is the most fragile part of my current setup. And DGD based on packet counts IMO is an extremely simple thing to do, I discussed it recently with you. If something like this was present in-kernel the world would be a better place.

o Robust load balancing - connections are distributed over all available links, regardless of source and destination, with the possibility of assigning relative channel priorities

I think this is close to being possible depending on your scenario (NAT or not) and a few other things.

It was my understanding that equal cost multi path routing was suppose to accomplish this very thing. I.e. if you had globally routable IP addresses behind the router, you could send traffic out either link, hopefully in such a fashion as to (hopefully) fully utilize all links. ECMP does include weight options to assign ratios to routes.

For globally routable addresses it doesn't really matter, because you can not usually detect it (things still work).

What you have proposed with load balancing via Netfilter should be able to achieve this with out any problems. Or at least I would think such.

It actually does work in production for quite some time now. But as said before - it is ugly and fragile.

I understand that we are coming from different environments, but I still think that my figure of 90% is rather accurate. If you can afford not to do NAT, means that most likely you also have access to the ISPs dynamic routing protocols as well, and the entire discussion becomes pointless. On the contrary if you run NAT, most likely you are a poor-mans-ISP or smaller, running off two consumer DSL links, and all of the above applies.

Either way I rest my case here, as we are comparing apples to dinosaurs, and went too far OT :)

Peter
_______________________________________________
LARTC mailing list
LARTC@xxxxxxxxxxxxxxx
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc

[Index of Archives]     [LARTC Home Page]     [Netfilter]     [Netfilter Development]     [Network Development]     [Bugtraq]     [GCC Help]     [Yosemite News]     [Linux Kernel]     [Fedora Users]
  Powered by Linux