我想设置一个代理服务器,获取我的networking上的所有HTTPstream量。 我想使用安装在Debian上的Squid。
在networking图下面:
我不想在我的局域网上设置代理服务器,因为我无法在每台计算机上configuration一个代理服务器。
有人能告诉我什么是最好的办法吗?
你最好的select是以透明模式设置鱿鱼,但你的networking图会改变。 作为代理服务器将NAT,这将取代你的思科作为路由器了。 (而在它,为什么不删除你的ISP路由器不加倍NAT ??好像有一天你想创build一些VPN,你不能在双NAT)
在那里看一个教程; http://xmodulo.com/squid-transparent-web-proxy-centos-rhel.html
教程中有一些细节显示他是如何做到的;
鱿鱼安装
要使用Squid设置透明代理,我们首先添加必要的iptables规则。 这些规则可以帮助您开始使用,但请确保它们不与任何现有configuration冲突。
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
iptables -t nat -A PREROUTING -i eth0 -p tcp –dport 80 -j REDIRECT – 到端口3128第一条规则将导致来自eth1(WAN接口)的所有出站数据包的源IP地址为eth1(即启用NAT)。 第二个规则将所有传入的HTTP数据包(目标为TCP 80)从eth0(LAN接口)redirect到Squid监听端口(TCP 3128),而不是立即转发到WAN接口。
请注意,拦截与http连接的副作用,实际上在我们的产品技术支持( WinGate )中,虽然我们支持拦截连接,但我们build议不要这样做。
如果您在代理上使用身份validation,则客户端不知道正在与代理进行通信。 如果一个代理想要对一个被拦截的客户端进行身份validation,它只能发送一个401响应(而不是407),这看起来像客户端正在请求身份validation。 对于来自多个服务器资源的页面,您可能会popup多个login对话框。
caching行为有所不同。 有代理特定的caching指令,当您截取到代理的连接时不起作用。
一些利用。 在您提出的scheme中,将连接从ASA转移到代理的位置,目标由ASA重写,并且连接终止于代理。 然后,代理仅将主机头用作进行上游连接的基础。 这需要通过代理进行额外的DNS查找,这可能会导致与客户在查找网站时得到的答案不同。 而且在某些情况下,客户端已经知道连接到一个允许的IP,使用一个被禁止的站点的主机头。 允许的IP通过防火墙,但代理查找主机头并连接到不同的(禁止的)IP。
您可能还想考虑如何处理https。
免责声明:我为WinGate的作者Qbik工作。