From: Scott Russell <scottrus@raleigh.ibm.com>
To: lartc@vger.kernel.org
Subject: Re: [LARTC] Load balancing on multiple NICs with iproute
Date: Sun, 18 Mar 2001 22:05:30 +0000 [thread overview]
Message-ID: <marc-lartc-98495315511609@msgid-missing> (raw)
In-Reply-To: <marc-lartc-98479481719835@msgid-missing>
Thanks for the quick reply. Based on reading the HOWTO examples I thought
this was what I wanted to do and did some quick tests similar to what you
outlined below. My tests failed so I assumed I was missing the obvious and
posted to the list.
Well, I followed the examples below and ran the following commands in order:
ip rule add from 9.37.145.124 table 124
ip rule add from 9.37.145.120 table 120
ip rule add from 9.37.145.127 table 127
ip route add default via 9.37.144.1 dev tr0 table 124
ip route add default via 9.37.144.1 dev tr1 table 120
ip route add default via 9.37.144.1 dev tr2 table 127
ip route flush cache
A bit of back ground:
tr0 = 9.37.145.124/20
tr1 = 9.37.145.120/20
tr2 = 9.37.145.127/20
default GW = 9.37.144.1
So based on the above rules I would expect connections that originate on tr2
to stay on tr2. To test this I ftped to the system using the IP of tr2 and
started receiving a file. I then shut down interface tr0 with /sbin/ifdown
tr0. When I did so my file xfer stopped as well. When tr0 was brought back
up the xfer resumed. Bringing down tr2 and tr1 had no effect on the transfer
at all. (Expected since most likely the ftpd opened the ftp-data connection
on tr0 instead of tr2 as I wanted.)
Here's what my rules look like after running the above commands:
[scottrus@linux scottrus]$ ip rule show
0: from all lookup local
32763: from 9.37.145.127 lookup 127
32764: from 9.37.145.120 lookup 120
32765: from 9.37.145.124 lookup 124
32766: from all lookup main
32767: from all lookup 253
Since the rules 23763-65 all appear before the main table I would expect
them to take precedence over anything in the main table. Is this correct?
So here's what my main routing table looks like after running the above rules:
[scottrus@linux scottrus]$ ip route
10.200.1.33 dev eth0 scope link
9.37.145.120 dev tr1 scope link
9.37.145.127 dev tr2 scope link
9.37.145.124 dev tr0 scope link
10.200.1.0/24 dev eth0 proto kernel scope link src 10.200.1.33
9.37.144.0/20 dev tr0 proto kernel scope link src 9.37.145.124
9.37.144.0/20 dev tr1 proto kernel scope link src 9.37.145.120
9.37.144.0/20 dev tr2 proto kernel scope link src 9.37.145.127
10.200.0.0/16 via 10.200.1.1 dev eth0
127.0.0.0/8 dev lo scope link
default via 9.37.144.1 dev tr2
default via 9.37.144.1 dev tr1
default via 9.37.144.1 dev tr0
I expect that the rules I inserted are being ignored (and hence the tables
the rules point to are ignored as well). This means that the primary routing
table is being used and seems to explain why things are going out tr0 by
default.
Am I off base on what I'm seeing going on? I think I also have ECMP (Equal
Cost MultiPath) compiled into my kernel, is that affecting things as well?
Again, thanks for the help.
-- Scott
On Sat, Mar 17, 2001 at 12:45:43PM +0100, bert hubert wrote:
> On Fri, Mar 16, 2001 at 09:06:18PM -0500, Scott Russell wrote:
>
> > I'm using DNS to do cheap and easy round robin style connections to the box.
> >
> > [scottrus@linux scottrus]$ host ftp3.linux.ibm.com
> > ftp3.linux.ibm.com has address 9.37.145.124
> > ftp3.linux.ibm.com has address 9.37.145.120
> > ftp3.linux.ibm.com has address 9.37.145.127
>
> DNS is wildly underestimated as a loadbalancing/distribution device. It
> works very well, especially if you set your TTL pretty low.
>
> > 1) Incoming requests are responded to on the same interface they came in on.
> > For example an ftp connection coming in on tr1 has all TX / RX packets stick
> > to tr1.
>
> This is possible, I think.
>
> > As you can see I've tried simply adding default routes for each token ring
> > interface and I think this is a step in the right direction but I'm missing
> > something.
>
> Add source routing, as described in
> http://ds9a.nl/2.4Routing/HOWTO//cvs/2.4routing/output/2.4routing-4.html#ss4.1
>
> Route packets with a source of 9.37.145.124 to trX, .120 to trY and 127 to
> trZ.
>
> > Any help would be great. Examples would be better of course. Thanks much!
>
> # ip rule add from 9.37.145.124 table 124
> # ip rule add from 9.37.145.120 table 120
> # ip rule add from 9.37.145.127 table 127
>
> # ip route add default via 9.37.145.1 dev tr0 table 124
> # ip route add default via 9.37.145.1 dev tr1 table 120
> # ip route add default via 9.37.145.1 dev tr2 table 127
> # ip route flush cache
>
> Something like that should work. I messed up the ip addresses I think, but
> hey :-)
>
> Regards,
>
> bert
>
> --
> http://www.PowerDNS.com Versatile DNS Services
> Trilab The Technology People
> 'SYN! .. SYN|ACK! .. ACK!' - the mating call of the internet
>
> _______________________________________________
> LARTC mailing list / LARTC@mailman.ds9a.nl
> http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://ds9a.nl/2.4Routing/
--
Regards,
Scott Russell (scottrus@raleigh.ibm.com)
Linux Technology Center, System Admin, RHCE.
T/L 441-9289 / External 919-543-9289
http://bzimage.raleigh.ibm.com/webcam
_______________________________________________
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-03-18 22:05 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-03-17 2:06 [LARTC] Load balancing on multiple NICs with iproute Scott Russell
2001-03-17 11:45 ` bert hubert
2001-03-18 22:05 ` Scott Russell [this message]
2001-03-19 12:40 ` Arthur van Leeuwen
2001-03-20 4:43 ` Scott Russell
2001-03-20 9:24 ` Arthur van Leeuwen
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-98495315511609@msgid-missing \
--to=scottrus@raleigh.ibm.com \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.