Subject: trouble with multi-homed setup
To: None <tech-net@netbsd.org>
From: Nino Dehne <TeCeEm@gmx.de>
List: tech-net
Date: 01/29/2004 00:27:14
Hi there,

I'm currently experimenting with a dual WAN link setup. I have two
DSL accounts on pppoe0 and pppoe1. pppoe0 is a dynamic-address high-
bandwidth account while pppoe1 is a static-address low-bandwidth
account. Both interfaces come up ok and the default route goes via
pppoe0.

To make pppoe1 work I have to use some ipf magic, though:

   pass out on pppoe0 to pppoe1 from <pppoe1's address> to any

I have several problems with that, both technical and "personal".
First, I have to "hardcode" the interface names and the address into
ipf rules which I generally dislike. The above setup only works
because pppoe1's address is static. If it were dynamic I'd probably
have no means to make this work.

Then, if pppoe0 becomes unavailable traffic over pppoe1 stops as well.
I suspect this is because there is no potential traffic over pppoe0
that ipf can "reroute". Note that I use ifwatchd and delete the
default route whenever pppoe0 comes down because pppoe1 could
potentially become a non-flatrate account in the near future. That's
why I don't simply switch default routes whenever pppoe0 is down since
I don't want any unnecessary traffic on that interface. 

The intended use is for pppoe1 to serve DNS and later mail to the
outside world while all my browsing and outbound traffic goes via
pppoe0.

I want to be able to continue serving DNS and mail even if pppoe0 is
down.

I think the main "problem" is that NetBSD sends packets with pppoe1's
address as the source address via the default route instead of the
interface that actually has this address. Is this really the intended
behaviour and what are the potential problems if one were to change
it?

Is there any other "elegant" way to use such a setup?

Thanks

-- 
Of course it runs NetBSD.

42A5E773 - 41DE 4A4C DB34 33F7 2044  8FE0 91AA C584 42A5 E773