[原创]用squid做代理服务器,对学生上网行为进行管理实战
本帖最后由 arbor 于 2010-05-08 15:43 编辑squid是一个非常优秀的代理服务器软件。学生机房的上网比较混乱,几乎不受控制,为了规范他们的上网行为,尝试了一把。
服务器:普通联想台式电脑,E4500+2GB+945主板+160GB,增加一个8169芯片的千兆网卡,板载一个8139的网卡。
安装centos 5.4,选择安装squid和iptables,并设置为自动启动
设置好网络的参数:
eth0:192.168.1.2,接外网
eth1:192.168.2.2,接教室内部网络
安装过程不再赘述
在/etc/rc.d/下面建立一个文件firewall,内容如下:
echo "starting ip forward"
echo 1 > /proc/sys/net/ipv4/ip_forward
echo "starting iptables rules"
modprobe ip_tables
modprobe ip_nat_ftp
/sbin/iptables -F -t nat
iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
给firewall加上执行权限 chmod u+x firewall
修改好后运行一下这个文件
然后修改squid的配置文件 /etc/squid/squid.conf,里面除了默认的设置外,红色的是我修改的设置# cat squid2.conf
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
#定义学生机房网络设置
acl students src 192.168.2.0/255.255.255.0
#禁止学生下载的文件类型
acl denyfiles urlpath_regex -i \.mp3$ \.avi$ \.zip$ \.rar$ \.exe$ \.gz$ \.iso$
#禁止学生访问的网站列表
acl denysites url_regex -i "/etc/squid/denysites"
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
http_access allow manager localhost
http_access deny denyfiles
http_access deny denysites
http_access allow students
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access deny all
icp_access allow all
#设置为透明代理模式
http_port 3128 transparent
hierarchy_stoplist cgi-bin ?
access_log /var/log/squid/access.log squid
acl QUERY urlpath_regex cgi-bin \?
cache deny QUERY
#管理员邮箱
cache_mgr myuser@163.com
#自定义为简体中文提示信息
error_directory /usr/share/squid/errors/Simplify_Chinese编辑好后,重启一下squid服务
让学生机把网关设置为本代理服务器的eth1的IP地址即可,浏览器不需要再设置代理了(透明代理吗)
禁止访问网站列表# cat denysites
qq.com
6.com
因为学生无法去网上下载exe和各种压缩文件,就无法下载安装qq,这里把qq.com也禁止访问,学生连web qq都不能使用,有其他需要拦截的网站,可以自己把网址加入这个文件里面去。
中午完成,下午投入使用,效果良好 很好不错;:em03: 哈哈,不错不错 denysites里
qq.com
6.com
改为
.qq.com
.6.com
因为aa.com不能匹配到例如down.aa.com,bbs.aa.com等 楼主我也是苏州的.呵呵
有机会交流下 楼主我也是苏州的.呵呵
有机会交流下
dong_kof 发表于 2010-05-12 12:22 http://bbs.chinaunix.net/images/common/back.gif
49385760 苏州linux爱好者群,呵呵
有空多交流!
denysites里
qq.com
6.com
改为
.qq.com
.6.com
因为aa.com不能匹配到例如down.aa.com,bbs.a ...
dong_kof 发表于 2010-05-12 12:22 http://bbs.chinaunix.net/images/common/back.gif
这两天正好有大批学生上网进行研究性学习,发现了一些问题,比如封锁了6.com,结果126.com的邮箱也无法打开了,呵呵,封锁了 qq.com,qq邮箱也不行了,于是改为只封锁web.qq.com和qzone.qq.com,另外还有mp3.baidu.com、 118114.cn、xunlei.com等
另外为了封锁ftp,把21也作为关键词加进去了,这个很不恰当,因为有些链接地址里面有21,也无法访问了,于是把21删除 这两天正好有大批学生上网进行研究性学习,发现了一些问题,比如封锁了6.com,结果126.com的邮箱也无法打开了,呵呵,封锁了 qq.com,qq邮箱也不行了,于是改为只封锁web.qq.com和qzone.qq.com,另外还有mp3.baidu.com、 118114.cn、xunlei.com等
另外为了封锁ftp,把21也作为关键词加进去了,这个很不恰当,因为有些链接地址里面有21,也无法访问了,于是把21删除arbor 发表于 2010-05-17 08:55 http://bbs.chinaunix.net/images/common/back.gif其实这个问题很好解决,
把acl denysites url_regex -i "/etc/squid/denysites"
换成acl denysites dstdomain"/etc/squid/denysites"
denysites里面的内容按4楼dong_kof兄说的写 持续关注{:2_178:} 禁止FTP的话把端口21给禁了就行了
acl Safe_ports port 21
把默认配置里这条给注释了 写得不错,支持楼主。其实软件好不好,只要适合自己就好!跟男人找老婆一个理。。。
7楼的写法比较合理,不用每每修改ACL配置后reload。
页:
[1]
2