通过 squid 路由和验证所有访问

通过 squid 路由和验证所有访问

我想通过 Squid 代理服务器路由我网络中的所有 Internet 访问,并对所有用户进行身份验证和记录。我希望这是一个独立于客户端的设置,这样任何人都不需要在其浏览器或机器上执行任何操作。

我已将网络网关设置为代理服务器,以便所有流量都发送到它。我使用 DHCP 服务器中的选项完成了此操作。

  1. 现在我尝试使用squid 作为透明代理,但在该模式下它将无法进行身份验证。
  2. 我尝试使用iptables 路由所有流量到端口 3128它不会弹出身份验证来自 SQUID 的对话框。
  3. 我试着告诉DHCP 提供 WPAD向所有客户提供WPAD 文件在包含以下内容的 Web 服务器上,用于在客户端上自动配置代理:

    改变在dhcpd配置文件

选项 wpad 代码 252 =test;

选项 wpad "\n\000";

选项 wpad "http://192.168.1.5/wpad.dat\n";

WPAD 文件:

函数 FindProxyForURL(url,主机)

{

返回 "PROXY squid-server-ip-address:3128 ; DIRECT ";

}

但是浏览器(不同版本的 Firefox 和 IE)似乎忽略了它。:(

我应该怎么办 ?

答案1

认为您的 DHCP 选项可能已关闭...来自:http://www.wlug.org.nz/WPAD

将以下内容添加到您的 /etc/dhcpd.conf:

选项 选项-252
http://wpad.host.co.nz/proxy.pac“;

对于 ISC DHCP v3+,option-# 选项不起作用。您必须在配置的全局部分中执行此操作:

选项 wpad-url 代码 252 = 文本;
(定义新选项)

并将其添加到配置的全局或适当的子网部分中:

选项 wpad-url
"http://wpad.my.domain.tld/proxy.pac\n";(使用新选项)

此外,你会发现在 squid 中透明模式下的身份验证实际上是不可能的。一些商业网络过滤器确实可以解决这个问题(事实上,我为光滑墙,就是这样一个过滤器)。

相关内容