Dear all,

I try to configure a transparent web proxy through squid 3, here is
the network topology

Users -> Switch -> Internet

Users means a couple of PCs, all of them have public IP, all of them
are connected to a switch. One PC among them is designed to be a proxy
machine. The switch is programmable, thus for the TCP packets with
destination address 80, it can be re-directed to the proxy machine.
For other packets, it will be forwarded further to the Internet. The
programmable switch has been tested and works well.

The proxy machine has installed squid3, the listening port is 3128,
and we have configure 'http_port 3128 transparent' in squid.conf . One
problem is this machine has only one NIC (eth0), thus we can not use
the method proposed in
http://freecode.com/articles/configuring-a-transparent-proxywebcache-in-a-bridge-using-squid-and-ebtables
(using a bridge)

I have tried several iptable settings, such as

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT
--to-port 3128
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to
xx.yy.zz.ii:3128

Neither of them works.

Use 'tcpdump -i eth0' on the proxy machine, we can see the first
packet of every HTTP request, forwarded by the switch, but nothing
else.

Could somebody provide me some hints on this? Thanks a lot!

Best regards,
Alex Chan

Reply via email to