开发者社区> 技术小阿哥> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

squid 代理服务器

简介:
+关注继续查看
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 可以访问到测试页面,透明代理配置完成!



本文转自 周新宇1991 51CTO博客,原文链接:http://blog.51cto.com/zhouxinyu1991/1269444,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
13688
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载