微内容过滤和Web加速设备(Ubuntu,Squid,Apache,VMWare)
这个小型HOWTO将向您展示如何使用Ubuntu Server 10.10,Squid 3.1和Content Security 1.0部署在Windows 7 x64上运行的VMWare虚拟播放器中,设置小型虚拟机来加速和保护您的家庭/小型企业网络冲浪网络主机操作系统。
以前,我使用VMWare Virtual Server 1.0和更高版本2.0测试了有趣的应用程序,但总是对这种基于重量级浏览器的虚拟化野兽的复杂设置过程感到沮丧。 不久之前,我发现VMWare Virtual Player能够创建虚拟机,并且非常满意其性能和简单的安装。
第1步.下载并安装Ubuntu Server 10.10
访问http://www.ubuntu.com/server并获取最新版本的Ubuntu服务器(10.10)32位。 该网站表示推荐的版本是x64位,但是正如我们正在尝试创建一个小型虚拟机,32位将足以满足我们的目的。
启动VMWare Virtual Player并创建具有以下硬件参数的新虚拟机:name - virtual-qlproxy
,hard disk - 8Gb
。 按“自定义硬件”按钮,删除软盘,USB控制器,打印机和声卡,将内存量设置为256Mb
。 将网络适配器从“NAT”模式切换到“桥接”。 将虚拟CDROM指向已下载并启动虚拟机的Ubuntu Server的ISO映像。
按照Ubuntu安装向导的步骤主要接受默认值。 需要配置的唯一设置是 - 主机名(我设置为virtual-qlproxy
)和登录名和密码(我分别将它们设置为用户
和P @ ssw0rd
)。 现在等一下,直到安装完成并重启系统。
第2步.执行Ubuntu的post install配置
我们刚刚安装的Ubuntu服务器的网络接口卡的IP地址设置为DHCP。 虽然可以这样保留,这意味着每次重新启动服务器时,都可能会分配一个不同的IP地址,以便以后通过IP地址访问此服务器可能会变得有点刺激。 最简单的方法是将IP地址设置为静态IP地址。 要做到这一点,我们必须通过在终端中键入以下内容来更改位于/ etc / network / interfaces
的文件:
sudo nano /etc/network/interfaces
在文件iface eth0 inet dhcp
中找到此行并将其替换为:
iface eth0 inet static address 192.168.1.2 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 gateway 192.168.1.1
注意:提供的上述设置(IP地址)对于使用内置DHCP服务器的Cisco / LinkSys Wireless N宽带路由器连接到ISP的环境是有效的,该路由器内置了192.168.1。*
私有的内部IP地址子网 您的路由器可能会给其他地址,所以请注意:)!
还有一件事是调整DNS设置。 在终端中运行以下命令...
sudo vi /etc/resolv.conf
...并添加在路由器上运行的DNS服务器的IP地址:
nameserver 192.168.1.1
现在重新启动您的网络,键入...
sudo /etc/init.d/networking
...在终端或只是重新启动虚拟机。 重新启动后,通过键入终端确认网络功能正常:
ping -c 3 192.168.1.1
nslookup google.com
这些命令的输出不应该有任何错误。
第3步.安装Squid Web缓存代理
接下来我们需要安装最新版本的squid代理服务器。 为了这样做,在终端中键入以下内容:
sudo apt-get install squid3
Squid包从Internet下载并自动安装。 唯一要做的就是让来自我们网络的外部用户访问Squid。 打开squid配置文件,键入...
sudo nano /etc/squid3/squid.conf
...并取消注释以下行acl localnet src 192.168.0.0/16
和http_access允许localnet
。
键入以下内容保存文件并重新启动squid:
sudo /etc/init.d/squid restart
要验证squid是否正确运行,请将浏览器指向代理服务器的IP地址( 192.168.1.2
)并冲浪到某些网站。
第4步.安装Apache 2
在虚拟机上安装Web服务器也是个好主意。 此Web服务器将稍后托管Squid和Squid Proxy的内容安全性的状态和报告信息。 为了使Apache2安装在终端上发出以下命令...
sudo apt-get install apache2 libapache2-mod-php5
...然后打开浏览器并导航到http://192.168.1.2
。 你应该看到“它的作品!” 来自Apache的问候。
安装QuintoLabs Content Security 1.0
下一步将是从QuintoLabs安装Squid的Content Security 1.0(我将在文本中进一步将其称为qlproxy
)。 为了做到这一点,请到QuintoLabs网站的下载区域下载Ubuntu的DEB软件包http://quintolabs.com/qlicap_download.php 。 对于那些不了解的人, qlproxy
是一个内容过滤服务器,用作Squid Web代理的伴侣,可以让您过滤/阻止Web下载,删除广告和横幅,并通过代理客户端控制网站使用(即禁止显式和成人内容)。
现在,该程序与Squid作为URL重写器集成,但ICAP和/或eCAP集成正在进行中。 无论如何,当前的URL重写功能足以满足我们的需求。 所以为了安装qlproxy
导航到终端中下载的* .deb包,并键入以下命令:
sudo dpkg --install qlproxy_1.0.950.0_i386.deb
安装程序将在短时间内运行,程序将安装到/ opt / quintolabs / qlproxy中
。 现在我们需要配置它并将其与Squid集成。 配置文件是纯文本,并且存储在/ opt / quintolabs / qlproxy / etc / * .conf中
,并且很简单,可以用里面的一些注释进行修改。 我将执行以下修改:
- 当流量被阻止时,将代理客户端重定向到Apache服务器的本地实例 - 打开
qlproxyd.conf
文件,并找到qls_redirect_url = http://www.quintolabs.com/redirect/index.php
行并更改它到qls_redirect_url = http://192.168.1.2/redirect/index.php
。 - 我个人不喜欢在网站上过度的广告,所以我经常浏览俄罗斯和德国网站,我也将通过取消注释
qladb.conf
文件中相应的俄语和德语广告块订阅来启用adblock过滤。 - 我的孩子有时会在我的电脑上玩网络游戏,所以我更喜欢将
qlproxyd.conf
文件中的成人阻止启发式设置为高,通过从qlurlb_heuristics_level = normal
更改为qlurlb_heuristics_level = high
。 如果任何东西被qlproxy
阻止,我可以稍后将其添加到exceptions.conf
文件中以使其通过。 - 我听说蠕虫,木马和其他恶意软件相关的软件经常通过IP地址连接到世界,所以我把一个神奇的正则表达式放在
qlhttpb.conf
文件中,以便过滤掉url = http:// \ d + \。\ d + \。 d + \。\ d + /。*
现在很好,让我们发出一个重新启动命令,使qlproxyd
守护进程重新加载配置:
sudo /etc/init.d/qlproxy stop && /etc/init.d/qlproxy start
接下来我们需要将它与Squid进行整合。 由于qlproxy现在使用Squid的url重写器功能,因此集成非常简单,适用于Squid 3和Squid 2.打开/etc/squid3/squid.conf
并找到url_rewrite_program
部分。 添加以下url_rewrite_program / opt / quintolabs / qlproxy / sbin / qlproxyd_redirector --config_path = / opt / quintolabs / qlproxy / etc / qlproxyd.conf
。
网址重写者的数量需要设置为合理的值(默认值为5)。 这些5适合于我所在的那种网络环境,所以确保你的url_rewrite_children
设置为5. URL重写器是单线程的,所以最好将url_rewrite_concurrency保留
为其默认值。
所以与Squid的集成现在已经完成,我们可以重新启动Squid,看看它是否能够启动url重写器。 在终端中发出以下命令...
sudo /etc/init.d/squid3 restart
...重启后完成...
ps aux | grep qlproxy
...应该显示由squid和qlproxyd
守护程序本身创建的运行的5个qlproxyd_redirector 实例
。
最后要做的是将qlproxy
与Apache 集成
,以便能够查看用户活动的报告(每天生成一次),并重定向可以向用户解释他们的请求被阻止的页面。 这实际上很容易,打开/ etc / apache2 / sites-enabled / default
文件并添加以下内容:
Alias /redirect /opt/quintolabs/qlproxy/redirect Options FollowSymLinks AllowOverride None Alias /redirect /opt/quintolabs/qlproxy/reports Options FollowSymLinks AllowOverride None
现在通过键入终端重新加载apache:
sudo /etc/init.d/apache2 restart
恢复
最后,一切都到位,启动加速的安全网络冲浪没有广告 - 将您的浏览器指向192.168.1.2
端口3128
,并浏览到您最喜欢的网站,看看区别。 URL中的IP地址被阻止,明确的成人内容网站也是如此。 VMWare不超过256 MB,冲浪经验是完全可以接受的。 系统每天自动更新一次最新的网址列表,并广告订阅,并需要最少的额外维护。