From: Andrey Savochkin <saw@saw.sw.com.sg>
To: "Nadav Har'El" <nyh@math.technion.ac.il>
Cc: linux-kernel@vger.kernel.org
Subject: Re: Transparent proxy support in 2.4 - revisited
Date: Mon, 3 Sep 2001 14:44:42 +0400 [thread overview]
Message-ID: <20010903144442.A32332@castle.nmd.msu.ru> (raw)
In-Reply-To: <20010607170825.A18760@leeor.math.technion.ac.il> <20010608014443.A28407@saw.sw.com.sg> <20010903131240.A9791@leeor.math.technion.ac.il>
In-Reply-To: <20010903131240.A9791@leeor.math.technion.ac.il>; from "Nadav Har'El" on Mon, Sep 03, 2001 at 01:12:40PM
Hi,
On Mon, Sep 03, 2001 at 01:12:40PM +0300, Nadav Har'El wrote:
> A few months ago, I asked on this list why the transparent proxy feature
> (CONFIG_IP_TRANSPARENT_PROXY) that was supported in Linux 2.2 is no longer
> supported in Linux 2.4:
>
[snip]
> Andrey Savochkin wrote a useful reply, on how to make the connect work():
>
> > To make a custom kernel where you can use non-local addresses more freely,
> > find source address checks in ip_route_output_slow() and get rid of all of
> > them except considering
> > MULTICAST(saddr) || BADCLASS(saddr) || ZERONET(saddr) ||
> > saddr == htonl(INADDR_BROADCAST)
> > as invalid.
>
> I did that, and indeed now connect() works, and sends out (when considering
> TCP) the appropriate SYN packet.
>
> Unfortunately, that's not enough. When the return SYN-ACK packet carrying a
> non-local destination address is received (in practice, the transparent
> proxy machine is acting as a default gateway to the other machine), this
> packet is either ignored or forwarded out (depending on ip_forward), but is
> never accepted as a local packet and transfered to the appropriate socket
> as it should.
Right.
In 2.2 kernel you also needed to configure which incoming packets you want to
handle locally.
If you want to handle locally all packets destined to a specific IP address,
just add local route.
If you want some complex matching rules, check iptables, there was something
about "redirects" there. Alternatively, you may set up policy routing, but
it'll be considerably more difficult.
You seemed to start to solve your problems from the wrong end.
First of all, decide how to handle incoming packets.
Then consider outgoing.
Andrey
next prev parent reply other threads:[~2001-09-03 10:37 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-06-07 14:08 Bug in nonlocal-bind (transparent proxy)? Nadav Har'El
2001-06-08 5:44 ` Andrey Savochkin
2001-06-08 8:02 ` Nadav Har'El
2001-06-08 8:25 ` David S. Miller
2001-09-03 10:12 ` Transparent proxy support in 2.4 - revisited Nadav Har'El
2001-09-03 10:44 ` Andrey Savochkin [this message]
2001-09-03 13:16 ` Nadav Har'El
2001-09-03 13:55 ` Andrey Savochkin
2001-09-03 16:43 ` Julio Sanchez Fernandez
2001-09-03 20:07 ` Nerijus Baliunas
2001-09-03 22:50 ` Alexey Kuznetsov
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=20010903144442.A32332@castle.nmd.msu.ru \
--to=saw@saw.sw.com.sg \
--cc=linux-kernel@vger.kernel.org \
--cc=nyh@math.technion.ac.il \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®