All of lore.kernel.org
 help / color / mirror / Atom feed
From: richard lucassen <mailinglists@lucassen.org>
To: lartc@vger.kernel.org
Subject: Re: [LARTC] source routing does not work with extra ip addresses
Date: Sat, 08 Apr 2006 17:33:30 +0000	[thread overview]
Message-ID: <20060408193330.69ad42fc.mailinglists@lucassen.org> (raw)
In-Reply-To: <20060408123017.4a108613.mailinglists@lucassen.org>

On Sat, 8 Apr 2006 11:07:00 -0500
"Martin A. Brown" <martin-lartc@wonderfrog.net> wrote:

>  : Now I put a server behind the Linux box. I want the server to be 
>  : reachable on an /extra/ IP in the routed subnet of ISP2.
> 
> Does server have one or two IP addresses?  Best solution?  Use two 
> IP addresses on server.

Hmmm, one for ISP1 and one for ISP2? That would be a nice idea to
workaround this problem :-)
 
>  : When pinging 1.2.3.3, the packets get in through eth1 (ok), but the
>  : replies are following the default route through eth0 (wrong)
> 
> The problem is routing.  Return packets from your server are handled 
> in the main routing table.  There isn't yet an RPDB entry directing 
> traffic from 10.0.0.2 to use table_eth1.  Your RPDB entry looks like 
> this:
> 
>  : ip rule add from 1.2.3.3 lookup table_eth1
> 
> Try changing this (or adding another rule): 
> 
>   ip rule add from 10.0.0.2 lookup table_eth1

Nope. I already tried that, but no way.

> instead.  Now, your server should have Internet access strictly on 
> the link handled by ISP2.

No. The packets are returned through ISP1.
 
> If you would like to handle inbound traffic on both links, then add 
> a secondary IP address to your server, and enter another DNAT rule 
> which specifies another NAT mapping for the secondary IP.

That's a very nice idea, but packets keep on entering the wrong table
(default), I think it's a bug somewhere in the kernel.

It only works when the ip is direct on the external interface of the
Linuxbox, but as soon as 1 tcp port is translated, the return packets
for that translated port get into the wrong (default) table.

Even when using fw marks it doesn't work. I mark all packets coming
from the servers second ip address with '1' and a simple

ip ru a fwmark 1 table t_eth1

should do the job. But no way. Packets keep on getting out through ISP1
(t_eth0).

This is the real test:

10.0.2.1 is the server, 10.0.2.3 is its second ip.
10.0.2.1 = external 10.1.3.100
10.0.2.3 = external 192.168.201.3

# ip r s
192.168.201.3 via 10.0.2.3 dev eth2 
10.1.3.100 via 10.0.2.1 dev eth2 
10.0.2.0/24 dev eth2  proto kernel  scope link  src 10.0.2.2 
192.168.201.0/24 dev eth1  proto kernel  scope link  src 192.168.201.2 
10.1.3.0/24 dev eth0  proto kernel  scope link  src 10.1.3.101 
default via 10.1.3.1 dev eth0


# ip ru s
0:      from all lookup local 
32762:  from all fwmark 0x1 lookup t_eth1 
32764:  from 192.168.201.2 lookup t_eth1 
32765:  from 10.1.3.101 lookup t_eth0 
32766:  from all lookup main 
32767:  from all lookup default


# ip r s t t_eth0
10.0.2.0/24 dev eth2  scope link 
10.1.3.0/24 dev eth0  scope link  src 10.1.3.101 
127.0.0.0/8 dev lo  scope link 
default via 10.1.3.1 dev eth0 



# ip r s t t_eth1
10.0.2.0/24 dev eth2  scope link 
192.168.201.0/24 dev eth1  scope link  src 192.168.201.2 
127.0.0.0/8 dev lo  scope link 
default via 192.168.201.1 dev eth1

Any hints are welcome...

btw: iproute2-ss06011, kernel 2.6.16.2, iptables 1.3.5

R.

-- 
___________________________________________________________________
It is better to remain silent and be thought a fool, than to speak
aloud and remove all doubt.

+------------------------------------------------------------------+
| Richard Lucassen, Utrecht                                        |
| Public key and email address:                                    |
| http://www.lucassen.org/mail-pubkey.html                         |
+------------------------------------------------------------------+
-- 
___________________________________________________________________
It is better to remain silent and be thought a fool, than to speak
aloud and remove all doubt.

+------------------------------------------------------------------+
| Richard Lucassen, Utrecht                                        |
| Public key and email address:                                    |
| http://www.lucassen.org/mail-pubkey.html                         |
+------------------------------------------------------------------+
_______________________________________________
LARTC mailing list
LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc

  parent reply	other threads:[~2006-04-08 17:33 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-04-08 10:30 [LARTC] source routing does not work with extra ip addresses richard lucassen
2006-04-08 16:07 ` Martin A. Brown
2006-04-08 17:33 ` richard lucassen [this message]
2006-04-08 20:31 ` Martin A. Brown

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=20060408193330.69ad42fc.mailinglists@lucassen.org \
    --to=mailinglists@lucassen.org \
    --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.