Eu quero usar um proxy transparente local para ter um único local para inserir a senha em um proxy de escritório. Basicamente, todos os pacotes TCP enviados para a porta 80, exceto os enviados para uma sub-rede específica, devem ser encaminhados para o Squid local.
O Squid funciona bem no modo normal, mas quando eu o alterno para transparente e desabilito o proxy no navegador, o navegador não pode se conectar a hosts remotos. ipfw
funciona, verificado adicionando a regra deny ip from any to any
. A depuração é difícil porque, sendo o Mac OS, os logs estão localizados onde Deus sabe onde.
Lula
$ 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'
Regras
$ 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
Parte relevante de 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