Squid 学习笔记

2009-05-13 14:46:57来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折


Squid 学习笔记

本文以Redhat Enterprice Linux 4.0版本为基础,并成功实现。其它linux发行版请读者自行测试。
  Squid为系统自带软件,可以在安装时选择相应软件包安装或用rpm命令安装。
  安装完成后用以下命令启动:
#service squid start

#/etc/init.d/squid start
  当然可以将start参数改为restart或stop来重启或停止squid服务。也可以用以下命令使服务在开机时自动启动:
#chkconfig squid on
  作为练习,可将系统的防火墙关闭;至于实际应用需打开的端口请自行参考iptables相关文档。关闭iptables防火墙:
#service iptables stop

#/etc/init.d/iptables stop
  接下来就是配置squid服务了。
  在开始前,我们先看一下squid.conf文件的内容,应该知道以#开头的都是注释,所以以#开头的行和空行都可以删除,操作前先备份一下文件哦!
  我们用下面命令来查看文件(文中使用的squid.conf即位于/etc/squid/下,文中不使用绝对路径):
#sed -e '/^#/d;/^$/d' squid.conf
#sed -e '/^#/d' squid.conf | sed -e '/^$/d'
#sed -e '/^#/d' squid.conf | grep -v ^$
#grep -v ^# squid.conf | grep -v ^$
#grep -v ^# squid.conf | sed -e '/^$/d'
  花点时间说明下sed命令,不感兴趣的朋友可以略过:
  可见:sed -e '/^#/d' 和 grep -v ^# ,以及sed -e '/^$/d'和grep -v ^$效果是一样的,不同的是sed是编辑命令,而grep只是一个过滤命令,就是将含有过滤内容的行显示出来;“-e”是指定后面的部分是要对被编辑内容的编辑脚本;“-v”是对grep产生的结果取反,不显示符合规则的行,而显示不符合规则的行。命令中的“^#”“^$”都是正则表达式:^表示行首;#无特殊含义,即字符#,$表示行尾,^$即表示空行,^#即表示以字符#开始的行,同理#$则表示以#结尾的行。斜杠只是把正则表达式括起来的符号,而斜杠后的d则表示将符合的行删除(delete)它是sed脚本的一个命令参数,单引号是把属于sed的脚本括起来,在特殊情况下“可以或必须”省略。注新版本的sed有-i选项,请慎用,它能直接修改目标文件!

  目标一、打开/禁止指定网段的上网权限
  定义访问控制列表
acl allowed_network  src 192.168.1.0/24
acl restricted_network src 192.168.2.0/24
  应用规则
#允许192.168.1.0/24网段上网,禁止192.168.2.0/24网段上网。
http_access allow allowed_network
http_access deny restricted_network

  目标二、限制访问时间
  定义访问控制列表
acl work_time time M T W H F 8:30-17:30
acl rest_time time 12:00-13:00
  应用规则
#指定不能上网的主机可以在休息时间上网,指定可以上网的主机不能在工作时间(周一至周五的8:30到17:30)不能上网
http_access allow rest_time restricted_network
http_access deny work_time allowed_network

  目标三、定义安全站点和禁止访问的站点
  建立存放网站域名的文件,内容可以是主机名或域名。注:每个站点在文件中占一行。
  #touch /etc/squid/allowed_sites.list
#touch /etc/squid/restricted_sites.list
  例如:

www.yahoo.com.cn
microsoft.com
  定义访问控制列表
acl allowed_sites dstdomain "/etc/squid/allowed_sites.list"

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:web manage freebsd

下一篇:freebsd 核心介绍