码迷,mamicode.com
首页 > 其他好文 > 详细

CentOS7上实现Squid缓存服务器的两种模式

时间:2018-10-01 13:43:26      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:51cto   网络   c++   设置   实现   http   tin   process   需要   

一、缓存代理概述
Squid服务作为应用层的代理服务软件,Squid主要提供缓存加速和应用层过滤控制的功能。

二、代理的基本类型
根据实现的方式不同,代理服务可以分为传统代理和同名代理两种行间的代理服务

1.传统代理:也就是普通的代理服务,首先必须在客户机的浏览器、下载软件等程序中手动设置代理服务器的地址和端口,然后才能使用代理服务来访问网络。对于网页浏览器,访问网站时的域名解析请求也会发送给指定的代理服务器。
2.透明代理:提供与传统代理相同的功能和服务,其区别在于客户机不需要指定代理服务器的地址和端口,而是通过默认路由、防火墙策略将Web访问重定向,实际上仍然交给代理服务器来处理。重定向的过程对客户机来说是“透明”的,用户甚至并不知道自己在使用代理服务,所以称为“透明代理”。使用代理时,网页浏览器访问网站时域名解析请求将优先发给DNS服务器。

Squid安装包链接: https://pan.baidu.com/s/1msvOkRBGuWWkoGyrfO7qYA 提取码: 4rqs

实验环境:一台CentOS做Squid服务,一台CentOS7提供Apache服务,一台Windows7

三、操作步骤
1.安装Squid服务
技术分享图片
首先安装编译环境 gcc gcc-c++ make。把解压下来的Squid手工编译安装。

技术分享图片
建立软链接方便系统识别。创建squid用户来管理Squid服务。给文件设置squid用户的权限。

技术分享图片
对/etc/squid.conf这个文件修改内容,首先设置允许所有来访问。
技术分享图片
指定端口、用户和组

技术分享图片
初始化缓存目录并启动服务

技术分享图片
为了方便管理squid可以写一个运行脚本来管理。脚本在Squid数据包里。这里就不展示了。

技术分享图片
脚本写完后为了方便service所能识别添加名称,并设置开机自启动。当然脚本写完,还要给执行权限。之后就可以用service来启动squid服务了。
到这里Squid服务就算安装完毕了,下面要进行的是设置传统代理。

2.传统代理设置
技术分享图片
到/etc/squid.conf主配置文件修改如上内容

技术分享图片
清空防火墙策略。在INPUT中对于tcp协议,目标端口是3128,做一个允许转发。

技术分享图片
在另一台服务器上提供一个Apache就可以了,关闭防火墙。

技术分享图片
设置代理服务器的地址和端口。在地址栏输入Web服务器地址

技术分享图片
技术分享图片
通过Apache的日志文件看到是通过代理服务器来访问的。

2.透明代理
在做透明带里之前要对Squid服务器在添加一块网卡。其中Squid服务器上一块网卡是要作为Web服务器的网关。另一块作为客户端的网关

技术分享图片
安装完Squid服务后。在/etc/squid.conf下修改如上内容。

技术分享图片
初始化缓存目录并开启服务

技术分享图片
既然squid服务器做了网关,自然要帮别人转发数据包。之后在清空防火墙策略。

技术分享图片
这三条协议的意思是:
在INPUT中对于tcp协议,目标端口是3128,做一个允许转发。
对于nat表PREROUTING链指定内网口是ens33,对于源地址端口为100段没指定协议为tcp指定目标端口为80重定向到3128端口。
对于nat表PREROUTING链指定内网口是ens33,对于源地址端口为100段没指定协议为tcp指定https为443端口重定向到3128端口

技术分享图片
在客户机上访问Web地址后。再通过Apache的日志文件来查看是不是Squid来访问的。

CentOS7上实现Squid缓存服务器的两种模式

标签:51cto   网络   c++   设置   实现   http   tin   process   需要   

原文地址:http://blog.51cto.com/13840048/2288302

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!