[squid-users] wiki ConfigExamples/Intercept/LinuxDnat does not work

From: Harald Dunkel <harald.dunkel_at_aixigo.de>
Date: Wed, 16 Feb 2011 16:29:55 +0100

Hi folks,

I would like to route HTTP traffic from my OpenBSD gateway
to a dedicated host running squid 3.1 on Linux for interception.
Here is a picture:

        /|\ 87.189.95.69
         |
         |
     em0 |
+--------+--------+
| OpenBSD Gateway |
+--------+--------+
     em1 |172.99.96.4
         |
         |172.99.96.50
         | +-------------------+
         +-------| Linux Squid Proxy |
         | +-------------------+
         |
         | +-------------+
         +-------| HTTP Client |
   172.99.96.156 +-------------+

The iptables code on

http://wiki.squid-cache.org/ConfigExamples/Intercept/LinuxDnat

was very helpful for small files, but for a large download
on a slow line the http client prints "connection reset by
peer" after 30+ secs, and terminates.

The state information on the OpenBSD gateway shows

em1 tcp 87.189.95.69:80 <- 172.99.96.156:45848 CLOSED:SYN_SENT
em1 tcp 87.189.95.69:80 <- 172.99.96.50:51229 ESTABLISHED:ESTABLISHED
em0 tcp 80.149.209.55:64755 (172.99.96.50:51229) -> 87.189.95.69:80 ESTABLISHED:ESTABLISHED

immediately after the connection has been opened.
The line with "CLOSED:SYN_SENT" goes away when the
client gets the ECONNRESET.

30 seconds is the default timeout for removing entries
from OpenBSD's statefull inspection table. Is it possible
that the squid proxy did not complete the TCP handshake
via the gateway, but by using the direct connection to the
client?

Any helpful comment would be highly appreciated.

Regards

Harri
Received on Wed Feb 16 2011 - 15:30:00 MST

This archive was generated by hypermail 2.2.0 : Wed Feb 16 2011 - 12:00:03 MST