阻止我们networking中的网站

我们希望阻止用户访问像facebook这样的网站,以及来自我们的networking的所有网站。 所有的连接都是通过我们的路由器(linux机器)。 什么是最好的方式来阻止在Linux路由器的网站?

我一直使用Squid作为透明代理,并使用代理来过滤对网站的访问,并作为本地caching。 它的一大优点是,你可以基于整个URL的正则expression式来规则(也就是说,如果你愿意的话,可以限制对部分站点的访问)。

网上有很多关于它的好教程。 你可以find一个有点旧的howto漂浮 。 我还没有validation它是否足够精确,但是当我学会了如何设置它的时候,这是我的参考。 鱿鱼网站有一个关于如何设置透明代理的很好的部分

除非你有聪明的员工,否则DNS过滤效果不错。 opendns.com为您提供可编辑的DNS。

最简单的方法是在DNS中投掷一个扳手,以确保您不想显示的网站永远不会解决。 你可以通过使用OpenDNS这样的人来做到这一点(还有其他服务可以做同样的事情),或者你可以保持本地化,只需编辑本地机器的hosts文件(如果你的用户帐号有限,没有个人电脑就足够了)。

一个更强大的方法包括通过像squid这样的代理强制所有的networkingstream量,并在上面运行一个像dansguardian这样的filter。 这两者一起工作的很好,你会发现很多networking教程。 与此相关的问题是你需要一台机器来安装它 – 你不能把它挤到一个路由器(除非你有一个单独的机器作为你的路由器)。

代理的附加好处是它可以cachingnetworking级别的数据以节省一些外部带宽,并且如果许多用户使用相同的站点,它可以加快速度。