一、概要
1.代理服务器的作用
①共享网络
②加快访问节约带宽
③防止内部主机受到攻击
④限制用户访问,完善网络管理
2.Squid的特点
squid使用访问控制列表(access control list)和访问权限列表(ARL)进行权限管理和内容过滤
3.查看是否安装了squid
rpm -q squid
二、配置
1.主配置文件/etc/squid/squid.conf
①http_port 指定了squid在哪个IP地址和端口侦听客户机的请求(default是3128,设置端口时确实与其它的端口没有冲突)
②cache_mem 指定物理内存的大小作为高速缓存
③cache_dir 指定硬盘缓冲区的大小
例子:cache_dir ufs /var/spool/squid 4096 16 256
ufs: 缓存类型
/var/spool/squid: 缓存目录
4096:缓存大小
16: 一级子目录数
256: 二级子目录数
④dns_nameservers 210.34.48.34 定义dns服务器的IP
⑤cache_mgr 定义squid代理服务器管理员的E-mail地址
⑥squid默认拒绝所有客户机的访问请求
⑦acl访问控制列表的格式
acl 列表名称 列表类型 [-i] 列表值
注意:列表名称应尽量使用有意义的名称如:clientip,worktime等
列表类型:src dst srcdomain(源名称) dstdomain(目标名称) time url_regex(URL规则表达式匹配) maxconn(单一IP的最大连接数)
-i选项:表示忽略列表值的大小写
⑧配置文件修改后应该用"/etc/rc.d/init.d/squid reload" 命令使配置生效
例子:a. acl badclientip src 192.168.5.110
http_access deny badclientip
禁止IP为192.168.5.110的客户机上网
b. acl badclientnet src 192.168.5.0/255.255.255.0
http_access deny badclientnet
禁止192.168.5.0这个网段上网
c. acl badsrcip dst 210.34.48.56
http_access deny badsrcip
禁止用户访问210.34.48.56这个网址
d. acl badsrcip1
http_access deny badsrcip1
禁止用户访问网站
e. acl badurl1 url_regex -i sina.com
http_access deny badurl1
禁止用户访问域名包含sina.com的网站(-i是忽略大小写)
f. acl clientip1 src 192.168.5.200
acl conn5 maxconn 5
http_access deny clientip1 conn5
限制IP地址为192.168.5.200客户机并发最大连接数为5
g. acl clientnet1 src 192.168.5.0/255.255.255.0
acl worktime tiem MTWHF 9:00-15:00
http_access deny clientnet1 worktime
禁止192.168.5.0这个网段的主机在周一至周五的9:00至15:00上网
(Monday-M;Tuesday-T;Wednesday-W;Thursday-T;Firday-F;Saturday-A;Sunday-S)
h. acl download urlpath_regex -i \.mp3$\.exe$\.rar$
http_access deny download
禁止下载已mp3,exe,rar为后辍名的文件
I. acl qq url_regex -i tencent.com
http_access deny qq
禁止QQ通过squid上网