所以,我最近在运行一个项目,就是在 Raspbian 上安装一个 Squid 代理(在 Raspberry pi 上通过 webmin)。这个项目分为两个部分;
第一个,我已经完成了,就是配置一个对用户透明工作的 Squid。
第二个(让我抓狂的部分,与第一部分完全独立)包括配置一个使用活动目录(LDAP 或 AD)进行身份验证的代理,显然过程会有所不同,但至少如果我可以用其中一个来完成,我就能做另一个),这样,(最好是**),当用户尝试访问互联网时,会弹出一个屏幕,要求输入用户名和密码,以便控制目录中的哪些用户/组可以访问互联网,并对不同的用户应用不同的 ACL。
** 我最好这样做,因为我一直在阅读,当配置 squid 代理在活动目录中进行身份验证时,它会检测哪个用户正在尝试访问,并且身份验证屏幕不再需要,但我无法确认这一点,因为我还没有到达让代理以这种方式工作。
虽然我没有记录这个过程,但我可以提供我严格遵循的教程(除了一些由于软件更新而发生变化的命令和配置...)。它如下:
正如我所说,我严格按照教程进行操作,但我未能让代理正常工作,或者至少我没有任何用户上网,因此,经过一段时间的测试失败后,我来这里询问是否有某种方法可以满足我的需要:只有在 AD 中经过身份验证的用户才能使用代理,并且可以对这些用户(或许是用户组)应用 ACL。
如果可能的话,我将非常感激有人能给我提供一些关于如何做到这一点的信息,或者至少提供一些我可以遵循的最新教程。
提前非常感谢您,我希望有人能帮助我。
答案1
请注意,在透明代理部署中,浏览器不是知道代理,因此浏览器拒绝向未知请求者提供任何用户凭据。为了使用代理身份验证,必须配置您的浏览器以明确连接到代理(Squid 的默认端口 3128)。
切换到显式代理部署后,您需要配置 Squid 以使用将代表 Squid 执行 AD/LDAP 身份验证的身份验证器。有关 Active Directory 集成的详细指南位于https://docs.diladele.com/administrator_guide_6_4/active_directory/index.html。简而言之 - 使用 Negotiate/NTLM、NTLM 或 Basic LDAP 身份验证助手。