From mboxrd@z Thu Jan 1 00:00:00 1970 From: Arthur van Leeuwen Date: Thu, 28 Feb 2002 12:31:36 +0000 Subject: Re: [LARTC] Newbie question Message-Id: List-Id: References: In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: lartc@vger.kernel.org On Thu, 28 Feb 2002, Ard van Breemen wrote: > On Wed, Feb 27, 2002 at 04:29:23PM +0530, suresh wrote: > > In eth0 172.16.1.1 and eth0:1 192.168.1.1 > > in eth1 are public ips of isps as eth1 a.b.c.d and eth1:0 w.x..y.z > > echo 200 isp1 >> /etc/iproute2/rt_tables > > ip rule ls > > 0: from all lookup local > > 32765: from 172.16.1.0/24 lookup isp1 > > 32766: from all lookup main > > 32767: from all lookup default > > ip route add default via a.b.c.d dev eth1 table isp1 > > ip route flush cache > > Its work fine when request comes from 172.16.1.0 netwok > > When i add ip route add default via w.x.y.z dev eth1 > > to forward request from another lan network it works fine > > but req from 172.16.1.0 does not work > > if i remove ip route del default via w.x.y.z dev eth1 > > its work well. > > Did i leaveout anything in configuration? > Yep: by adding the rule: > ip rule add from 172.16.1.0/24 table isp1 > everything *WILL* go to table isp1. Bzt. Every packet with a source address matching 172.16.1.0 will have table isp1 searched first. If no route comes up for it the packet will still be routed according to table main. > In my experience everything even local traffic that matches the rule > will go to the isp1 table, and hence will be routed to the gateway. Local traffic should not be routed over this host anyway. The only thing that will break is traffic from this host to the local network. > Use a normal routing table for isp1: > For instance: > ip route add 172.16.1.0/24 dev {right device} scope link > to make sure that you can still route back to 172.16.1.0... This is good advice. Very good advice. It makes for a much clearer configuration. > Anyway: tcpdumping all of your interfaces will make you clear what is > actually happenning. Not always. Besides, the information you need is in the routing tables... why not look at that instead and try to figure out what should happen? (Ofcourse, this will not show programs sneakily changing the TOS of a connection... but still... the information can be found in the routing tables, if you count the cache as a routing table as well... :)) > Thinking about it: it only contains a default route, which means, it > only knows that it should route to that default gateway. > The default is I guess some sort of end point in a routing table. Any route is an endpoint. Once a route has been found, the routing algorithm will quit searching, and just route out that route. This has interesting consequences, as the first thing searched is always the cache... and you can even manipulate *that* by hand. >:) 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://lartc.org/