课程目标
-
了解squid的应用场景
-
理解squid的工作原理和作用
-
理解squid的代理类型(重点)
-
掌握squid的正向和透明代理的配置(重点)
-
能够根据需求对squid服务器做简单的访问控制
一、squid基本概述
1. squid是什么?用来做什么?
Squid cache(简称为Squid)是流行最广的,使用最普遍的开源缓存代理服务器
2. squid的作用和应用场景有哪些?
-
用来做前置的Web缓存,加快用户访问Web的速度
-
代理内网用户访问互联网资源
-
设置访问控制策略,控制用户的上网行为
-
主要支持http、ftp等应用协议
3. 常见的代理服务器软件
-
squid 非常古老,功能齐全
-
varnish 性能优于squid,功能相对没有squid多
-
其他 haproxy 、nginx等
4. squid的工作原理
二、squid代理类型
1. 正向代理
2. 透明代理
正向代理的过程隐藏了真实的请求客户端,服务器不知道真实的客户端是谁,客户端请求的服务都被代理服务器代替请求。我们常说的代理也就是正向代理,正向代理代理的是请求方,也就是客户端;
3. 反向代理
反向代理的过程隐藏了真实的服务器,客户不知道真正提供服务的人是谁,客户端请求的服务都被代理服务器处理。反向代理代理的是响应方,也就是服务端;
总结:
-
正向代理和透明代理中的代理服务器和客户端同属一个LAN,对server端是透明的,服务器并不知道自己为谁提供服务。作用都是让内网用户可以通过代理服务器上互联网,也可以提高访问速度,并且可以通过代理服务器的访问控制限制内网用户的上网行为。
-
反向代理的过程隐藏了真正的服务器,对client端是透明的,客户端并不知道真正提供服务的服务器。可以起到负载均衡的作用,提高用户的访问速度。
-
两者的区别在于代理的对象不一样:正向代理代理的对象是客户端,反向代理代理的对象是服务端
-
应用场景
-
正向和透明代理:一般用于公司内网用户访问互联网,根据需求进行访问控制
-
反向代理:一般用于公司服务器集群前做web缓存,提高用户访问效率,同时可以起到负载均衡作用,为互联网提供可持续的web服务
-
三、squid代理服务器和SNAT|DNAT的区别
1. SNAT和DNAT
-
网络层次:网络层
局域网用户访问外网走snat模式,同一个数据包,改变数据包头部的来源地址,再把数据包发到internet。
-
作用:内网用户上外网(SNAT)和内网服务发布到公网(DNAT)
2. 代理服务器模式
-
网络层次:应用层
不改变数据包头信息,把数据包代理给internet的服务器,基于应用层的过滤。
-
应用层:
-
协议:http、ftp、pop、smtp、p2p等
-
-
作用:缓存页面,加速访问,ACL资源访问控制
-
反向代理:
-
internet用户访问局域网服务器
-
Squid做反向代理服务器,把用户的请求转发到后方的真实的服务器,可以做到负载均衡的效果,同时缓冲用户经常访问的页面提高访问速度
-
四、了解squid代理软件相关信息
1. 安装软件
//squid在本地镜像里有,只需要配置好本地yum源即可 [root@squid-server ~]# yum -y install squi