当前位置:首页 > CN2资讯 > 正文内容

SQUID传统正向代理

2天前CN2资讯

传统正向代理

1.1 问题

本案例要求先快速搭建好一台Web服务器:

  • 建立Web测试文件 /var/www/html/index.html

然后创建代理服务器,使得192.168.4.0/24网段中的所有主机,均可以通过该代理服务器访问Web服务。

  • 设置代理服务端口为3128

  • 设置内存缓存容量128M

  • 设置硬盘缓存容量为200M,一级目录16个,二级目录128个

然后验证客户机能否通过代理服务器访问Web服务器:

  • 客户端从浏览器访问Web服务器

  • 查看服务器B的代理访问日志,验证来访地址

  • 查看服务器A的Web访问日志,验证来访地址

1.2 方案

使用3台RHEL6虚拟机,其中一台作为Web服务器(192.168.4.205)、一台作为Squid代理服务器(192.168.4.5),另外一台作为测试用的Linux客户机(192.168.4.100),如图-1所示。

图-1

对于Web服务器的部署,此实验中仅需要安装httpd软件、启动服务,并生产测试首页文件即可,默认httpd网站根路径为/var/www/html,首页文档名称为index.html。

对于Squid代理服务器,则要求修改配置文件/etc/squid/squid.conf,实现代理功能,主要参数如下:

  • http_port:设置代理服务端口

  • visible_hostname:设置主机名称

  • cache_mem:设置内存缓存大小

  • cache_dir:设置硬盘缓存大小

  • http_access:设置访问控制权限

验证时,客户端需要设置浏览器,添加代理服务器信息,将192.168.4.5设置为自己的代理服务器,然后访问Web服务器,最后通过查看日志检验效果。:

1.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:构建web服务器

1)使用yum安装web软件包

  • [root@svr5 ~]# yum  -y  install  httpd

  • .. ..

  • [root@svr5 ~]# rpm  -q  httpd

  • httpd-2.2.15-29.el6_4.x86_64

  • 2)启用httpd服务,并设为开机自动运行

  • [root@svr5 ~]# service  httpd  restart  ;  chkconfig  httpd  on

  • Stopping httpd:                                        [FAILED]

  • Starting httpd:                                        [OK]

  • httpd服务默认通过TCP 80端口监听客户端请求:

  • [root@svr5 ~]# netstat  -anptu  |  grep httpd

  • tcp        0        0        :::80        :::*        LISTEN        2813/httpd

  • 3)为Web访问建立测试文件

    在网站根目录/var/www/html下创建一个名为index.html的首页文件:

  • root@svr5 ~]# cat /var/www/html/index.html

  • <html>

  • <title>Welcome</title>

  • <body>

  • <h1>hello</h1>

  • <h2>hello</h2>

  • </body>

  • </html>

  • 步骤二:部署Squid代理服务器

    1)使用yum安装squid软件包:

  • [root@svr5 ~]# yum  -y  install  squid

  • .. ..

  • [root@svr5 ~]# rpm  -q  squid

  • squid-3.1.10-19.el6_4.x86_64

  • 2)修改/etc/squid/squid.conf配置文件:

  • [root@svr5 ~]# vim /etc/squid/squid.conf

  • .. ..

  • http_port 3128                                //代理端口

  • visible_hostname squid.svr5.com                //设置主机名

  • cache_mem 128 MB                                //内存缓存

  • cache_dir ufs /var/spool/squid 200 16 128        //硬盘缓存

  • http_access allow localnet                        //允许本机所在网络中的所有主机使用代理服务器

  • 3)启动squid服务,并设置为开机启动:

  • [root@svr5 ~]# service  squid restart; chkconfing squid on

  • Stopping squid:                                            [FAILED]

  • init_cache_dir /var/spool/squid...

  • Starting squid: .                                          [  OK  ]

  • 4)squid服务默认通过TCP 3128端口监听客户端请求:

  • [root@svr5 ~]# netstat  -anptu  |  grep 3128

  • tcp        0        0        :::3128        :::*        LISTEN        3213/(squid)

  • 步骤三:客户端测试

    1)为浏览器设置代理服务器

    以Firefox浏览器为例,在命令行输入firefox打开火狐浏览器,点击“Edit(编辑)”菜单,选择“Preferences(属性)”,如图-2所示。

    图-2

    随后再点击“Advanced(高级)“选项卡,找到”Network(网络)“选项卡,点击”Settings(设置)“按钮,如图-3所示。

    图-3

    点选”Manual Proxy Configuration“,在HTTP Proxy后输入代理服务器IP地址:192.168.4.5,并在Port后输入3128端口号信息,如图-4所示。

    图-4

    2)客户端使用浏览器访问Web服务器

    打开火狐浏览器在地址栏输入http://192.168.4.205,回车查看Web服务器页面信息。

    3)通过日志文件查看效果

    通过查看Squid代理服务器主机的access.log日志,可以查出有一个客户端地址为192.168.4.100的主机,通过代理服务器连接192.168.4.205上的Web服务器。

    通过查看Web服务器上的access_log日志,可以看出代理192.168.4.5在访问Web服务器,而不会显示真实的客户端192.168.4.100的信息

  • [root@svr5 ~]# tailf /var/log/squid/access.log

  • 1429584868.414      0 192.168.4.100 TCP_MEM_HIT/200 486 GET http://192.168.4.205/ - NONE/- text/html

  • [root@svr5 ~]# tailf /var/log/httpd/access_log

  • 192.168.4.5 - - [20/Apr/2015:19:54:28 -0700] "GET /favicon.ico HTTP/1.1" 404 291 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20131023 Firefox/17.0"


    • 你可能想看:

      扫描二维码推送至手机访问。

      版权声明:本文由皇冠云发布,如需转载请注明出处。

      本文链接:https://www.idchg.com/info/24864.html

      分享给朋友:

      “SQUID传统正向代理” 的相关文章

      国外常用ping工具及其使用方法

      ping工具在国外的应用 什么是ping工具?其基本功能和重要性 ping工具是一种非常实用的网络诊断工具,通过向指定的IP地址发送数据包来检测网络连接的质量。当我们在互联网上进行访问时,ping工具能够帮助我们了解网络延迟、丢包率等关键指标。这些信息对于网站运营者和普通用户来说都是极其重要的,因为...

      使用getenforce命令管理SELinux执行模式的技巧与经验

      getenforce的基本概念 当我开始接触Linux系统的时候,SELinux这个名字总是让我感到神秘。经过逐渐的探索,我了解到SELinux(Security-Enhanced Linux)是一个强大的安全模块,它为Linux系统提供了细致的访问控制。这时候,getenforce命令便进入了我的...

      如何选择合适的IPv6 VPS服务商与其优势分析

      当我第一次接触到IPv6 VPS时,我意识到这一概念不仅为技术界带来了全新的视野,也为我们解决互联网地址匮乏的问题提供了有效的方案。IPv6,全称为互联网协议第六版,设计的目的是为了替代现有的IPv4协议,以应对未来互联网规模的增长。IPv6不仅增加了可用的地址数量,更在安全性和效率上进行了提升,是...

      全面解析甲骨文服务器:功能、应用与未来趋势

      甲骨文服务器概述 甲骨文服务器的定义与功能 甲骨文服务器,简单来说,是一种数据库管理系统,非常适合于处理复杂的数据和海量的信息。它不仅能够存储数据,更能够提供高效的数据管理、查询和分析功能。这样的系统通常由多个功能模块构成,能够满足企业在数据处理方面的多种需求。我一直认为,甲骨文服务器最大的优势在于...

      VPS测速:优化服务器性能与用户体验的关键工具

      当谈到网络服务时,VPS(虚拟专用服务器)是一个绕不开的话题。它为用户提供了一个灵活且高效的网络环境,通过虚拟化技术将一台物理服务器分割成多个独立的虚拟服务器。用户可以拥有自己的操作系统、存储空间和带宽,这使得VPS成为了许多企业和个人的理想选择。 通过使用VPS,用户能够执行各种任务,比如搭建网站...

      全面解析VPS测评:如何选择适合您的便宜VPS

      VPS测评概述 当我第一次接触VPS时,我也许和很多人一样,产生了不少疑问。VPS,或者说虚拟私人服务器,实际上是一种将一台物理服务器划分成多个虚拟服务器的技术。每个虚拟服务器都能拥有独立的操作系统和资源,允许用户以更低的成本享受类似于专用服务器的服务。这样的设置不仅提供了灵活性,还使得资源的利用更...