ipfw fwd for transparent proxy (squid) - but, not on loopback

Nathan Vidican nathan at vidican.com
Mon Sep 13 16:15:27 UTC 2010


Hey all - I've been trying to implement a transparent proxy for all outgoing
traffic to port 80 to forward to a proxy server. The problem is that the
proxy itself resides on a different host than the forward rule does. Has
anyone done something similar? Ideally I'd like to implement with ipfw, but
not opposed to other suggestions?

Internet -> firewall/gateway -> proxy server -> LAN/clients

Where the firewall/gateway is the central router for multiple networks,
including the public subnet which 'proxy server' gets it's external IP for.
So ideally I would like something along the lines of this (assuming the
proxy server is running on 10.1.1.12:3128):

ipfw add 600 fwd 10.1.1.12,3128 tcp from 10.1.2.0/24 to any 80 via
10.1.2.254
ipfw add 600 fwd 10.1.1.12,3128 tcp from 10.1.3.0/24 to any 80 via
10.1.3.254
ipfw add 600 fwd 10.1.1.12,3128 tcp from 10.1.1.0/26 to any 80 via 10.1.1.1

I have tried the identical rules to above using 127.0.0.1,3128 - of course
starting up squid on the gateway machine too... the problem is that machine
simply doesn't have the resources and I'd prefer to run squid on a different
host.

Any suggestions or referrals to RTFM somewhere would be greatly appreciated.
Thanks.

-- 
Nathan Vidican
nathan at vidican.com


More information about the freebsd-questions mailing list