Linux下的互联网过滤应用案例广东顺德北滘中学覃进文(E-mail:sdqjw@21cn.com)关键词:LinuxsquidsquidGuard网站过滤随着各级政府对教育的重视,加大了办学经费投入,很多学校进行了“校校通”工程,建起了自己的校园网,并接上Internet。但互联网的不良信息也非常多,如何进行网站过滤,防止不健康网站对学生造成影响呢。本文本着零成本、高效益的原则,谈谈在免费的Linux下如何实现网站过滤功能。网络背景:校园网通过Linux网关上网,在网关上利用squid架设代理服务器。首先要安装好linux网关,我用的是易装好用的redhat,可到。2安装。安装redhat7.2时,squid已同时安装好,我们只需简单的配置一下就能使用。Redhat7.2安装后默认是未运行Apache,故应先启用squid,确保squid代理服务器能正常工作。修改/etc/squid/squid.conf配置文件。http_port3128#定义squid监听HTTP客户端请求的端口cache_mem10MB#squid可以使用的内存理想值,一般设为物理内存的1/3。Cache_swap_low95Cache_swap_low90Maximum_object_size4096KB#大于该值对象将不被存储Cache_dirufs/var/spool/squid/cache20016256#指定squid用来存储对象的交换空间大小及其目录结构。Aclallsrc192.168.1.1/24#定义all为192.168.1.1网段。http_acceaaallowall#192.168.1.1网段的客户端可以使用squid代理上网。cache_effective_usersquid#使用的用户和用户组cache_effective_groupsquid(其余参数用默认值即可!)[root@squidbin]#chmod777/var/spool/squid/cache(使/var/spool/squid/cache目录为noboay用户具有写权限)[root@squidbin]#squid-z(手工建立squid的缓存目录/var/spool/squid/cache。)[root@squidbin]#/etc/rc.d/init.d/squidstart(启动squid,停止squid用/etc/rc.d/init.d/squidstop)在客户端进行测试,以windows为例。运行IE,单击工具,接着单击Internet选项,再单击连接选项卡,单击局域网设置;在局域网设置窗口中,在地址处填上squid服务器的IP地址192.168.1.16,在端口处填上3128,确定后退出。此时客户端应能浏览Internet,说明squid已正常运行。接下来进行的是网站过滤功能的配置。可以有两种配置方法。方法一:请到这里下载RPM版本的squidGuard-1.2.0-3.i386.rpmftp://k12linux.mesd.k12.or.us/pub/squidGuard/#rpm–ivhsquidGuard-1.2.0-3.i386.rpm(安装后数据目录dbhome:/var/squidGuard/blacklists日志目录logdir:/var/log/squidGuard)按提示修改/etc/squid/squid.conf文件中的有关配置行:redirect_program/usr/sbin/squidGuard–c/etc/squid/squidGuard.confredirect_child5重启squid,查看/var/log/squidGuard/squidGuard.log,看最后一行:2002-06-2316:13:18[2237]squidGuardreadyforrequests则表明squidGuard已正常运行。本人在使用本版本的squidGuard增添数据时不成功,老说找不到.diff文件,但不影响原有数据库的运行。方法二:请到这里下载tar版本的squidguard.tar.gz,并存放到根目录下。(进入根目录)#tarvzxfsquidguard.tar.gz(解压缩文件到/usr/local/squidGuard下,数据目录dbhome:/usr/local/squidGuard/db日志目录logdir:/usr/local/squidGuard/log)修改/etc/squid/squidGuard.conf配置文件:redirect_program:/usr/local/bin/squidGuard–c/etc/squid/squidGuard.conf重启squid,查看/usr/local/squidGuard/log/squidGuard.log确保squidGuard已正常运行试浏览一些不健康网站,若能被重定向到指定网页,则说明过滤功能已起作用。本人在使用tar版本的squidGuard时能成功增减数据。进入到数据目录:/usr/local/squidGuard/db下的porn文件夹,新建一个domains.diff文件,内容格式是(加号“+”表示增加,减号“-”表示去除):+newsite1(把newsite1加入黑名单,不能访问)+newsite2(把newsite2加入黑名单,不能访问)-site3(把site3从黑名单去掉,可以正常访问)-site4(把site4从黑名单去掉,可以正常访问)然后执行:#/usr/local/bin/squidGuard–c/etc/squid/squidGuard.conf-u查看squidGuard.log文件,若有:dbupdatedonesquidGuardstopped(102233.823)表明数据更新成功!再重启squid即可。本方法优点:配置方便,硬件要求低,一般退役下来的486、586完全能胜任,代理服务器可以长时间工作。且所有软件都是免费的,黑名单更新快,只需到,也可以手工增减黑名单,squid还可以设定上网时间段。定期检查日志,及时发现学生上网中存在的不良倾向,使用灵活方便。以上操作已在本校试用一学期,效果良好。欢迎交流心得,E-mail:sdqjw@21cn.com。(发表于2002年9月30日第37期《中国电脑教育报》B6教育信息化——校园网络)