我想通过 Squid 代理服务器路由我网络中的所有 Internet 访问,并对所有用户进行身份验证和记录。我希望这是一个独立于客户端的设置,这样任何人都不需要在其浏览器或机器上执行任何操作。
我已将网络网关设置为代理服务器,以便所有流量都发送到它。我使用 DHCP 服务器中的选项完成了此操作。
- 现在我尝试使用squid 作为透明代理,但在该模式下它将无法进行身份验证。
- 我尝试使用iptables 路由所有流量到端口 3128它不会弹出身份验证来自 SQUID 的对话框。
我试着告诉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 中透明模式下的身份验证实际上是不可能的。一些商业网络过滤器确实可以解决这个问题(事实上,我为光滑墙,就是这样一个过滤器)。