Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 6 Apr 2011 19:13:04 +0300
From:      Nikolay Denev <ndenev@gmail.com>
To:        Michael Proto <mike@jellydonut.org>
Cc:        Baginski Darren <kickbsd@yandex.ru>, freebsd-net@freebsd.org
Subject:   Re: Multiple gateways support
Message-ID:  <5A6C513B-E30B-4E32-8556-D6501E8EE59B@gmail.com>
In-Reply-To: <BANLkTi=EgjK6K2FrxhZJO-sNEmwCNbAweQ@mail.gmail.com>
References:  <1128701301678831@web100.yandex.ru> <BANLkTi=nNSeMmum3Ecoca2RFuQZS2BvbBA@mail.gmail.com> <20110406120207.GA32062@DataIX.net> <BANLkTi=EgjK6K2FrxhZJO-sNEmwCNbAweQ@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Apr 6, 2011, at 5:36 PM, Michael Proto wrote:

> On Wed, Apr 6, 2011 at 8:02 AM, J. Hellenthal <jhell@dataix.net> =
wrote:
>> On Wed, Apr 06, 2011 at 01:45:54PM +0400, Eir Nym wrote:
>>> On 1 April 2011 21:27, Baginski Darren <kickbsd@yandex.ru> wrote:
>>>> Hi!
>>>>=20
>>>> Could please someone tell me about current state of multiple gw =
capabilities of FreeBSD?
>>>> I have dual homed FreeBSD box, one interface ISP1 another ISP2 :
>>>> 1) can I balance outgoing traffic across them ?
>>>> 2) Is there support of any kind dead gateway detection?
>>>> 3) Can I install multiple routes to the same network (with same and =
with different wight)? If yes how it behaves with one link failure, in =
particular if interface is down?
>>>>=20
>>=20
>> =46rom what you said here it seems that your looking for lagg(4) with
>> configured with the loadbalance option. Give this man page [1] a
>> thorough read and youll probably see what your looking for.
>>=20
>> 1) http://www.freebsd.org/cgi/man.cgi?query=3Dlagg
>>=20
>>=20
>>>=20
>>> about multiply GWs: you can set multiply gw via setfib(1) utility =
and
>>> use fib in your firewall rules. But it is not very handy with DHCP =
and
>>> rc(8) (setfib is located in /usr/bin and can't be used in =
/etc/rc.d).
>>> Due to this I have to add another FreeBSD box to handle dynamic
>>> routes.
>>>=20
>>> This is the one thing I know which can I do in linux easily and in
>>> freebsd with hacks.
>>=20
>> --
>>=20
>>  Regards,
>>=20
>>  J. Hellenthal
>>  JJH48-ARIN
>>  0x89D8547E
>>=20
>>=20
>=20
>=20
> I don't think lagg(4) will work here, as its designed for two
> interfaces that are attached to the same network (see the example in
> the man page). For two different ISPs, I think the setfib approach is
> probably the way to go.
>=20
>=20
> -Proto
>=20

Actually I think the OP is asking about the "options RADIX_MPATH" =
feature.

1) Yes, It can balance over the two links but only using Modulo-N Hash =
(RFC2991) algorithm, and probably you should setup NAT on both links.
2) AFAIK there is no dead gw detection code yet.
3) Yes you can do that. There were some fixes for handling interfaces =
with no-link but I was not able to see it working in my setup. e.g. the =
host still tries to send traffic to a interface with no link, =
effectively blackholing the traffic (this was tested on a soekris box =
with if_vr(4))

IMHO the whole RADIX_MPATH stuff is still in experimental stage and =
needs some more work to work correctly.

There is a recent thread about some improvements in RADIX_MPATH.

Regards,
Nikolay




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5A6C513B-E30B-4E32-8556-D6501E8EE59B>