分享
 
 
 

轻松实现 Linux系统下互联网过滤功能

王朝system·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

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

%i&clientgroup=%s&targetgroup=%t&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/girl、www.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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有