<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman",serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
span.EmailStyle17
{mso-style-type:personal-reply;
font-family:"Calibri",sans-serif;
color:#1F497D;}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri",sans-serif;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Hello Richard,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">The NATting needs to happen on the gateway – here is more info
<a href="https://squidproxy.wordpress.com/2014/12/19/squid-3-2-mythbusting-nat/">
https://squidproxy.wordpress.com/2014/12/19/squid-3-2-mythbusting-nat/</a><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Best regards,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Rafael<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> squid-users [mailto:squid-users-bounces@lists.squid-cache.org]
<b>On Behalf Of </b>Richard<br>
<b>Sent:</b> Monday, December 28, 2015 12:51 PM<br>
<b>To:</b> squid-users@lists.squid-cache.org<br>
<b>Subject:</b> [squid-users] Squid as a proxy (Forwarding loop detected)<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">Hi,<o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">This question has been asked many times before, but unfortunately the ones I checked did not seem to have a solution for me.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">I am trying to setup squid as transparent proxy, but I keep getting the error Forwarding loop detected.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">I have the following setup:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Client [172.24.30.11] <-> Router [172.24.30.253 && 172.24.10.253 ] <-> Squid Server [172.24.10.13]<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">The configuration for squid is as following:<o:p></o:p></p>
</div>
<div>
<div>
<p class="MsoNormal">http_port 8080<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">http_port 3129 intercept<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">http_access allow all<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">The iptables rule on my router is as follow:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">iptables -t nat -I PREROUTING -s 172.24.30.11 -p tcp --dport 80 -j DNAT --to
<a href="http://172.24.10.13:3129">172.24.10.13:3129</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Now when the client tries to download something I get the following logs:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">---- access.log ----<o:p></o:p></p>
</div>
<div>
<div>
<p class="MsoNormal">1451303118.327 0 172.24.10.13 TCP_MISS/403 3751 GET <a href="http://74.125.136.94/">
http://74.125.136.94/</a> - HIER_NONE/- text/html<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">1451303118.327 0 172.24.30.11 TCP_MISS/403 3915 GET <a href="http://74.125.136.94/">
http://74.125.136.94/</a> - HIER_DIRECT/<a href="http://172.24.10.13">172.24.10.13</a> text/html<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">---- cache.log ----<o:p></o:p></p>
</div>
<div>
<div>
<p class="MsoNormal">2015/12/28 12:45:14 kid1| Starting Squid Cache version 3.3.8 for x86_64-redhat-linux-gnu...<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">2015/12/28 12:45:14 kid1| Process ID 776<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">2015/12/28 12:45:14 kid1| Process Roles: worker<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">2015/12/28 12:45:14 kid1| With 16384 file descriptors available<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">2015/12/28 12:45:14 kid1| Initializing IP Cache...<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">2015/12/28 12:45:14 kid1| DNS Socket created at [::], FD 7<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">2015/12/28 12:45:14 kid1| DNS Socket created at 0.0.0.0, FD 8<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">2015/12/28 12:45:14 kid1| Adding domain <a href="http://int-mgt.bitcube.nl">
int-mgt.bitcube.nl</a> from /etc/resolv.conf<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">2015/12/28 12:45:14 kid1| Adding domain <a href="http://int-prd.bitcube.nl">
int-prd.bitcube.nl</a> from /etc/resolv.conf<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">2015/12/28 12:45:14 kid1| Adding domain <a href="http://dmz-prd.bitcube.nl">
dmz-prd.bitcube.nl</a> from /etc/resolv.conf<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">2015/12/28 12:45:14 kid1| Adding nameserver 172.24.10.253 from /etc/resolv.conf<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">2015/12/28 12:45:14 kid1| Logfile: opening log daemon:/var/log/squid/access.log<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">2015/12/28 12:45:14 kid1| Logfile Daemon: opening log /var/log/squid/access.log<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">2015/12/28 12:45:14 kid1| Local cache digest enabled; rebuild/rewrite every 3600/3600 sec<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">2015/12/28 12:45:14 kid1| Store logging disabled<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">2015/12/28 12:45:14 kid1| Swap maxSize 0 + 262144 KB, estimated 20164 objects<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">2015/12/28 12:45:14 kid1| Target number of buckets: 1008<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">2015/12/28 12:45:14 kid1| Using 8192 Store buckets<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">2015/12/28 12:45:14 kid1| Max Mem size: 262144 KB<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">2015/12/28 12:45:14 kid1| Max Swap size: 0 KB<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">2015/12/28 12:45:14 kid1| Using Least Load store dir selection<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">2015/12/28 12:45:14 kid1| Current Directory is /<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">2015/12/28 12:45:14 kid1| Loaded Icons.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">2015/12/28 12:45:14 kid1| HTCP Disabled.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">2015/12/28 12:45:14 kid1| Squid plugin modules loaded: 0<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">2015/12/28 12:45:14 kid1| Adaptation support is off.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">2015/12/28 12:45:14 kid1| Accepting HTTP Socket connections at local=[::]:8080 remote=[::] FD 11 flags=9<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">2015/12/28 12:45:14 kid1| Accepting NAT intercepted HTTP Socket connections at local=<a href="http://0.0.0.0:3129">0.0.0.0:3129</a> remote=[::] FD 12 flags=41<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">2015/12/28 12:45:15 kid1| storeLateRelease: released 0 objects<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">2015/12/28 12:45:18 kid1| WARNING: Forwarding loop detected for:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">GET / HTTP/1.1<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">User-Agent: curl/7.29.0<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Host: 74.125.136.94<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Accept: */*<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Via: 1.1 srv-proxy01.xxxxxxxxxxxx (squid/3.3.8)<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">X-Forwarded-For: 172.24.30.11<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Cache-Control: max-age=259200<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Connection: keep-alive<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">If I configure the client to use a proxy (on port 8080) it all works fine.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">I have a feeling i'm forgetting something simple :(<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Hopefully someone can point me into the right direction?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Thanks !<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Richard<o:p></o:p></p>
</div>
</div>
</div>
</body>
</html>