squid代理缓存服务

使用Squid服务程序部署代理缓存服务

5/13/2018 9:46:42 AM

  • 简介
      1. 代理缓存服务
      1. 安装Squid服务程序,提供标准正向代理服务
      1. 透明正向代理服务
      1. 反向代理服务

一、代理缓存服务

A. 代理缓存服务器基本结构


squid代理缓存服务_第1张图片

  • B. 代理客户端去请求服务器,隐藏了真实客户端,服务器并不知道真实的客户端是谁。正向代理中,代理服务器代理的是客户端,代理服务器和客户端是一伙的。

标准正向代理拓扑图,如下所示


squid代理缓存服务_第2张图片

实际的拓扑结构图


squid代理缓存服务_第3张图片

用途:

1、访问原来无法访问到的资源。
目前普遍不使用代理服务器,当我们PC处于内部网络时,网关会使用NAT(网络地址转换)技术,将PC内部ip地址和外网ip地址进行转换,使PC的请求能够到达外部网络的服务器。

2、做缓存优化。

3、客户端访问控制管理,提高安全性。

  • C.反向代理隐藏了真正的服务端,就像我们使用百度的时候,只知道敲打www.baidu.com就可以打开百度搜索页面,但背后成千上万台百度服务器具体是哪一台为我们服务的,我们并不知道。我们只知道这个代理服务器,它会把我们的请求转发到真实为我们服务的那台服务器那里去。反向代理中,代理服务器代理的是后端服务器,代理服务器和后端服务器是一伙的

反向代理拓扑图,如下所示


squid代理缓存服务_第4张图片

实际的拓扑结构图


squid代理缓存服务_第5张图片

用途:
1、缓存优化。
2、负载均衡。
3、提高安全性。

综上所述:正向代理代理对象是客户端,反向代理代理对象是服务端。

二、 安装Squid服务程序,提供标准正向代理服务

  • 基本过程

      - 1. 安装Squid服务程序
      - 2. 重启squid服务程序,并加入开机启动 systemctl restart/enable squid
      - 3. 为服务端添加网卡,使仅主机模式可以正常上网
      - 4. 客户端测试正向代理服务
    
1. 安装Squid服务程序 yum install -y squid


在这里插入图片描述

2. 重启squid服务程序,并加入开机启动 systemctl restart/enable squid


在这里插入图片描述

3. 为服务端添加网卡,使仅主机模式可以正常上网


squid代理缓存服务_第6张图片

设置服务端网卡信息


squid代理缓存服务_第7张图片

重启网卡,并查看新添加的网卡信息


squid代理缓存服务_第8张图片

清空防火墙,并保存防火墙设置。实际的环境中需要配置相应的防火墙规则链,此处请注意


在这里插入图片描述

4. 客户端测试正向代理服务


squid代理缓存服务_第9张图片


squid代理缓存服务_第10张图片


squid代理缓存服务_第11张图片

设置浏览器的代理,配置代理服务器的相关网络参数

squid代理缓存服务_第12张图片

设置好代理服务器后,客户端可以正常访问百度等网站

squid代理缓存服务_第13张图片

正常显示百度网站的主页

squid代理缓存服务_第14张图片

三、透明正向代理服务

百科定义:透明代理的意思是客户端根本不需要知道有代理服务器的存在,它改变你的request fields(报文),并会传送真实IP,多用于路由器的NAT转发中。注意,加密的透明代理则是属于匿名代理,意思是不用设置使用代理了,例如Garden 2程序

透明”二字指的是让用户在没有感知的情况下使用代理服务,这样的好处是一方面不需要用户手动配置代理服务器的信息,进而降低了代理服务的使用门槛;另一方面也可以更隐秘地监督员工的上网行为。

在透明代理模式中,用户无须在浏览器或其他软件中配置代理服务器地址、端口号等信息,而是由DHCP服务器将网络配置信息分配给客户端主机。这样只要用户打开浏览器便会自动使用代理服务了。如果此时并没有配置DHCP服务器,可以手动配置客户端主机的网卡参数(默认网关和DNS域名服务)。

实际上是通过网关进行了代理服务,为用户提供网络服务。

技术实现:通过SNAT技术完成数据的转发,让客户端主机将数据交给Squid代理服务器,再由后者转发到外网中。简单来说,就是让Squid服务器作为一个中间人,实现内网客户端主机与外部网络之间的数据传输。

让内网中的客户端主机能够正常访问外网,客户端主机首先要能获取到DNS地址解析服务的数据,这样才能在互联网中找到对应网站的IP地址。下面通过iptables命令实现DNS地址解析服务53端口的数据转发功能,并且允许Squid服务器转发IPv4数据包。sysctl -p命令的作用是让转发参数立即生效


在这里插入图片描述

sysctl -p 命令的作用是让转发参数立即生效


在这里插入图片描述

1. 编辑squid服务的主配置文件,开启有名代理模式与缓存


在这里插入图片描述

2. 使用squid -k parse命令检查主配置文件是否有错误,


squid代理缓存服务_第15张图片

使用squid -z命令对Squid服务程序的透明代理技术进行初始化 ,并重启squid服务####


squid代理缓存服务_第16张图片

3.SNAT数据转发功能–使用iptables防火墙管理命令把所有客户端主机对网站80端口的请求转发至Squid服务器本地的3128端口上


squid代理缓存服务_第17张图片

4.设置客户端的网络参数


squid代理缓存服务_第18张图片

5.测试客户端代理服务


squid代理缓存服务_第19张图片

可以正常访问百度网站主页

squid代理缓存服务_第20张图片

四、ACL访问控制

Squid服务程序的ACL是由多个策略规则组成的,它可以根据指定的策略规则来允许或限制访问请求,而且策略规则的匹配顺序与防火墙策略规则一样都是由上至下**;在一旦形成匹配之后,则立即执行相应操作并结束匹配过程。为了避免ACL将所有流量全部禁止或全部放行,起不到预期的访问控制效果,通常会在ACL的最下面写上deny all或者allow all语句,以避免安全隐患。**

1. 只允许IP地址为192.168.10.20的客户端使用服务器上的Squid服务程序提供的代理服务,禁止其余所有的主机代理请求。


squid代理缓存服务_第21张图片

客户端由于IP符合禁止规则,所以不能通过代理服务正常访问京东


squid代理缓存服务_第22张图片

其网络参数如下:

squid代理缓存服务_第23张图片
更换IP后可以正常访问网站

squid代理缓存服务_第24张图片

2. 禁止所有客户端访问网址中包含linux关键词的网站


squid代理缓存服务_第25张图片

由于客户端访问的网址包含linux关键字,所以其不可以通过代理服务器访问包含linux关键字的网站


squid代理缓存服务_第26张图片

同样,还可以禁止访问指定的网址和相应内部下载带有某些后缀的文件

acl deny_url url_regex http://www.taobaobao.com   #禁止客户端访问指定的网址

acl badfile urlpath_regex -i \.mp3$ \.rar$   #禁止下载带有指定后缀名的文件

注:修改主配置文件后,记得重启squid服务,使squid的配置文件生效,其他的禁止策略后续更新

在这里插入图片描述

五、反向代理服务

百科定义:反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。

1. 安装Squid服务程序


在这里插入图片描述

2. 编辑虚拟机的网卡为桥接模式,使其可以正常访问网络


squid代理缓存服务_第27张图片

3. 编辑虚拟的网卡参数


squid代理缓存服务_第28张图片

4. 修改其为自动获取IP(DHCP)


squid代理缓存服务_第29张图片

5. 修改Squid服务的主配置文件,设置新节点主机参数与源服务器的参数


squid代理缓存服务_第30张图片

6. 未重启Squid服务前,通过新节点无法访问源服务器的网站


squid代理缓存服务_第31张图片

7. 重启Squid服务后,可通过新节点访问源服务器的网站


在这里插入图片描述


squid代理缓存服务_第32张图片

注:欢迎讨论学习!

你可能感兴趣的:(Linux运维基础,负载均衡,代理缓存服务,透明代理,反向代理)