Squid缓存服务器之ACL访问控制与反向代理

Squid缓存服务器之ACL访问控制与反向代理

1、ACL访问控制

  • Squid提供了强大的代理控制机制和,通过合理设置ACL并进行限制。可以针对原地址、目标地址、访问的URL路径、访问的时间等各种条件进行过滤。
  • 在配置文件squid.conf中ACL访问控制通过以下两个步骤来实现:其一,使用acl配置项定义需要控制的条件;其二,通过http_access配置项对已定义的列表做“允许”或者“拒绝”访问的控制。
1)、定义访问控制列表
  • 每一行acl配置可以定义一条访问控制列表,格式如下:
acl 列表名称 列表类型 列表内容···
  • 其中,“列表名称”有管理员自行指定,用来识别控制条件;“列表类型”必须使用Squid预定义的值,对应不同类型的控制条件;“列表内容”是要控制的具体对象,不同类型的列表所对应的内容也不一样,可以有多个值(以空格分割,都为“或”的关系)。
  • 常用的访问控制列表类型:
列表类型列表内容示例含义/用途
src192.168.1.168;192.168.1.0/24;192.168.1.0-192.168.3.0/24源IP地址、网段、IP地址范围
dst216.163.137.3;61.135.167.167/24;www.baidu.com目标IP地址、网段、主机名
port80;443;8080;20;21目标端口
dstdomain.qq.com目标域,匹配域内所有站点
timeMTWHF 8:30-17:30;12:00-13:00;AS使用代理服务器的时间段;字母表示一星期中个天的缩写;M-Monday、T-Tuesday、W-Wednesday、H-Thursday、F-Friday、A-Saturday、S-Sunday
maxconn20每个客户机的并发连接数
url_regexurl_regex -i ^rtsp://;url_regex -i ^emule://目标资源的URL地址,-i表示忽略大小写
urlpath_regexurlpath_regex -i sex sdult;urlpath_regex -i .mp3$目标资源的额、整个URL路径,-i表示忽略大小写
2)、设置访问权限
  • 定义好好、各种访问控制列表以后,需要使用http_access配置项来进行控制。需要注意的是,http_accss配置行必须放在对应的acl设置行之后。每一行http_access配置确定一条访问控制规则,格式如下:
http_access alow或deny 列表名···
  • 在每一条http_access规则中,可以同时包含多个访问控制列表名,每个列表之间以空格分隔,与“与”的关系,表示必须满足所有访问控制列表对应的条件才会进行限制。需要使用取反条件是,可以在访问控制列表前添加“!”符号。
  • 访问控制时,Squid将按照各条规则的顺序依次进行检查,如果找到一条项匹配的规则就不再向后搜索。因此规则顺序安排是非常重要的,以下两种默认情况需要我们注意。
(1)、没有设置任何规则时;Squid服务将拒绝客户端的请求
(2)、有规则但找不到相匹配的项:Squid将采用与最后一条规则相反的权限,即如果最后一条规则时allow,就拒绝客户端的请求,否则允许该请求。
3)、 验证访问控制效果
  • 在Squid代理服务器上设置是内网客户机192.168.100.101访问不到外网Web服务器192.168.190.128;

Squid缓存服务器之ACL访问控制与反向代理Squid缓存服务器之ACL访问控制与反向代理Squid缓存服务器之ACL访问控制与反向代理

2、反向代理

  • squid反向代理可以加速网站的访问速度,可将不同的URL请求分发到后台不同的web服务器上,同时互联网用户只能看到反向代理服务器的地址,加强网站的访问安全。

  • squid反向代理加速的原理描述如下:

  • (1)、Squid反向代理服务器位于本地Web服务器和Internet之间,客户端请求访问Web服务器时,DNS将访问的域名解析为Squid反向代理服务器的IP地址,客户端将访问Squid代理服务器。

  • (2)、如果Squid反向代理服务器缓存了该请求的资源,则将该请求的资源返回给客户端,否则反向代理服务器将向后台的Web服务器请求资源,然后将应答资源返回给客户端,同时也将该资源在本地缓存一份,供下一个请求使用。
1)、Squid反向代理实验拓补图

Squid缓存服务器之ACL访问控制与反向代理

2)、Squid反向代理实验环境
服务器IP地址功能
代理服务器172.16.190.130squid代理服务
client172.16.190.132负责访问
真实服务器1172.16.190.128提供http服务
真实服务器2172.16.10.131提供http服务
3)、实验步骤
  • (1)、配置squid代理服务器

vim /etc/squid.conf

http_port 192.168.190.130:80 accel vhost vport   # 将端口监听在 172.16.10.137的80端口上,accel 指启用加速模式,vhost,vport用于转发请求
cache_peer 192.168.190.128 parent 80 0 no-query originserver round-robin max_conn=30 weight=1 name=web1      #cache_peer 指定后端服务器地址,80 为后端服务端口,0 为 ICP 端口号(多个 Squid 时用),originserver 指定资源服务器,round-robin指使用轮询方式,weight指的是权重,自由分配,name 指定一个别名
cache_peer 192.168.190.131 parent 80 0 no-query originserver round-robin max_conn=30 weight=1 name=web2
cache_peer_domain web1 web2 www.yun.com #定义两个个基于域名的控制列表,分别命名为web1,web2

Squid缓存服务器之ACL访问控制与反向代理

  • (2)、开启http服务即可

  • (3)、修改客户端win7的地址解析使之识别www.yun.com

Squid缓存服务器之ACL访问控制与反向代理Squid缓存服务器之ACL访问控制与反向代理Squid缓存服务器之ACL访问控制与反向代理

转载于:https://blog.51cto.com/13659182/2154962

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值