I have an application that does not support proxy but I need to send it's traffic to a local proxy. I want to set IPTABLES to transparently redirect traffic to a given IP and PORT (80) to be intercepted and redirected to the local proxy. Unfortunately all examples I've found assume that the trasnsparent proxy is set in a GW doing NATTING. Is it possible to redirect the traffic to a transparent proxy (SQUID) without having to NAT? I'd appreciate an example


No, it's not possible. You have to use nat if you wanna redirect traffic:

 # iptables -A OUTPUT -t nat -p tcp --dport 80 -j DNAT --to

Yes, it is possible. You can use policy routing in Linux machine to redirect traffic to squid proxy as shown in this page.

To summarize the steps:

  1. Setup mangle rule in iptables to mark traffic to be redirected.
  2. Setup another routing table with default route towards squid machine.
  3. Setup an IP rule to use the new defined routing table when packet is marked according to value used in mangle rule.
  4. Make sure iptables allow traffic from clients IPs to squid machine.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.