占位图像 用户ID: 密码: 验证码: 登录 注册     占位图像
 
教育168搜索

a
频道信息
学前教育 基础教育
小学 初中
高中 高等教育
心理学 机械工程
园林 IT教育
办公软件 Director
Authorware 图形图象
FIREWORKS CORELDRAW
Maya PhotoShop
AutoCAD 3D
操作系统 Windows xp
Windows Vista Linux
Windows 2003 Windows 2000
FreeBSD 注册表
网站制作 FLASH
Dreamweaver CSS教程
装修设计 LightScape
装修风水 方案设计
英语 商务外语
素质教育 法制教育
企业培训
最新更新
·了解Linux系统强大的控制
·VMWare虚拟机上安装Ub
·Linux安装不求人 无需分
·Ubuntu6.0.6下的a
·在Linux桌面上 随意使用
·Ubuntu 7.04 桌面
·linux学习(远程控制跟I
·在Linux系统下优化Ora
·Ubuntu Linux:M
·在Linux系统下建立强大的
·Linux系统下如何加载U盘
·在嵌入式Linux中实现80
·Linux下安装JDK,To
·如何恢复误删除的Linux文
·Linux系统环境下的高级隐
·内核操作 Linux2.6内
·轻松实现 Linux系统下互
·Linux操作系统下利用SS

点击排行
·Ubuntu Linux:M
·在Linux桌面上 随意使用
·在Linux系统下优化Ora
·linux学习(远程控制跟I
·Ubuntu 7.04 桌面
·如何恢复误删除的Linux文
·Linux系统下如何加载U盘
·Linux操作系统下利用SS
·无线技术在Linux操作系统
·内核操作 Linux2.6内
·Ubuntu6.0.6下的a
·在嵌入式Linux中实现80
·在Linux系统下建立强大的
·提高Linux系统性能加速网
·轻松实现 Linux系统下互
·初手学堂;跟我学习安装配置R
·Linux系统环境下的高级隐
·Linux下安装JDK,To

轻松实现 Linux系统下互联网过滤功能
发布日期:2007-5-1  浏览:492次
关键字:

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

  引用:

  squidGuard则是作为squid的辅助软件,完成过滤、重定向和访问控制的功能。它是一个自由软件,功能强,便于安装、易于配置、而且处理速度快。功能主要包括:根据web服务器或URLs列表限制一些用户的访问;阻塞某些用户对黑名单上的web服务器和URLs的访问;阻塞某些用户对正则表达式匹配的URLs的访问;在URL路径加强了使用域名访问而禁止用IP访问;重定向阻塞的URLs到一个智能CGI的信息页;重定向非授权用户到一个注册页面;具有基于日期、每周、每天具体时间的访问规则;对不同用户组有不同的规则。但是不能过滤、检查文档中的文本以及HTML中的javascript或Vbscript脚本语言。

  #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/squidguard -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已正常运行。

  方法二

  请到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完全能胜任,代理服务器可以长时间工作。且所有软件都是免费的,过滤名单更新快,只需到www.squidGuard.org下载最新版本的过滤名单数据库替换旧的即可,也可以手工增减过滤名单。

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

引用:

squidGuard的配置文件
/usr/local/squidGuard/squidGuard.conf文件:

logdir /usr/local/squidGuard/logs #日志目录定义

dbhome /usr/local/squidGuard/db #db目录定义

time testtime { #时间规则定义

weekly mtwhf 05:00 - 10:30
weekly as 08:00 - 19:00
date *-*-01 08:00 - 16:30
date 2001.10.01 - 2001.10.09
}

src admin { #源组定义
ip 192.168.100.18
}

src client{
ip 192.168.100.20 192.168.100.21 192.168.100.22
ip 192.168.200.0/24
}

dest porn { #目标组定义
domainlist porn/domains
urllist porn/urls
expressionlist porn/expressions
}

acl { #访问规则定义
admin within testtime {
pass !porn all
} else {
pass all
}

client {
pass !in-addr !porn all
}

default {
pass none
redirect http://admin.foo.com

  (#也可以重定向到一个含有一些信息的cgi页面,如下:
http://admin.foo.com/cgi/blocked?clientaddr=%a%26amp;clientname=%n%26amp;clientuser=
%i%26amp;clientgroup=%s%26amp;targetgroup=%t%26amp;url=%u)
}
}

  # vi db/porn/domains
  (域列表文件:主要是阻塞一些定义的站点)
  co.za
  sex.com
  (如上,可以阻塞如hack.co.za、sex.com、www.sex.com、whatever.sex.com,
但是不同于.*[^.]sex.com,不匹配ssex.com)

  # vi db/porn/urls
  (url列表文件,主要是阻塞一些站点及其一些栏目)

  qihui.com/sex
  valen.sohu.com/album
  (如上可阻塞http://qihui.com/sex
http://qihui.com/sex/whatever
ftp://qihui.com/sex
http://www.qihui.com/sex等)

  # vi db/porn/expressions
  (表达式列表文件,主要是阻塞一些与表达式匹配的URL访问)

  (^|[\?+=/])(.*)(girl)(.*)([\?+=/]|$)
  (上面的正则表达式可以阻塞URL中包括girl站点的访问,
如:www.girlzine.com、girl.huabao.net、www.huayu.net/girlwww.universiti.com/girl等 )


  注意:squidGuard对配置文件的语法要求很严,如果配置文件语法有误,squidGuard仍能运行,

但是squidGuard已进入应急模式,此时代理服务不具有任何阻塞作用,

所有通过该代理的访问都可通过,可以查看logs/squidGuard的日志文件,即可发现错误,例如:

  2001-12-20 17:08:44 [2430] parse error in configfile /usr/local/squidGuard/squidGuard.conf line 8
  2001-12-20 17:08:44 [2430] going into emergency mode

关键字:

相关信息 用户评论
·了解Linux系统强大的控制台、终端和shell
·VMWare虚拟机上安装Ubuntu Linux方法
·Linux安装不求人 无需分割硬盘安装Ubuntu
·Ubuntu6.0.6下的apache2+php5+mysql配置的一些问题
·在Linux桌面上 随意使用Windows的文档
·Ubuntu 7.04 桌面服务器配置
·linux学习(远程控制跟IP地址配置)
·在Linux系统下优化Oracle具体步骤
·Ubuntu Linux:MySQL安装指南
·在Linux系统下建立强大的FTP搜索引擎
·Linux系统下如何加载U盘或移动硬盘
·在嵌入式Linux中实现802.11b无线网关
·Linux下安装JDK,Tomcat及设置Cron程序
·如何恢复误删除的Linux文件
·Linux系统环境下的高级隐藏技术介绍
·内核操作 Linux2.6内核驱动移植参考
·Linux操作系统下利用SSH进行远程控制
·制作在软盘上跑的Linux引导器详细过程

 

更多评论

验证码:
验证码