我试图做一个鱿鱼代理服务器作为一个透明的代理服务器,即时通讯面临一些问题,我无法找出原因。 如果你说(例如:1个vlan用于诸如平板电脑和启动电话的外部/客人设备,其他用于诸如平板电脑和智能手机的内部设备,以及最后一个用于“普通”桌面和networking打印机)。
vlan中的这些访问由包括互联网访问的Checkpoint防火墙控制,在那里我想要使用透明代理的VLAN使用端口映射选项将所有端口80stream量从该VLANredirect到鱿鱼服务器,这样我就可以pipe理与鱿鱼networking访问。 我画了一个简单的图,我解释得不好(对不起,我的主要语言不是英文..) 
我正在使用安装有Debian 7.6的1个NIC的虚拟机,并使用以下开关从源代码编译squid 3.4.6:
#!/bin/sh './configure' \ '--build=x86_64-linux-gnu' \ '--srcdir=.' \ '--prefix=/usr' \ '--includedir=/usr/include' \ '--localstatedir=/var' \ '--mandir=/usr/share/man' \ '--infodir=/usr/share/info' \ '--libexecdir=/usr/lib/squid' \ '--datadir=/usr/share/squid' \ '--sysconfdir=/etc/squid' \ '--localstatedir=/var' \ '--bindir=/usr/sbin' \ '--enable-inline' \ '--enable-ssl' \ '--enable-ssl-crtd' \ '--enable-icap-client' \ '--enable-follow-x-forwarded-for' \ '--enable-removal-policies=heap,lru' \ '--enable-delay-pools' \ '--enable-cache-digests' \ '--enable-storeio=ufs,aufs,diskd,rock' \ '--enable-disk-io' \ '--enable-linux-netfilter' \ '--enable-ipf-transparent' \ '--disable-eui' \ '--disable-snmp' \ '--disable-wccp' \ '--disable-wccpv2' \ '--disable-http-violations' \ '--disable-translation' \ '--disable-auto-locale' \ '--disable-htcp' \ '--disable-internal-dns' \ '--with-default-user=proxy' \ '--with-logdir=/var/log/squid/' \ '--with-pidfile=/var/run/squid.pid' \ '--with-filedescriptors=65536' \ '--with-cppunit-basedir=/usr' \ '--with-large-files' \ "$@"
我做了一个小的鱿鱼configurationtesting包含以下内容
http_port 10.5.0.86:3128 http_port 10.5.0.86:8080 intercept visible_hostname proxyd.domain.com dns_nameservers 8.8.8.8 8.8.4.4 always_direct allow all access_log stdio:/var/log/squid/access.log cache_log /var/log/squid/cache.log coredump_dir /var/cache/squid shutdown_lifetime 1 second acl lan src 10.1.0.3/24 acl pc src 10.2.0.3 http_access allow lan http_access allow pc http_access deny all
我已经通过执行以下操作在Linux中启用了IP Foward选项:
echo "1" > /proc/sys/net/ipv4/ip_forward
最后,我使用IPTABLES规则从鱿鱼维基redirect源: http : //wiki.squid-cache.org/ConfigExamples/Intercept/LinuxRedirect :
# Generated by iptables-save v1.4.14 on Fri Aug 29 16:43:22 2014 *mangle :PREROUTING ACCEPT [2979:777594] :INPUT ACCEPT [2979:777594] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [2715:858098] :POSTROUTING ACCEPT [2715:858098] -A PREROUTING -p tcp -m tcp --dport 8080 -j DROP COMMIT # Completed on Fri Aug 29 16:43:22 2014 # Generated by iptables-save v1.4.14 on Fri Aug 29 16:43:22 2014 *nat :PREROUTING ACCEPT [205:16651] :INPUT ACCEPT [211:17011] :OUTPUT ACCEPT [161:9775] :POSTROUTING ACCEPT [0:0] -A PREROUTING -s 10.5.0.86/32 -p tcp -m tcp --dport 80 -j ACCEPT -A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080 -A POSTROUTING -j MASQUERADE COMMIT # Completed on Fri Aug 29 16:43:22 2014
我试图从端口8080上的任何浏览器(所有80个stream量被从该特定的VLANredirect到鱿鱼服务器)与浏览器拦截模式连接时,我得到的问题是从鱿鱼说:“连接到10.5.0.86失败系统返回(111)连接拒绝“,并在鱿鱼access.log我得到:
32 10.1.0.2 TCP_MISS/503 3942 GET http://www.serverfault.com/ - ORIGINAL_DST/10.5.0.86 text/html 166 10.1.0.2 TCP_MISS/503 3976 GET http://www.squid-cache.org/Artwork/SN.png - ORIGINAL_DST/10.5.0.86 text/html 0 10.1.0.2 TCP_MISS/503 3888 GET http://www.serverfault.com/favicon.ico - ORIGINAL_DST/10.5.0.86 text/html
我已经尝试了几种不同的configuration,我无法使截取/透明模式正常工作。 只是一个侧面说明,当使用浏览器,我configuration端口3128代理工作正常。