文章目录
二十一、Linux下部署squid代理服务器
21.1 squid的介绍
- Squid是一个高性能的代理缓存服务器,Squid支持FTP、gopher、HTTPS和HTTP协议。
- 用途:
- 通过缓存的方式为用户提供web访问加速
- 对用户的web访问进行过滤控制
- 服务名:squid
- 主配置文件:/etc/squid/squid.conf
- 监听端口:3128
Squid是一种用来缓冲Internet数据的软件。它是这样实现其功能的,接受来自人们需要下载的目标(object)的请求并适当地处理这些请求。也就是说,如果一个人想下载一web页面,他请求Squid为他取得这个页面。Squid随之连接到远程服务器(比如:http://squid.nlanr.net/)并向这个页面发出请求。然后,Squid显式地聚集数据到客户端机器,而且同时复制一份。当下一次有人需要同一页面时,Squid可以简单地从磁盘中读到它,那样数据迅即就会传输到客户机上。当前的Squid可以处理HTTP,FTP,GOPHER,SSL和WAIS等协议。但它不能处理如POP,NNTP,RealAudio以及其它类型的东西。
21.2 正向代理
正向代理 :意思是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端才能使用正向代理。典型的正向代理是一种最终用户知道并主动使用的代理方式
21.2.1 实验环境
- 主机A:单网卡不能上网;IP:172.254.0.11
- 主机B: 双网卡;IP1:192.168.0.109 可以上网;IP2:172.254.0.10 和主机A的IP同网段,连接单网卡主机,作为正向代理服务器。
21.2.2 正向代理服务器配置
- 在主机B安装squid软件,并设置防火墙
- 修改配置文件,重启服务
[root@squid]$ vim /etc/squid/squid.conf
缓存目录解释:
[root@squid]$ systemctl restart squid
- 测试:设置主机A可以通过主机B进行网络访问
- 注意主机A只是可以访问squid从其他主机获取的信息并不能直接ping通外网
21.3 反向代理
反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率
21.3.1 实验环境
- 主机A:172.254.0.10 充当主服务器
- 主机B:172.254.0.11 充当客户主机
- 主机C 172.254.0.9 充当子服务器
21.3.2 反向代理服务器设定
- 在主机C上安装squid并修改squid配置文件,设定(172.254.0.10)主机A为反向代理服务器的父级资源主机,浏览器访问需要将端口改为80端口。设置80记着设置防火墙。
[root@squid]$ vim /etc/squid/squid.conf
[root@squid]$ systemctl restart squid
- 测试,在主机B即客户机上访问主机Cip发现可以访问主机A的文件。