一:squid简介:
Squid是一种在Linux系统下使用的优秀的代理服务器软件。Squid是一个缓存internet数据的一个软件,它接收用户的下载申请,并自动处理所下载的数据。也就是说,当一个用户想要下载一个主页时,它向Squid发出一个申请,要Squid替它下载,然后Squid 连接所申请网站并请求该主页,接着把该主页传给用户同时保留一个备份,当别的用户申请同样的页面时,Squid把保存的备份立即传给用户,使用户觉得速度相当快。
二:CDN简介:
CDN的全称是Content Delivery Network,即内容分发网络。其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等问题,提高用户访问网站的响应速度。为更好地理解CDN,让我们看一下CDN的工作流程。当用户访问已经加入CDN服务的网站时,首先通过DNS重定向技术确定最接近用户的最佳CDN节点,同时将用户的请求指向该节点。当用户的请求到达指定节点时,CDN的服务器(节点上的高速缓存)负责将用户请求的内容提供给用户。
CDN 网络加速器的四大优势 :
高速:提高了企业站点(尤其含有大量图片和静态页面站点)的访问速度,并大大提 高以上性质站点的稳定性
实用:当企业站点所存放的服务器短时宕机时,用户仍可以在很长一段时间访问 cache 服务器,获得该企业站点的信息;
简易:CDN 网络加速器对用户完全透明,购买、使用方便,不需对其空间作任何更 改,不影响原来空间维护操作和运行内容;
超值:本公司为 CDN 提供可再扩展的所有缓存服务器以及专用 DNS 硬件以及带宽,一次购买,可在各地电信机房自动为您"克隆"出多个站点副本,让站点遍布 internet 各处。
三:正向代理与反向代理
正向代理是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),
然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。
反向代理正好相反,对于客户端而言它就像是原始服务器,并且客户端不需要进行任何特别的设置。客户端向反向代理的名字空间(name-space)中的内容发送普通请求,接着反向代理将判断向何处(原始服务器)转交请求,并将获得的内容返回给客户端,就像这些内容原本就是它自己的一样。

案例一:配置正向代理服务器:

先安装设置squid服务器:

clip_image001

[root@zhang ~]#mkdir /mnt/cdrom        #创建挂载点

[root@zhang ~]# mount /dev/cdrom /mnt/cdrom/     #挂载光盘

[root@zhang ~]# cd /mnt/cdrom/Server/        #进入到光盘目录下的Server目录

[root@zhang Server]#ll squid*      #查找本目录下关于squid的所有文件

[root@zhang Server]# rpm -ivh squid-2.6.STABLE21-3.el5.i386.rpm   #安装squidrpm

[root@zhang Server]# grep -v "^#" /etc/squid/squid.conf |grep -v "^$"  #过滤配置文档信息

[root@zhang Server]# vim /etc/squid/squid.conf    #编辑配置文档,使squid服务器对内部网络做出限制。

clip_image002

clip_image003

限制来源ip:

clip_image004

clip_image005

[root@zhang ~]# service squid start   #启动squid服务器:

clip_image006

搭建windows上面的web服务器:

开始>控制面板>添加/删除程序>添加/删除windows组件>应用程序服务器>详细信息>

clip_image007

clip_image008

clip_image009

clip_image010

clip_image011

clip_image012

clip_image013

在客户端上进行验证:

首先配置intnet使用代理服务器:

clip_image014

先配置192.168.11.1:

clip_image015

clip_image016

再使用192.168.11.4:

clip_image017

clip_image018

[root@zhang ~]# tail -F /var/log/squid/access.log        #查看squid日志。

控制目的ip 地址:

拒绝访问目的ip为192.168.10.100 的服务器

[root@zhang ~]## vim /etc/squid/squid.conf      #编辑配置文档

acl badserver dst 192.168.10.100

http_access deny badserver                  #可以直接把这两句加到上面的配置文档里

clip_image019

clip_image020

clip_image021

除了上面两个另外还可以根据来源ip,目的ip,目的域名,目的域名关键字匹配,时间控制,url 控制,uri 控制等等。相关的限制参数可以在上面的文档内修改配置。在此不作一一演示。

透明代理:

先取消客户端的代理设置:

clip_image022

修改客户端的网卡配置:

clip_image023

clip_image024

[root@zhang ~]# vim /etc/squid/squid.conf    #编辑配置文档

clip_image025

[root@zhang ~]# vim /etc/sysctl.conf #编辑配置文档,打开路由转发功能

clip_image026

[root@zhang ~]#iptables -t nat -A PREROUTING -p tcp --dport 80 -i eth1 -j REDIRECT --to-port 3128

[root@zhang ~]# iptables -t nat -A POSTROUTING -p udp --dport 53 -o eth0 -j MASQUERADE

clip_image027

反向代理

拓扑图:

clip_image028

[root@zhang ~]#vim /etc/squid/dquid.conf

clip_image029

缓存的邻居为父级Web服务器,端口为80,而且该服务器为源头服务器

clip_image030

重启squid 服务,测试连接:

clip_image031