Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 19 Jan 2004 02:04:59 -0800 (PST)
From:      Chris Knipe <savage@savage.za.org>
To:        freebsd-questions@freebsd.org
Subject:   Re: Loading balancing with more than one ISP.
Message-ID:  <20040119100459.B0BB743D41@mx1.FreeBSD.org>
In-Reply-To: <20040119002507.V98208-100000@prophet.alphaque.com>

next in thread | previous in thread | raw e-mail | index | archive | help

> On Sun, 18 Jan 2004, Chris Knipe wrote:
> 
> > I have a service set up, some.host IN A A.A.A.x (i.e. in network A and
> > gateway A).  Now, the moment some one from network B connects to the
> > service I've setup on network A, the FreeBSD Box will route the reply
> > packets out on network B (because of the client's address) and hence, it
> > follows a invalid networ path and the connection fails.  The same will
> > also happen when someone from Network A tries to connect to a IP on
> > Network B.... ex:
> 
> don't understand this, it should work. what you're describing seems to be
> a dual homed freebsd set up as a simple gateway between two networks.

Ok, maybe it was a bit confusing from me... Let's take a real world example
(i.e. my setup - or part's there of).

Interfaces:
sis0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        inet A.A.A.194 netmask 0xfffffff8 broadcast A.A.A.199
        ether 00:e0:18:84:a4:24
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
dc0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        inet 192.168.1.1 netmask 0xffffff00 broadcast 192.168.1.255
        ether 00:a0:cc:db:15:26
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
        inet 127.0.0.1 netmask 0xff000000
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1492
        inet B.B.B.197 --> B.B.B.1 netmask 0xffffff00
        Opened by PID 45282

Cut down routing table:
Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            A.A.A.193          UGSc       21  2880234   sis0
213/8              B.B.B.1            UGSc       13   423232   tun0


Now, say I have a SMTP server, listening on A.A.A.194.  A mail server in 
the 213/8 network has a message to deliver.  It connects to A.A.A.194 but
because it is in the 213/8 network range, BSD routes the reply packets
(ACKs I presume) out via tun0 and due to multitutes of NAT running to
accommodate my 192.128.1/24 private network and the fact that it is two
different ISPs in question - a different IP address.  And hence, 
communication fails and hence the problem in a nutshell...


> > If I can manage to solve this, then I'll be a *VERY* happy chappy.  But
> 
> try applying the multipath patches to freebsd. that should give you the
> ability to route a same network to two different gateways.


Hmm, do you have some more info?? If it can't solve my problem, it would at
least (from the sound of it) offer me the ability to get route redundancy.
You don't perhaps have a web site or something similar?

Regards,
Chris.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040119100459.B0BB743D41>