一、缓存代理概述
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来访问的。
原文地址:http://blog.51cto.com/13840048/2288302