From: Pascal Hambourg <pascal.mail@plouf.fr.eu.org>
To: netfilter@lists.netfilter.org
Subject: Re: Transparent proxy setup with apache on the nat gateway
Date: Mon, 05 Jun 2006 13:10:43 +0200 [thread overview]
Message-ID: <44841133.90004@plouf.fr.eu.org> (raw)
In-Reply-To: <1149500883.6397.9.camel@rousalka.dyndns.org>
Hello,
Nicolas Mailhot a écrit :
> Le lundi 05 juin 2006 à 10:40 +0200, Sietse van Zanen a écrit :
>
>>I think the error is in your first two rules for the PREROUTING chain
>>in the NAT table:
>>
>>> #-A PREROUTING -p tcp -m multiport --dports
>>> http,https,squid,svn,http-alt,webcache -j REDIRECT --to-port 8081
>>> #-A PREROUTING -p tcp -m multiport --dports
>>> http,https,squid,svn,http-alt,webcache -j DNAT --to 192.168.1.1:8081
>>
>>All WEB traffic will only hit the first rule and never the second. So
>>the destination IP address doen't get changed. A packet for 1.2.3.4 on
>>port 80 will be redirected to 1.2.3.4 port 8081.
This is not true. REDIRECT replaces the destination address with the
address of the input interface. So when the input interface has address
192.168.1.1 both rules would produce the same result.
>>I think you should try something like this.
>>Have apache proxy listen on localhost (127.0.0.1) port 8081
>>Iptables -t NAT -A PREROUTING -p tcp -i eth0(internal nic) -m multiport
>>--dports http,https,squid,svn,http-alt,webcache -j REDIRECT --to 127.0.0.1:8081
No, this won't work. The IP stack refuses packets with a loopback
destination address received on a non loopback interface.
> If I use REDIRECT the to is interpreted like --to-port and I see the LAN
> system hammer the gateway 127 port :(
Looks like iptables command parsing could be improved. ;-)
> If I use
> -A PREROUTING -i eth1 -p tcp -m multiport --dports
> http,https,squid,svn,http-alt,webcache -j REDIRECT --to-port 8081
>
> the requests are redirected to port 8081 of the lan interface IP
> (192.168.1.1, I can live with that) but the result is abysmal :
> apache logs
>
> "GET / HTTP/1.1" requests instead of
> "GET http://www.slashdot.org/ HTTP/1.1" requests
>
> so all sites are served as if the browser asked for the local root
> (empty) and the browser only receives blank pages
The question is : are you sure that Apache can act as a _transparent_
proxy, like Squid ?
*Disclaimer : I don't know Apache much*
From a quick search it does not seem that mod_proxy can do transparent
proxying. There is a mod_tproxy that is designed to do it, but it does
not seem to be part of the standard Apache distribution.
HTH.
next prev parent reply other threads:[~2006-06-05 11:10 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-06-05 8:40 Transparent proxy setup with apache on the nat gateway Sietse van Zanen
2006-06-05 9:48 ` Nicolas Mailhot
2006-06-05 11:10 ` Pascal Hambourg [this message]
2006-06-05 11:21 ` Nicolas Mailhot
2006-06-05 11:31 ` Pascal Hambourg
2006-06-07 3:58 ` R. DuFresne
2006-06-05 11:24 ` Pascal Hambourg
2006-06-07 8:42 ` Benny Amorsen
-- strict thread matches above, loose matches on Subject: below --
2006-06-05 11:35 Sietse van Zanen
2006-06-05 10:51 Sietse van Zanen
2006-06-04 20:10 Nicolas Mailhot
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=44841133.90004@plouf.fr.eu.org \
--to=pascal.mail@plouf.fr.eu.org \
--cc=netfilter@lists.netfilter.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.