本次讲解了代理服务器的常见类型

学会构建传统代理,透明代理服务

学会配置Squid的访问控制策略。

一,Squid服务基础

    代理的工作机制

            客户机通过代理来请求web页面时,指定的代理服务器会先检查自己的缓存,如果缓存中已经有客户机需要的页面,责直接将缓存中的页面内容反馈给客户机;但是如果缓存中没有客户机要访问的页面,则由代理服务器向internet发送访问请求,当获得返回的web页面以后,将网页数据保存到缓存中并发送给客户机。http代理的缓存加速对象主要是文字,图像等静态web元素。

        代理的基本类型:

            传统代理:普通的代理服务。必须在客户机的浏览器等上网程序中手动设置代理服务器的地址和端口,然后才能使用代理访问网络。

            透明代理:提供与传统代理相同的功能和服务,其区别在于客户机不需要指定代理服务器的地址和端口,而是通过默认路由,防火墙策略将web访问重定向,实际仍然交给代理服务器来处理

    1.安装及运行控制

    编译安装Squid:

            配置Squid的编译选项时,将安装目录设为/usr/local/squid,其他具体选项根据实际需要来定。

    

        prefix=/usr/local/squid        //安装目录

        sysconfdir=/etc                //单独将配置文件修改到其他目录

        --enable-arp-cal               //可以在规则中设置直接通过客户端MAC进行管理,防止客户端使用ip欺骗

        --enable-linux-netfilter       //使用内核过滤

        --enable-async-io              //支持透明模式

           --enable-err-language="Simplify_Chinese"   //错误的显示语言

            --enable-underscore                       //允许URL中有下划线

            --enable-poll                            //使用poll()模式,提升性能

        --enable-gnuregex                            //使用GNU正则表达式

        安装完后,创建链接文件,创建用户和组

    

        squid的配置文件:

            配置文件位于/etc/squid.conf

        squid的运行控制

            检查配置文件语法是否正确

                    squid  -k  parse

            启动,停止Squid

                    squid -z         //用来初始化缓存目录

                    squid            //启动squid服务

            确定Squdi服务处于正常监听状态

                    netstat  -anpt   |    grep    “squid”

    由于传统代理现在企业中很少用,实现最为简单。就不做过多的讲解

   2.透明代理

        配置squid支持透明代理 

    设置iptables的重定向策略

        透明代理中的Squid服务实际上是构建在linux网关主机上多大,因此只需要正确设置防火墙策略,就可以将局域网主机访问internet是数据包转交给Squid进行处理。这需要用到iptables的REDIRECT策略,其作用是实现本机端口的重新定向,将访问网站协议http,https的外发数据包转交给本机的squid服务