我们希望阻止用户访问 Facebook 等网站以及我们网络上的所有网站。所有连接都通过我们的路由器(Linux 机器)。阻止 Linux 路由器上的网站的最佳方法是什么?
答案1
我一直在使用乌贼作为一个透明代理并使用代理过滤对网站的访问并作为本地缓存。它的最大优点是您可以根据整个 URL 的正则表达式制定规则(这意味着您可以根据需要限制对网站部分内容的访问)。
网上有很多关于它的好教程。你可以找到一个一些旧的操作指南仍在流传。我尚未验证它是否仍然足够准确,但它是我学习如何设置它时的参考。Squid 网站上有关于如何设置透明代理的很好的部分
答案2
除非您拥有聪明的员工,否则 DNS 过滤效果很好。opendns.com 为您提供可编辑的 DNS。
答案3
最简单的方法是对 DNS 进行干预,确保您不想显示的网站永远不会解析。您可以使用 OpenDNS 之类的服务来实现这一点(还有其他服务可以做到这一点),或者您可以将其保留在本地,只需编辑本地计算机的hosts
文件(如果您的用户拥有有限的帐户并且没有个人计算机,那么这就足够了)。
更强大的方法是强制所有网络流量通过代理(如 squid)并在其上运行过滤器(如 dansguardian)。两者结合效果很好,您会在网上找到大量教程。问题是您需要一台机器来安装它 - 您不能将它挤到路由器上(除非您有一台单独的机器作为路由器)。
代理的额外好处是它可以在网络级别缓存数据以节省一些外部带宽,并且如果许多用户使用相同的网站,它可以加快速度。