squid 代理服务器
一、正向代理
  正向代理存在于服务器与客户端之间,正向代理需要设置client端的浏览器,需要把代理服务器的ip地址告诉浏览器,使用squid正向代理,正向代理是用户知道有这个代理服务器的存在,正向代理使用在client端网速比较慢,当client通过squid服务器区访问web server 的时候,squid会缓存一些数据,当client再次访问的时候,squid会直接给client自己缓存的数据,节省了带宽
下面开始简单的配置一个正向代理服务器
需要:
       1、 3台虚拟机,我使用的是vmware虚拟机
       client的网卡设置为
235242517.jpg
             client ip地址为:192.168.1.1/24
       squid服务器有两块网卡、设置连接模式为
235328140.jpg
             第一个网卡ip地址 192.168.1.2/24
             第二个网卡ip地址 172.16.1.1/16
                  (要保证squid 服务器可以同时ping通)
             要注意看看哪个连接是vmnet2 哪个连接是vmnet3
             弄乱了可是ping不通的

               web server 服务器网卡连接模式
235358153.jpg
  web server ip地址 172.16.1.2/16
        &(这么做主要是让client 不能直接访问web server 达到测试
             squid 的目的)
下面开始配置
     一、首先在web server上搭建简单的http 服务
                yum  install  -y  httpd
                /etc/init.d/httpd start
     二、现在在client端访问

235459680.jpg

提示是连接失败!
         ( 我们现在不能直接通过client直接去访问web server)
     三、使用squid 去访问web server

235538232.jpg

               可以看到这个页面。
     四、现在配置squid服务
          yum install -y squid //安装squid 服务
          vim /etc/squid/squid.conf
          920(行号)  http_port   192.168.1.2:3128
                      192.168.1.2 是squid服务器上于client相连接的 ip地址
                           3128 是squid的端口号
           637 (行号) http_access allow all
                           这个squid服务器 为所有的client代理
          1783(行号) cache_dir   ufs /var/spool/squid 100 16 256
                           这一行打开注释
                         ufs 代表同步,如果有请求直接写入硬盘,
                               然后在响应请求
                         aufs 代表异步,先响应请求,然后在写入磁盘
                         /var/spool/squid 这个目录下存放的是缓存的数据
                        100 : 单位是M 表示缓存数据的大小
                        16 : 一级目录的数量
                        256:二级目录的数量
            1840(行号) cache_swap_high   95
                        95:代表cache 占用swap的空间最多是百分之95,如 果大于百分之95,squid会自动删除之前保存的 数据
            1839 (行号) cache_swap_low   90
                        90: 代表删除的时候还是会保存最新的百分之90
            1576 (行号)   cache_mem 8MB
                       代表squid能使用多少内存,如果你的内存足够可以调
                       的稍微大一点
            2974 (行号)    cache_effective_user   squid
                       通知系统是以squid用户的身份去执行
全部配置完成 启动服务
/etc/init.d/squid start
成功启动
下面完成测试
五、在client配置浏览器(我的是firefox)

235627356.jpg

点击最下面的Preferences

235705548.jpg

点击 settings

235737242.jpg

ip地址写的是能于client   ping通的squid ip地址
配置完成保存退出
直接使用浏览器去访问http://172.16.1.2
看到测试页面,正向代理完成!

235538232.jpg


二、 squid 透明代理
        透明代理:原理与正向代理基本相同,只是客户端的网关需要指向squid 的ip地址,配置也基本差不多
①  下面开始简单配置:
     vim /etc/squid/squid.conf
到920行  将这一行改为http_port   192.168.1.2:3128   transparent
接下来配置防火墙规则
iptables -t nat -A PREROUTING -s 192.168.0.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128
(这一行代表所有192.168.1.0这个网段访问squid的80端口,都由防火墙转发到3128的squid服务端口)
配置完成后重启服务。
client端配置
      首先取消浏览器中的代理服务 改为no proxy。然后将client的网关设置成squid的ip地址
访问web server 可以访问到测试页面,透明代理配置完成!