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 127.0.0.1:3128
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:
- Setup mangle rule in iptables to mark traffic to be redirected.
- Setup another routing table with default route towards squid machine.
- Setup an IP rule to use the new defined routing table when packet is marked according to value used in mangle rule.
- Make sure iptables allow traffic from clients IPs to squid machine.