一 、基础知识:
1 、Squide代理服务器:
Squid代理服务器是一个缓存Internet数据的软件,可以代理HTTP、FTP、GOPHER、SSL和WAIS等协议,提高用户下载页面的速度,并设置过滤。使用Squid可以通过访问控制特性来灵活的控制用户访问时间、站点等限制。这些可以通过Squid ACL和访问列表来轻松实现。2 、代理服务器:
代理服务器是介于浏览器和Web服务器之间的另一台服务器。有了该服务器之后,浏览器发出的信息会先送到代理服务器,由代理服务器来取回网页内容并传送给客户的浏览器。平时我们提到代理服务器,主要是终端用户如何寻找自己需要的代理;而本专题所介绍的,则是服务器端的架设、配置等方面。对企业网络而言,代理服务器可以起到控制网络访问并屏蔽不安全信息,以及网络加速的目的。3 、代理服务器的类型:
正向代理:【内网--->外网】内网访问外网;相当于snat; 反向代理:【外网--->内网】服务器发布;相当于dnat;4 、代理服务器的特点:
设置用户验证和记账功能; 对用户进行分级管理; 增加缓存器,提高访问速度; 连接内网与Internet,充当防火墙; 节省ip开销;5 、代理服务器的优缺点;
优势:控制力度比较强,能够控制网络层参数【地址】,控制传输层参数【协议、端口号】 应用层参数【应用层协议、参数(帐号网址参数)】 缺点:支持的应用少【支持:http ftp少部分协议】6 、代理服务器平台:
Window平台:wingate、sygate、winroute、proxy—>isa Linux平台:squid7 、代理服务器的作用:
共享网络; 可以对页面进行缓存,加快访问速度; 在网络中出现拥挤或故障时,可以通过代理服务器访问网络资源; 防止***; 突破限制; 掩藏身份; 提高下载速度;8 、代理服务器原理:
Window代理常用端口:8080 Squid代理默认端口:31289 、反向代理
反向代理也就是通常所说的WEB服务器加速,它是一种通过在繁忙的WEB服务器和Internet之间增加一个高速的WEB缓冲服务器(即:WEB反向代理服务器)来降低实际的WEB服务器的负载。二 、案例1:
1 、实验要求:
公司希望通过代理服务器实现透明代理,要求上班时间只允许技术部通过网页来访问Internet;而市场部不可以在上班时间访问Internet; 技术部的地址(192.1683.10.10-192.168.10.100/24)在工作中能够访问网页; 市场部的地址(192.1683.10.10-192.168.10.100/24)在工作中不能访问网络; 在下班时间中都能访问网络;2 、拓扑图:
3 、实验步骤:
1>配置代理服务器的网络:
##配置网卡地址:
由于是出于内网中进行测试,所以代理服务器的外网接口使用的私有ip,并且配置了网关指向;##配置DNS指向:
##重启网路服务:
2>挂载光盘:
[root@localhost ~]# mount /dev/cdrom /mnt/cdrom mount: block device /dev/cdrom is write-protected, mounting read-only [root@localhost ~]#3>安装squid服务:
[root@localhost ~]# cd /mnt/cdrom/Server/ [root@localhost Server]# rpm -ivh squid-2.6.STABLE21-3.el5.i386.rpm Preparing... ########################################### [100%] 1:squid ########################################### [100%] [root@localhost Server]#4>编辑squid主配置文档:
[root@localhost ~]# vim /etc/squid/squid.conf##设置代理监听端口:
监听端口指定为代理服务器内网卡地址的3128端口,是为了不通过外网卡进行代理服务,保证代理服务器的正确性; transparent表示开启代理服务器的透明代理;##设置visible hostname内容:
当访问的页面被拒绝时,代理服务器会返回拒绝者是谁。5>编写acl控制策略:
注意顺序,注意逻辑;在做策略控制时笔者很纠结!
6>打开代理服务器的数据包转发功能:
[root@localhost ~]# vim /etc/sysctl.conf7>使用iptable实现dns的转发:用于实现内网的dns解析:
[root@localhost ~]# iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -p udp --dport 53 -o eth0 -j MASQUERADE8>通过iptable的nat转换实现端口转发,来实现【端口重定向】
[root@localhost ~]# iptables -t nat -A PREROUTING -p tcp --dport 80 -i eth1 -j REDIRECT --to-ports 31284 、实验测试:
1 、技术部测试PC的地址
##处于上班时间:
##技术部可以通过80(http)或443(https)访问网络:
##处于下班时间:
##这时市场部能够访问网络:
2 、市场部测试PC地址:
##处于上班时间是:
##市场部的主机不能通过浏览器访问网络:
##在下班时间:
##市场部能够访问网络:
三、案例2:
1 、实验要求:
公司希望通过squid的反向代理实现WEB服务器加速;2 、拓扑图:
3 、实验步骤:
1>配置代理服务器的网络:
##配置网卡地址:
##重启网络服务:
2>挂载光盘:
[root@localhost ~]# mount /dev/cdrom /mnt/cdrom mount: block device /dev/cdrom is write-protected, mounting read-only [root@localhost ~]#3>安装squid代理服务:
[root@localhost ~]# cd /mnt/cdrom/Server/ [root@localhost Server]# rpm -ivh squid-2.6.STABLE21-3.el5.i386.rpm Preparing... ########################################### [100%] 1:squid ########################################### [100%] [root@localhost Server]#4>配置squid主配置文档:
##反向代理端口
##缓存的对端是兄弟还是父亲:
页面缓存请求地址指向,指向是父级的主机,父级的端口80,使用3130端口进行访问;##禁用掉阻止所有代理的策略,并允许所有:
5>启动squid服务:
[root@localhost ~]# service squid start init_cache_dir /var/spool/squid... Starting squid: ........[ OK ] [root@localhost ~]#6>web服务器配置:
##Web服务器地址配置:
##测试页面:
##web网站ip地址:
##默认首页面格式:
##浏览测试页:
4 、测试:
##客户端ip地址
##通过http协议访问代理服务器的外网接口: