我想使用本地透明代理,以便有一个输入办公室代理密码的地方。基本上,发送到端口 80 的所有 TCP 数据包(发送到特定子网的数据包除外)都应转发到本地 Squid。
Squid 在常规模式下工作正常,但当我将其切换到透明模式并在浏览器中禁用代理时,浏览器无法连接到远程主机。ipfw
通过添加规则检查,可以正常工作deny ip from any to any
。调试很困难,因为它是 Mac OS,日志位于天知道的位置。
乌贼
$ 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'
规则
$ 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
相关部分来自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