主机名 IP地址  网关   DNS   服务类型 
Master

eth0:192.168.17.130(VMnet4)

eth1:192.168.30.130(NAT)

192.168.30.2 119.29.29.29  Squid
client eth0:192.168.17.131(VMnet4) 192.168.17.131  无  

服务端安装Squid服务

[root@Master ~]# yum install -y squid

配置正向代理,修改配置文件

  1. [root@Master ~]# vim /etc/squid/squid.conf //添加
  2. acl localdomain src 192.168.30.0/
  3. http_access allow localdomain
    这里修改配置文件的第二种方式是
    搜索http_access deny alldeny修改为allow,同时注释掉上面添加的两行内容

启动squid服务测试

在客户端测试

只是有点慢,还有不知道为什么打不开百度。

配置透明代理,在正向代理的基础上。

  1. [root@Master ~]# vim /etc/squid/squid.conf
  2. http_port transparent #直接搜索http_port 3128然后在行尾加上一个单词即可

开启IPv4地址转发

  1. [root@Master ~]# vim /etc/sysctl.conf
  2.  
  3. net.ipv4.ip_forward =

使之生效,并配置iptables:

  1. [root@Master ~]# sysctl -p
  2. net.ipv4.ip_forward =
  3. net.ipv4.conf.default.rp_filter =
  4. net.ipv4.conf.default.accept_source_route =
  5. kernel.sysrq =
  6. kernel.core_uses_pid =
  7. net.ipv4.tcp_syncookies =
  8. kernel.msgmnb =
  9. kernel.msgmax =
  10. kernel.shmmax =
  11. kernel.shmall =
  12. [root@Master ~]# service iptables start
  13. iptables: Applying firewall rules: [ OK ]
  14. [root@Master ~]# iptables -t nat -A POSTROUTING -s 192.168.17.0/ -j SNAT --to 1922.168.30.130 //SNAT代理内部上网,将内部的地址全部转化为可以上网的地址 192.168.1.63
  15. [root@Master ~]# iptables -t nat -A PREROUTING -s 192.168.17.0/ -i eth0 -p tcp --dport -j REDIRECT --to-port 3128 //端口转化,来自192.168.2.0,从eth1且端口为80的数据进行数据重定向到3128,代理服务器为你工作
  16. [root@Master ~]# iptables -L -t nat
  17. Chain PREROUTING (policy ACCEPT)
  18. target prot opt source destination
  19. REDIRECT tcp -- 192.168.17.0/ anywhere tcp dpt:http redir ports
  20.  
  21. Chain POSTROUTING (policy ACCEPT)
  22. target prot opt source destination
  23. SNAT all -- 192.168.17.0/ anywhere to:192.168.30.130
  24.  
  25. Chain OUTPUT (policy ACCEPT)
  26. target prot opt source destination

重启squid去客户端测试

客户端确认DNS和网关都可以ping通

然后测试

使用curl -I www.sina.com或者time curl www.sina.com

配置反向代理加速

  1. [root@master ~]# vim /etc/squid/squid.conf
  2.  
  3. http_access allow all
  4.  
  5. http_port vhost #启用虚拟主机
  6. cache_peer 192.168.17.131 parent no-query originserver weight= name=a
  7. cache_peer 192.168.17.131 parent no-query originserver weight= name=b
  8. #no-query和originserver指明了服务器,不查询直接到源服务器
  9. #name对前面的定义做了一个别名
  10. cache_peer_domain a www.servera.com #访问www.servera.com将直接访问到上面定义的17.131的80端口
  11. cache_peer_domain b www.serverb.com
  12. cache_peer_access a allow all
  13. cache_peer_access b allow all

重启squid

  1. [root@master ~]# service squid restart
  2. Stopping squid: ................ [ OK ]
  3. Starting squid: . [ OK ]

配置虚拟主机,slave作为httpd的服务端

  1. [root@slave ~]# mkdir /var/www/html/sishen
  2. [root@slave ~]# echo "<h1>This is serverb</h1>" > /var/www/html/index.html
  3. [root@slave ~]# echo "<h1>This is servera</h1>" > /var/www/html/sishen/index.html
  4. [root@slave ~]# vim /etc/httpd/conf/httpd.conf
  5. .......
  6. Listen
  7. Listen
  8. ............
  9. <VirtualHost *:>
  10. ServerAdmin webmaster@dummy-host.servera.com
  11. DocumentRoot /var/www/html/sishen
  12. ServerName www.servera.com
  13. ErrorLog logs/dummy-host.servera.com-error_log
  14. CustomLog logs/dummy-host.servera.com-access_log common
  15. </VirtualHost>
  16. <VirtualHost *:>
  17. ServerAdmin webmaster@dummy-host.serverb.com
  18. DocumentRoot /var/www/html
  19. ServerName www.serverb.com
  20. ErrorLog logs/dummy-host.serverb.com-error_log
  21. CustomLog logs/dummy-host.serverb.com-access_log common
  22. </VirtualHost>
    修改完成后,重启httpd服务

[root@slave ~]# service httpd restart
Stopping httpd: [ OK ]
Starting httpd: [ OK ]

修改C:\Windows\System32\drivers\etc\hosts文件

  1. 末尾添加如下内容:
    192.168.30.130 www.servera.com
  2. 192.168.30.130 www.serverb.com

使用物理机的IE浏览器访问测试

这里我用的Firefox查看的缓存信息,IE出了点问题,通过刷新当前页面可以查看命中缓存信息。

疑问:服务端配置两张网卡,第一次 我的eth0为VMnet4,eth1为NAT;这种情况不能连外网,不知道为什么。第二种情况是将两个顺序颠倒下就可以了。(网关写错了)

CentOS 6.9 --Squid代理服务器的更多相关文章

  1. CentOS 7安装squid代理服务器

    Squid,一个高性能的代理缓存服务器,支持FTP.gopher.HTTP协议. Squid,一个缓存Internet 数据的软件,其接收用户的下载申请(作为代理服务器),并自动处理所下载的数据,并返 ...

  2. CentOS 7 搭建Squid代理服务器

    Squid安装 官方地址:http://www.squid-cache.org/ [root@DaMoWang ~]# -r6d8f397.tar.gz [root@DaMoWang ~]# -r6d ...

  3. Linux 搭建 squid 代理服务器 三种模式

    CentOS 6.7 squid 代理服务器 一般有两张或以上网卡,一张链接公网,访问外网资源,一张位于局域网. 代理服务器可以提供文件缓存.复制和地址过滤等服务,充分利用有限的出口带宽,加快内部主机 ...

  4. 【转载】CentOS 6.4下Squid代理服务器的安装与配置

    一.简介 代理服务器英文全称是Proxy Server,其功能就是代理网络用户去取得网络信息. Squid是一个缓存Internet 数据的软件,其接收用户的下载申请,并自动处理所下载的数据.当一个用 ...

  5. CentOS 6.4下Squid代理服务器的安装与配置

    一.简介 代理服务器英文全称是Proxy Server,其功能就是代理网络用户去取得网络信息. Squid是一个缓存Internet 数据的软件,其接收用户的下载申请,并自动处理所下载的数据.当一个用 ...

  6. CentOS 6.4下Squid代理服务器的安装与配置,反向代理

    CentOS 6.4下Squid代理服务器的安装与配置 一.简介 代理服务器英文全称是Proxy Server,其功能就是代理网络用户去取得网络信息. Squid是一个缓存Internet 数据的软件 ...

  7. [转]CentOS 6.4下Squid代理服务器的安装与配置

    一.简介 代理服务器英文全称是Proxy Server,其功能就是代理网络用户去取得网络信息. Squid是一个缓存Internet 数据的软件,其接收用户的下载申请,并自动处理所下载的数据.当一个用 ...

  8. CentOS 6.4下Squid代理服务器的安装与配置(转)

    add by zhj: 其实我们主要还是关注它在服务器端使用时,充当反向代理和静态数据缓存.至于普通代理和透明代理,其实相当于客户端做的事,和服务端没有什么关系.另外,Squid的缓存主要是缓存在硬盘 ...

  9. CentOS上使用Squid+Stunnel搭建代理服务器教程

    这篇文章主要介绍了CentOS上使用Squid+Stunnel搭建代理服务器教程,同时文中也介绍了用户认证的方法,适合于多用户共同使用代理,这种功能在国内用还是比较exciting的~需要的朋友可以参 ...

随机推荐

  1. 常用到的JS 验证(包括例子)

    //验证是否为空    function check_blank(obj, obj_name){         if(obj.value != ''){                  retur ...

  2. Mongo.setReadPref(mode, tagSet) primaries and secondaries are treated equivalently. 读优先级策略

    https://docs.mongodb.com/manual/reference/method/Mongo.setReadPref/#Mongo.setReadPref Mongo.setReadP ...

  3. To verify Hadoop releases using GPG

    To verify Hadoop releases using GPG http://hadoop.apache.org/releases.html To verify Hadoop releases ...

  4. 文件批量转换成UTf-8

    yum install -y enca 在文件夹根目录下面创建文件:iconv_shell.sh 里面填写下面的内容: #!/bin/bash for file in `find ./ -name ' ...

  5. 将异常(getStackTrace)转化成String

    方法一: private static String getStackMsg(Exception e) { StringBuffer sb = new StringBuffer(); StackTra ...

  6. chan

    第一单元:分型.笔.线段 ?1  分型 一.分型.笔和线段所属范畴 缠师在<教你炒股票72:本ID已有课程的再梳理>中对缠论做过这样的说明“本ID的理论,本质上分两部分,一是形态学,二是动 ...

  7. 广大暑假训练1(poj 2488) A Knight's Journey 解题报告

    题目链接:http://vjudge.net/contest/view.action?cid=51369#problem/A   (A - Children of the Candy Corn) ht ...

  8. silverlight中 ComboBox绑定数据库,并获取当前选定值

    silverlight中 ComboBox绑定数据库,并获取当前选定值 在silverlight中 用combobox下拉菜单绑定数据库的方法和用DataGrid绑定数据库的方法类似. page.xa ...

  9. OpenCV——PS滤镜算法之 Ellipsoid (凸出)

    // define head function #ifndef PS_ALGORITHM_H_INCLUDED #define PS_ALGORITHM_H_INCLUDED #include < ...

  10. 从1到N的整数中1出现的次数

    /* * 1-n整数中1出现的次数.cpp * * Created on: 2018年5月1日 * Author: soyo */ #include<iostream> using nam ...