I want to use a local transparent proxy to have a single place to enter the password to an office proxy. Basically, all the TCP packets sent to port 80 except the ones sent to specific subnet should be forwarded to local Squid.
Squid works fine in regular mode but when I switch it to transparent and disable proxy in browser, the browser can't connect to remote hosts. ipfw
works, checked by adding deny ip from any to any
rule. The debugging is hard because its being Mac OS the logs are located god knows where.
Squid
$ squid -v
Squid Cache: Version 3.2.9
configure options: '--disable-debug' '--disable-dependency-tracking' '--prefix=/usr/local/Cellar/squid/3.2.9' '--localstatedir=/usr/local/var' '--enable-ssl' '--enable-ssl-crtd' '--disable-eui' '--enable-ipfw-transparent' 'CC=cc' 'CXX=c++' 'PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig:/usr/local/Library/ENV/pkgconfig/10.8'
Rules
$ sudo ipfw list
00100 fwd 127.0.0.1,3128 tcp from me to any dst-port 80
65535 allow ip from any to any
Relevant part from squid.conf
http_access allow localhost manager
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localnet
http_access allow localhost
http_access deny all
http_port 3128 transparent
cache_peer proxy.office.com parent 8080 0 login=user:password
never_direct allow all