Linux系统squid服务

一、suqid

Squid是一个高性能的代理缓存服务器,Squid支持FTP、gopher和HTTP协议。和一般的代理缓存软件不同,Squid用一个单独的、非模块化的、I/O驱动的进程来处理所有的客户端请求。
Squid是一种用来缓冲Internet数据的软件。它是这样实现其功能的,接受来自人们需要下载的目标(object)的请求并适当地处理这些请求。也就是说,如果一个人想下载一web页面,他请求Squid为他取得这个页面。Squid随之连接到远程服务器(比如:http://squid.nlanr.net/)并向这个页面发出请求。然后,Squid显式地聚集数据到客户端机器,而且同时复制一份。当下一次有人需要同一页面时,Squid可以简单地从磁盘中读到它,那样数据迅即就会传输到客户机上。当前的Squid可以处理HTTP,FTP,GOPHER,SSL和WAIS等协议。但它不能处理如POP,NNTP,RealAudio以及其它类型的东西。

二、正向代理

由于内网主机持有的是私有IP,无法直接访问web服务器172.25.254.27.0/24,当内网主机向web服务器的80端口发送的请求数据包到达squid代理服务器后,代理服务器得知内网用户的请求后,把数据包重定向到自己的3128端口,然后从自己的eth1口(172.25.254.127)向外发送请求数据包到web服务器,web服务器接收到请求后,把请求的结果发送给代理服务器,代理服务器自己缓存一份,再发送给内网主机。

数据包真实的走向:

内网主机 ————————→ (eth1代理服务器(eth0)
————————→web服务器

172.25.27.227 ←———————— 172.25.27.127←—172.25.254.127 ←————————-172.25.254.27

从用户角度看数据包的走向:

内网主机 ————————→ web服务器

172.25.27.227←———————— 172.25.254.27

内网主机感觉不到代理服务器的存在,认为自己向web服务器直接发送请求数据包,web服务器接收到请求消息后,直接把请求的结果发送给自己,当提供服务时代理服务器对于内网主机是透明的。

这里写图片描述

server
1 yum install squid.x86_64 -y   ##安装squid.x86_6
2 vim /etc/squid/squid.conf     ##编辑squid配置文件
 59 http_port 3128              ##开启3128端口
 62 cache_dir ufs /var/spool/squid 100 16 256           
3 cd /var/spool/squid/          ##切换到该目录
-->ls                           ##没有
-->systemctl start squid        ##重启squid服务
-->ls                           ##端口开启的目录
-->cd 00/                       ##切换到00目录
-->ls                           ##有很多文件

1 安装squid
这里写图片描述

2 编辑配置文件,切换到该目录下,看不到内容,重启服务之后可以看到
这里写图片描述

3 开启3128端口,有16个swap,每个里面有256个端口
这里写图片描述

client
1 打开firefox                     
-->Edit->Preferences->Advanced->Network->Settings..->Manual poxy configuration
-->如下图,开启127主机的代理服务,打开3128端口
2  测试 
http://172.25.254.229                   ##不再254ip段的27227主机通过127主机的eth1254ip段访问到254ip段的229主机

27.227主机打开浏览器开启3128端口
这里写图片描述

测试:
可以访问到不同网段的ip地址
这里写图片描述

三、反向代理

客户端请求访问 WEB 服务时,DNS 将访问的域名解析为 Squid 反向代理服务器的 IP 地址,这样客户端的 URL
请求将被发送到反向代理服务器。如果 Squid
反向代理服务器中缓存了该请求的资源,则将该请求的资源直接返回给客户端,否则反向代理服务器将向后台的 WEB
服务器请求资源,然后将请求的应答返回给客户端,同时也将该应答缓存在本地,供下一个请求者使用。
这里写图片描述

server 
1 vim /etc/squid/squid.conf           ##编辑squid配置文件
59 http_port 80 vhost vport           ##开启80端口
60 cache_peer 172.25.254.116 parent 80 0 proxy-only                                                     ##将代理地址转向254.116主机
2 systemctl start squid               ##重启squid服务

关闭3128端口,开启80端口,web服务器指向116主机
这里写图片描述

client
1 打开firefox
-->Edit->Preferences->Advanced->Network->Settings..->Manual poxy configuration
-->取消3128端口 如下图 
2 测试
http://172.25.27.127                    ##通过127主机访问指向254段的116主机

测试:
关闭正向代理的服务
这里写图片描述

访问127主机,指向web116主机服务器
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值