![Squid 代理 + 内容过滤 + 网关](https://linux22.com/image/689920/Squid%20%E4%BB%A3%E7%90%86%20%2B%20%E5%86%85%E5%AE%B9%E8%BF%87%E6%BB%A4%20%2B%20%E7%BD%91%E5%85%B3.png)
我一直在尝试了解在给定网络中使用内容过滤软件的代理服务器的要求。我的主要困惑是这种服务器是否需要是具有用于 WAN 和 LAN 的双网卡的网关。换句话说,我是否可以在与客户端相同的网络上拥有一台服务器,并使用一张网卡配置带有 dansguardian 的 squid?如果答案是它不需要是网关,那么是否有办法过滤和阻止 https 流量?在线找到的大多数操作方法都是使用 pfsense(显然是作为网关)并在其上安装代理和内容过滤包。
答案1
您不需要在边界设备上运行 HTTP 代理+缓存+过滤器,但它可以使设置更简单一些。
如果您没有在边界设备上运行它,那么您必须做一些工作来让您的客户端将其请求发送到代理。这可以通过 WPAD、Windows 网络上的组策略、某种配置管理系统来完成。
如果您打算过滤 HTTPS,那么您将需要配置客户端,因为您必须将 CA 证书推送到本地证书存储中,以便过滤 MITM HTTPS 流量并进行任何内容过滤。因此,配置客户端使用代理可能不是太糟糕。
至于设置,在非网关设备上,这非常简单。只需在代理服务器上安装所需的软件。在防火墙上阻止所有输出 http/https 流量,但来自代理服务器的流量除外。然后配置您的客户端以使用代理服务器。
答案2
代理网关不必位于网络边界。客户端只需将其用作网络网关即可。代理机器本身可以使用另一个真实网关进行传出连接。
最常见的选择是配置客户端,使代理成为其默认网关路由器。它将所有非 HTTP 转发到真正的边界网关路由器,并通过代理对 HTTP 进行 NAT。
Squid 官方文档中列出了几种替代选项http://wiki.squid-cache.org/ConfigExamples/Intercept/IptablesPolicyRoute在这些设置中,真正的边界网关机制通过代理机器路由客户端流量,并且只允许来自该机器的流量传出。
无论配置如何,多个 NIC 都是可选的。这是简化路由规则(基于接口而不是数据包标记)或提高机器可以处理的流量的好方法。从这台机器通过单个 NIC 的流量将是任何普通机器的两倍。这对您可能重要,也可能不重要。