From: Philip Craig <philipc@snapgear.com>
To: Stephen Frost <sfrost@snowman.net>
Cc: Netfilter Development Mailinglist <netfilter-devel@lists.netfilter.org>
Subject: Re: Netfilter+IPsec patches
Date: Wed, 18 Aug 2004 13:28:56 +1000 [thread overview]
Message-ID: <4122CCF8.2060203@snapgear.com> (raw)
In-Reply-To: <20040818024025.GC21419@ns.snowman.net>
Stephen Frost wrote:
> I've run into a rather annoying problem. I'm not sure if it's due to
> the IPSEC patches, but I have some suspicion that it is. Basically the
> story goes like this:
This doesn't sound related to the IPSec patches. Or did it previously
work without the patches?
> I've got a bunch of network cards in my gateway, in this example we're
> concerned w/ 3 of them- two connections to the internet, one internal.
> For this to work I have to have source-based routing working (which it
> used to, back when I was using 2.4). It appears to still work fine for
> connections which are *not* NAT'd. For connections which are NAT'd it
> goes like this:
>
> eth0 - internet1 (has the 'default' route going out it)
> eth1 - internet2 (has a seperate route table w/ a default route)
> eth2 - internal
>
> SYN comes in on eth0, NAT'd, goes out eth2, SYN+ACK comes back, that
> gets NAT'd and goes out eth0. All's happy there.
So a packet with an internal source and a destination on the internet
is routed out eth0. (Note that routing is prior to SNAT.)
> SYN comes in on eth1, NAT'd, goes out eth2, SYN+ACK comes back, that
> gets NAT'd to the eth1 address but then gets sent out *eth0* instead.
And again a packet with an internal source and a destination on the
internet is still routed out eth0. Nothing unexpected here, although
it isn't what you want.
> pings (which aren't NAT'd) to the eth1 address work fine. So do
> traceroute's (again, not NAT'd). If NAT'ing is turned off and the
> machine accepts connections directly then TCP connections also work
> fine.
These are all connections to the machine's eth1 address, not internal
addresses? So packets with an eth1 source and a destination on the
internet are routed out eth1. But this is a different source from
above, so you can't really compare them.
> Policy-based routing is in effect, and is working for things which are
> not NAT'd. Things which are NAT'd appear to be going out the main
> table's default route though instead of being properly routed.
I assume that currently you are only using the separate routing table
if the source address is eth1. You need to modify this to also use
the separate routing table for replies to packets that came in eth1.
You can do this using CONNMARK. Set the connmark for packets coming
in eth1, and restore it for packets coming in eth0, then add an ip rule
to use the separate routing table for that fwmark.
Alternatively, you could look at using the ROUTE target instead of
using policy based routing. I've never tried it though.
--
Philip Craig - SnapGear, A CyberGuard Company - http://www.SnapGear.com
next prev parent reply other threads:[~2004-08-18 3:28 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-05-26 3:35 Netfilter+IPsec patches Alexander Samad
2004-05-27 0:56 ` Patrick McHardy
2004-05-27 4:46 ` Alexander Samad
2004-08-18 2:40 ` Stephen Frost
2004-08-18 2:48 ` Stephen Frost
2004-08-21 15:30 ` Patrick McHardy
2004-08-18 3:28 ` Philip Craig [this message]
2004-08-18 3:45 ` Stephen Frost
2004-08-18 4:05 ` Alexander Samad
2004-08-18 4:31 ` Philip Craig
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=4122CCF8.2060203@snapgear.com \
--to=philipc@snapgear.com \
--cc=netfilter-devel@lists.netfilter.org \
--cc=sfrost@snowman.net \
/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.