此方法的优点是配置方便,对硬件要求低,一般退役下来的486、586完全能胜任,代理服务器可以长时间工作。且所有软件都是免费的,过滤名单更新快,只需到下载最新版本的过滤名单数据库替换旧的即可,也可以手工增减过滤名单。
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
(#也可以重定向到一个含有一些信息的cgi页面,如下:
?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、、whatever.sex.com,
但是不同于.*[^.]sex.com,不匹配ssex.com)
# vi db/porn/urls
(url列表文件,主要是阻塞一些站点及其一些栏目)
qihui.com/sex
valen.sohu.com/album
(如上可阻塞、
、
ftp://qihui.com/sex、
等)
# vi db/porn/expressions
(表达式列表文件,主要是阻塞一些与表达式匹配的URL访问)
(^|[\?+=/])(.*)(girl)(.*)([\?+=/]|$)
(上面的正则表达式可以阻塞URL中包括girl站点的访问,
如:、girl.huabao.net、、等 )
注意: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