当前位置: 电脑软硬件应用网 > 电脑学院 > 操作系统 > Linux系统 > 正文
网络教程:实现Linux系统下的互联网过滤功能 【字体:
网络教程:实现Linux系统下的互联网过滤功能
2005-12-30 20:04:52  文/45IT收集   出处:电脑软硬件应用网   

目前,很多学校都建起了校园网并连接上互联网,但互联网上的不良信息非常多,如何进行网站过滤,防止不健康网站对学生的影响呢?以下本着零成本、高效益的原则,谈谈在免费的Linux下如何实现互联网的过滤功能。 

  设置代理服务器 

  校园网通过Linux上网,在网关上利用Squid架设代理服务器。 

  首先要安装好Linux,我用的是易装好用的RedHat Linux 7.2。在安装RedHat Linux 7.2时,Squid已同时安装好,我们只需简单的配置一下就能使用。 

  RedHat Linux 7.2安装后默认是未运行Apache,故应先启用Squid,确保Squid代理服务器能正常工作。修改/etc/squid/squid.conf配置文件。 

  http_port 3128 (定义Squid监听HTTP客户端请求的端口) 

  cache_mem 10 MB (Squid可以使用的内存理想值,一般设为物理内存的1/3) 

  cache_swap_low 95 

  cache_swap_low 90 

  maximum_object_size 4096 KB(大于该值对象将不被存储) 

  cache_dir ufs /var/spool/squid/cache 200 16 256(指定Squid用来存储对象的交换空间大小及其目录结构) 

  acl all src 192.168.1.1/24(定义All 为192.168.1.1网段) 

  http_acceaa allow all(192.168.1.1 网段的客户端可使用Squid代理上网) 

  cache_effective_user squid(使用的用户和用户组) 

  cache_effective_group squid(其余参数用默认值即可) 

  [root@squid bin]# chmod 777 /var/spool/squid/cache(使/var/spool/squid/cache目录为Noboay用户,具有写权限) 

  [root@squid bin]# squid -z(手工建立Squid的缓存目录/var/spool/squid/cache) 

  [root@squid bin]# /etc/rc.d/init.d/squid start(启动Squid,停止Squid用/etc/rc.d/init.d/squid stop) 

  在客户端进行测试,以Windows为例。运行IE,单击“工具”,接着单击“Internet选项”,再单击“连接”选项卡,单击“局域网设置”;在“局域网设置”窗口中,在“地址”处填上Squid服务器的IP地址:192.168.1.16,在“端口”处填上“3128”,确定后退出。此时客户端应能浏览Internet,说明Squid已正常运行。 

  过滤功能的配置 

  接下来进行的是网站过滤功能的配置。可以有两种配置方法。 

  方法一 

  请到ftp://k12linux.mesd.k12.or.us/pub/squidguard/下载RPM版本的SquidGuard-1.2.0-3.i386.rpm。 

  #rpm -ivh squidguard-1.2.0-3.i386.rpm 

  (安装后数据目录Dbhome:/var/squidguard/blacklists;日志目录Logdir: /var/log/squidguard) 

  按提示修改/etc/squid/squid.conf文件中的有关配置行: 

  redirect_program /usr/sbin/squidgua- 

  rd -c /etc/squid/squidguard.conf 

  redirect_child 5 

  重启Squid,查看/var/log/squidguard/squidguard.log,看最后一行:2002-06-23 16:13:18[2237] squidguard ready for requests则表明Squidguard已正常运行。 

  方法二 

  请http://squidguard.mesd.k12.or.us/squidguard.tar.gz下载TAR版本的SquidGuard.tar.gz,并存放到根目录下。 

  #cd / (进入根目录) 

  #tar vzxf squidguard.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/squid guard/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文件,若有: 

  db update done 

  squidguard stopped(102233.823) 

  表明数据更新成功!再重启Squid即可。 

  此方法的优点 

  此方法的优点是配置方便,对硬件要求低,一般退役下来的486、586完全能胜任,代理服务器可以长时间工作。且所有软件都是免费的,过滤名单更新快,只需到这里下载最新版本的过滤名单数据库替换旧的即可,也可以手工增减过滤名单。 

  Squid还可以设定上网时间段;可以定期检查日志,及时发现学生上网中存在的不良倾向。

  • 上一篇文章:

  • 下一篇文章:
  • 最新热点 最新推荐 相关文章
    讲解Linux服务器被黑解决方法
    linux vm 添加硬盘
    简单的Linux网吧电影服务器
    Linux的日志文件系统简要剖析
    Linux服务器:关于linux下磁盘空间无…
    Linux服务器:解决Linux磁盘空间满的…
    Linux中如何获得配置文件的绝对路径
    详解Windows切至Linux的7大障碍
    Linux系统Apache服务的信息查看模块…
    Linux之邮件服务器配置指南
    设为首页- 关于我们 - 联系方式 - 版权声明 - 友情链接 - 网站地图 -
    Copyright©2003-2010 45IT.COM All Rights Reserved. 浙ICP备05056851号