From: Arthur van Leeuwen <arthurvl@sci.kun.nl>
To: lartc@vger.kernel.org
Subject: Re: [LARTC] Solved: Using more than 1 Internet Line
Date: Tue, 04 Dec 2001 08:52:49 +0000 [thread overview]
Message-ID: <marc-lartc-100745588218268@msgid-missing> (raw)
In-Reply-To: <marc-lartc-100742079800981@msgid-missing>
On Tue, 4 Dec 2001, Julian Anastasov wrote:
>
> Hello,
>
> On Mon, 3 Dec 2001, Whit Blauvelt wrote:
>
> > On Mon, Dec 03, 2001 at 11:04:20PM +0100, Arthur van Leeuwen wrote:
> >
> > > > - What weirdness should I look out for?
> > >
> > > OpenSSH sets up the TOS fields *after* authenticating. This breaks the
> > > entries in the route-cache, as they are keyed on source, destination and TOS
> > > field.
> >
> > Hmm, I use OpenSSH all the time. Does this fully break it, or just add some
> > flakiness?
>
> It breaks only the plain kernel. The patches use the
> multipath routes only for the first packet.
Okay, I've read both the nanohowto and the docs on Julian's patches by now.
A few things to note: the nanohowto's information is good even without
Julian's patches, although things will become trickier. One has to do ones
own link-probing and rerouting from userland. That is very doable however,
provided you have machines somewhere at the ISP's site that will answer to
either pings ore traceroutes or somesuch, as you will need answers.
The patches Julian provided fix a bunch of nastiness. For one, dead gateway
detection is done on the ARP level in kernelspace. Very neat when you have
ARP, thus on ethernet, but not very useful without. Furthermore, they
provide true alternative routes, not only multipath default routes. This is
once more extremely neat, but not directly necessary for the usual case.
Thirdly, Julian's patches add gateways as a routing key. This will not help
pure routing boxes, such as would be standard issue in an office full of
Windows toasters, as the gateway will be determined at the routing stage, so
it cannot be used as a key.
The *main* reason to use Julian's patches is the masquerading connection
rerouting. This will fix the big bugs in your setup by just redirecting a
masqueraded connection out to a different interface when the old one is
dead. This is *very* cool on UDP, and will make UDP failover to another
route fully transparent. However, it will not fix stateful protocols in
which the server on the other side keeps state on the IP address it was
talking to, such as SSH. It will fix the TOS nastiness OpenSSH brings to the
fore, as it will *reroute* after masquerading. Bit of a hack, that. I
simply nixed the TOS bits in the firewalling code. :)
Summarizing: Yes, you can do equal cost multipath. Yes it is cool. Yes it
can be made nicer and friendlier to set up using Julian's patches. However,
it will not be an ideal solution. Things *will* break. Load will just be
approximately balanced. Failover is in most cases definitely not transparent
to the user: new connections have to be set up. If the links stay up though,
equal cost multipath is a *good* thing.
Oh, and it does work on >2 uplinks. I've set up a system for a client using
1 ISDN line, 2 ADSL links (with the Dutch MXStream cruftiness, but I
digress) and 1 cable modem using masquerading only on the last three, using
the standard kernel (Julian's patches didn't exist a year ago, when I did
this). Worked splendidly (and still does, I'm told). Needed some manual
supervision though, as link failover and especially failback is *not*
trivial.
Doei, Arthur.
--
/\ / | arthurvl@sci.kun.nl | Work like you don't need the money
/__\ / | A friend is someone with whom | Love like you have never been hurt
/ \/__ | you can dare to be yourself | Dance like there's nobody watching
_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://ds9a.nl/2.4Routing/
next prev parent reply other threads:[~2001-12-04 8:52 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-12-02 19:24 [LARTC] Solved: Using more than 1 Internet Line Christoph Simon
2001-12-02 19:41 ` Christoph Simon
2001-12-03 20:22 ` Whit Blauvelt
2001-12-03 20:45 ` Christoph Simon
2001-12-03 21:43 ` Julian Anastasov
2001-12-03 22:04 ` Arthur van Leeuwen
2001-12-03 22:19 ` Christoph Simon
2001-12-03 22:33 ` Whit Blauvelt
2001-12-03 22:44 ` Julian Anastasov
2001-12-04 8:52 ` Arthur van Leeuwen [this message]
2001-12-04 10:57 ` Julian Anastasov
2001-12-04 11:05 ` Christoph Simon
2001-12-04 16:13 ` Don Cohen
2001-12-04 16:20 ` Arthur van Leeuwen
2001-12-04 16:56 ` Don Cohen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=marc-lartc-100745588218268@msgid-missing \
--to=arthurvl@sci.kun.nl \
--cc=lartc@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox