Squid代理服务器应用(传统模式与透明模式实操配置)
前言
又俗称CDN,CDN全称是Content Delivery Network,即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。
一:缓存代理概述
1.1:Web代理的工作机制
-
缓存网页对象,减少重复请求
-
我们都知道只有通过访问web服务器才能获取到网页信息,如果访问量在几百、几千…服务器还有可能承受的住,如果访问并发量在上万可能性能再好的服务器也顶不住这巨大的访问请求。所以为了减缓服务器的压力,就有了squid代理服务器。也就是说用户不是直接访问web服务器,而是通过访问squid代理服务器,代理去访问web,将网页缓存在代理中。这样用户就避免了直接访问web服务器,也会大大减少由于大量访问所导致的web端的延时。
1.2:代理的基本类型
- 传统代理:适用于Internet,需明确指定服务端
- 透明代理:客户机不需指定代理服务器的地址和端口,而是通过默认路由、防火墙策略将Web访问重定向给代理服务器处理
1.3:使用代理的好处
- 提高Web访问速度
- 隐藏客户机的真实IP地址
二:搭建squid实验配置
2.1:实验环境
- 三台centos 7
- 一台做squid代理服务器:20.0.0.51
- 一台做web服务器:20.0.0.52
- 一台做客户端:20.0.0.20
2.2:实验目的
- 通过查看日志文件可以看到地址的转换,从客户端IP转换成squid代理服务器地址,进而隐藏源IP地址
2.3:实验步骤
- 准备squid软件包
- 解压squid安装包
tar zxvf squid-3.4.6.tar.gz -C /opt/
- 安装编译环境
[root@squid ~]# cd /opt/squid-3.4.6/
[root@squid squid-3.4.6]# yum install gcc gcc-c++ -y
- 编译安装
[root@squid squid-3.4.6]# ./configure --prefix=/usr/local/squid \ '安装路径'
--sysconfdir=/etc \ '配置文件目录'
--enable-arp-acl \ '开启ACL'
--enable-linux-netfilter \ '内核过滤'
--enable-linux-tproxy \'透明模式'
--enable-async-io=100 \'io优化吞吐量'
--enable-err-language="Simplify_Chinese" \
--enable-underscore \'支持下划线字符'
--enable-poll \'poll功能模块'
--enable-gnuregex '支持正则'
[root@squid squid-3.4.6]# make && make install
- 路径优化,以及程序用户的创建
[root@squid squid-3.4.6]# ln -s /usr/local/squid/sbin/* /usr/local/sbin '做软链接,优化路径'
[root@squid squid-3.4.6]</