17第十七章、区网控制者Proxy服务器.docx

上传人:小飞机 文档编号:2010384 上传时间:2022-12-31 格式:DOCX 页数:36 大小:471.83KB
返回 下载 相关 举报
17第十七章、区网控制者Proxy服务器.docx_第1页
第1页 / 共36页
17第十七章、区网控制者Proxy服务器.docx_第2页
第2页 / 共36页
17第十七章、区网控制者Proxy服务器.docx_第3页
第3页 / 共36页
17第十七章、区网控制者Proxy服务器.docx_第4页
第4页 / 共36页
17第十七章、区网控制者Proxy服务器.docx_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《17第十七章、区网控制者Proxy服务器.docx》由会员分享,可在线阅读,更多相关《17第十七章、区网控制者Proxy服务器.docx(36页珍藏版)》请在三一办公上搜索。

1、第十七章、区网控制者: Proxy 服务器最近更新日期:2011/08/02 代理服务器的功能是可以代理局域网络的个人计算机来向因特网取得网页或其他数据的一种服务, 由于代理取得的数据可以保存一份在服务器的快取上,因此以往有类似假象加速的功能!不过,目前网络带宽已经比以前好很多, 因此代理服务器倒是很少使用在这方面。取而代之的是局域网络高阶防火墙的角色!这里的高阶指的是 OSI 七层协议里面的高层,因为代理服务器是用在应用层上的一种防火墙方式啦!不像 iptables 是用在网络、传输层。Linux 上启动代理服务器的是 squid 这个软件呦! 17.1 什么是代理服务器 (Proxy)17

2、.1.1 什么是代理服务器17.1.2 代理服务器的运作流程17.1.3 上层代理服务器17.1.4 代理服务器与 NAT 服务器的差异17.1.5 架设代理服务器的用途与优缺点17.2 Proxy 服务器的基础设定17.2.1 Proxy 所需的 squid 软件及其软件结构17.2.2 CentOS 预设的 squid 设定: http_port, cache_dir (SELinux), cache_mem17.2.3 管控信任来源 (如区网) 与目标 (如恶意网站): acl 与 http_access 的使用17.2.4 其他额外的功能项目17.2.5 安全性设定:防火墙, SELi

3、nux 与黑名单档案17.3 客户端的使用与测试17.3.1 浏览器的设定: firefox & IE17.3.2 测试 proxy 失败的画面17.4 服务器的其他应用设定17.4.1 上层 Proxy 与获取数据分流的设定17.4.2 Proxy 服务放在 NAT 服务器上:通透式代理 (Transparent Proxy)17.4.3 Proxy 的认证设定17.4.4 末端登录档分析: sarg17.5 重点回顾17.6 本章习题17.7 参考数据与延伸阅读17.8 针对本文的建议:http:/phorum.vbird.org/viewtopic.php?f=16&t=3543917.

4、1 什么是代理服务器 (Proxy)代理服务器 (Proxy) 的原理其实很简单啦!就是以类似代理人的身份去取得用户所需要的数据就是了! 但是由于它的代理能力,使得我们可以透过代理服务器来达成防火墙功能与用户浏览数据的分析! 此外,也可以藉由代理服务器来达成节省带宽的目的,以及加快内部网络对因特网的 WWW 访问速度!总之, 代理服务器对于企业来说,实在是一个很不错的东西啊!17.1.1 什么是代理服务器在真实世界中,我们或许会帮忙家人去办理一些杂务吧!举个例子来说,例如缴费或者是申办提款卡等等的, 由于你并不是申请者本人而是代理人的角色,因此有时候会需要秀出一些证件就是了。 那么在网络上面的

5、代理服务器 (Proxy Server) 是怎么回事呢?它最主要的功能就如同我们上面提的真实世界一样, 当客户端有因特网的数据要求时,Proxy 会帮用户去向目的地取得用户所需要的数据。 所以,当客户端指定 WWW 的代理服务器之后,用户的所有 WWW 相关要求就会通过代理服务器去捉取啰! 整个代理服务器与客户端的相关性可以由下图约略看出一个端倪:图 17.1-1、代理服务器、客户端与因特网的相关性示意图一般来说,代理服务器会架设在整个区网的单点对外防火墙上头,而在区网内部的计算机就都是透过 Proxy 来向因特网要求数据的,这就是所谓的代理服务器啦!当然,上面的架构仅只是一个案例,但是这个架

6、构比较多人用的原因, 是因为这样的 Proxy server 还可以兼做高阶防火墙之用啦!在 Proxy 与客户端的相关性当中,你必需要了解的是:客户端向外部要求的资料事实上都是 Proxy 帮用户取得的,因此因特网上面看到要求数据者,将会是 Proxy 服务器的 IP 而不是客户端的 IP。 举个例子来说,假如鸟哥在我的浏览器设定了我们学校的代理服务器主机 proxy.ksu.edu.tw 做为我的 Proxy 好了,再假设我的 IP 是 120.114.141.51 ,那么当我想要取得 Yahoo 的新闻信息时,事实上,都是 proxy.ksu.edu.tw 帮我去取得的,所以在 Yaho

7、o 的网站上面看到要求数据的人是谁呢?呵呵!当然就是 proxy.ksu.edu.tw 而不是 120.114.141.51 啰!这样可以了解 Proxy 的功能了吗?除了这个功能之外,Proxy 还有一个很棒的额外功能,那就是防火墙的功能! 看一下上面的图示,你可以发现一件事情,那就是客户端的个人计算机要连上因特网一定要经过 Proxy 服务器。并且,如果有人想要入侵你的系统时,由于你的 proxy 在最外部啊,所以攻击者就会攻击错方向,如此一来,不就比较安全! 此外,由于整个因特网对外都是经过 proxy ,也就是单点对外的情况,这种状态底下要来管理防火墙也是比较简单的喔!_17.1.2

8、代理服务器的运作流程了解了 Proxy 的功能之后,我们来谈一谈那么 Proxy 到底是怎样运作的呢?为何它会有加快网络存取效率的好处? 这就必需要以底下的图示来说明了!图 17.1-2、代理服务器的运作流程图:快取数据与客户端当客户端指定了代理服务器之后,在客户端想要取得因特网上面的信息时,它是这样取得数据的 (注:那个 Cache 表示为 Proxy 服务器的硬盘的意思):当 Proxy 的快取拥有用户所想要的数据时 (Step a d):a. Client 端向 Server 端发送一个数据需求封包;b. Server 端接收之后,先比对这个封包的来源与预计要前往的目标网站是否为可接受?

9、 如果来源与目标都是合法的,或者说,来源与目标网站我们的 Proxy 都能帮忙取得资料时,那么 Server 端会开始替 Client 取得资料。这个步骤中比较重要的就是比对政策啦,有点像是认证的感觉啦;c. Server 首先会检查自己快取 (新的数据可能在内存中,较旧的数据则放置在硬盘上) 数据, 如果有 Client 所需的数据,那就将数据准备取出,而不经过向 Internet 要求数据的程序;d. 最后当然就是将数据回传给 Client 端啰!当 Proxy 的快取没有用户所想要的数据时 (Step 1 5):1. Client 端向 Server 端发送一个数据需求封包; 2. Se

10、rver 端接收之后,开始进行政策比对; 3. Server 发现快取并没有 Client 所需要的资料,准备前往因特网抓取数据; 4. Server 开始向 Internet 发送要求与取得相关资料; 5. 最后当然就是将数据回传给 Client 端啰!上面的流程分析里面,我们可以清楚的知道,当 Proxy 曾经帮某位用户取得过 A 数据后,当后来的用户想要重复取得 A 数据时,那么 Proxy 就会从自己的快取里面将 A 数据取出传送给用户,而不用跑到因特网去取得同样的这份资料喔。因为没有去因特网找数据,当步骤 4 的流程很花时间时,那么透过 Proxy 忽略步骤 4 ,感觉上就好像网络速

11、度变快了!但其实只是直接从 Proxy 的快取里面抓而已 (所以才会有人说假象网络加速的功能)!这就是两个流程最大的差异了。在目前的因特网社会里,由于宽带技术已经很成熟,所以在不乱用的情况下,网络带宽理论上是足够的 (除非要连到国外去)。 那么用了 Proxy 之后效能会不会更提升呢?答案是,应该不会!啥?怎么会这样呢?从上面的流程分析中, 我们发现 Proxy 会常常去读取硬盘内的数据,而硬盘内的快取数据又是透过某些特殊方式在管理, 因此要找到该份数据就要花一些时间,再加上如果硬件效能 (硬盘或主板芯片组) 不佳时,那么加了 Proxy 反而会让你感觉网络传输怎么卡卡的呦!这点得要特别注意才

12、行!Tips:Proxy 对于 cache 的速度是很要求的,而这个 cache 就是硬盘啦!当然,硬盘容量必需要足够大,而且还要足够快才行! 因为由上面的流程当中,我们不难发现,cache 是一直被重复存取的一个地方喔!所以硬盘的好坏就差别很大啦!可以说他是影响一个 Proxy 效能好坏的关键点呢! 17.1.3 上层代理服务器想一想,既然 Proxy 是帮忙客户端进行网页代理的工作,那么我们的 Proxy 能不能也指定另外一台 Proxy 当成我的 Proxy 的 Proxy 呢?很绕口吧!其实流程像底下这样啦:图 17.1-3、上层代理服务器示意图就是我们的 Local proxy 并不

13、会主动的去捉数据,而是再透过上层代理服务器向 Internet 要求资料!这样有什么好处呢?由于可做为我们的上层代理服务器的主机通常是具有较高带宽的, 因此我们透过它去要求数据当然理论上速度会更快喔!而上层代理服务器最大的好处其实是在于分流喔! 例如下图所示:图 17.1-4、以多部上层代理服务器达到分流的效果示意图我总共设定了三部上层代理服务器,由于这三个代理服务器对外的速度都不相同,所以,当我要去美国时,就以 Proxy1 来要求资料,要连欧洲就以 Proxy3 ,至于要连日本,就以 Proxy 2 来要求我所需要的数据,如此一来,呵呵!可以让我的 Proxy 达到最佳的效能喔!很不错吧!

14、此外,为了节省上层 proxy 的负担,如果是其他网络位置,我们则设定由自己的 local proxy 捉取 设定的弹性很高呢!由于代理服务器需要管控信任的来源端客户端计算机,因此各 ISP 仅能针对自家的用户来开放 Proxy 使用权而已。 台湾常见的几家 ISP 提供的 Proxy 有: Hinet: SeedNet: .tw/home/setting/server.htm 由于当用户透过 Proxy 连到因特网时,网络看到的是 Proxy 在抓取数据而不是该客户端,因此,我们不难发现 Proxy 有可能会被客户端过度的滥用,同时也有可能会被拿来为非作歹啊!所以,目前绝大部分的 Proxy

15、 已经停止对外开放了,仅针对自己的网域内的用户提供本项服务而已因此,如果你要自行设定 Proxy 的时候,请记得去你当初申请网络的 ISP (如果是学术单位,请到贵单位的计中网页瞧瞧即可) 搜寻一下,才能比较有效的设定好你的服务器喔!因为设定错误的话,呵呵!上层 Proxy 根本不提供服务,或者是上层 Proxy 的效能并不好,那个时候你的 Proxy 也会连带的受到很大的影响啊!慎选!慎选!17.1.4 代理服务器与 NAT 服务器的差异或许你已经发现了一件事,那就是:在内部局域网络使用私有 IP 的客户端,不论透过 Proxy 或者 NAT 均可以直接取得 WWW 的服务,那么 NAT 与

16、 Proxy 有没有什么不同的地方啊?它们不都是可以让内部的计算机连接出去吗?其实这两个玩意儿差异性是相当大的喔! 简单说明如下: NAT 服务器的功能:就如同第九章提到的数据,Linux 的 NAT 功能主要透过封包过滤的方式, 并使用 iptables 的 nat 表格进行 IP 伪装 (SNAT) ,让客户端自行前往因特网上的任何地方的一种方式。主要的运作行为是在 OSI 七层协定的二、三、四层。由于是透过封包过滤与伪装,因此客户端可以使用的端口号码 (第四层) 较弹性; Proxy 服务器的功能:主要透过 Proxy 的服务程序 (daemon) 提供网络代理的任务,因此 Proxy

17、能不能进行某些工作,与该服务的程序功能有关。 举例来说,如果你的 Proxy 并没有提供邮件或 FTP 代理,那么你的客户端就是无法透过 Proxy 去取得这些网络资源。 主要运作的行为在 OSI 七层协议的应用层部分 (所谓的比较高阶之意)。 这样说有没有比较有点概念了呢?NAT 服务器是由较底层的网络去进行分析的工作,至于通过 NAT 的封包是干嘛用的, NAT 不去管他!至于 proxy 则主要是由一个 daemon 的功能达成的,所以必需要符合该 daemon 的需求,才能达到某些功能!17.1.5 架设代理服务器的用途与优缺点现在我们约略知道 Proxy 的功能了,那么通常什么情况下

18、会架设 Proxy 呢?一般来说,代理服务器的功能主要有: 作为 WWW 的网页资料取得代理人:这是最主要的功能嘛! 作为内部区网的单点对外防火墙系统:如图 17.1-1 所示一般,如果你的 Proxy 是放在内部区网的 Gateway 上头,那么这部代理服务器就能够作为内部计算机的防火墙了!而且还不需要设定那复杂的 NAT 功能呢!只是单纯的 Proxy 服务器通常仅提供 WWW 的代理,因此内部计算机想要取得 smtp, ftp.就比较麻烦 由于 Proxy 的这种特性,让他很常被使用于大型的企业内部,因为可以达到杜绝内部人员上班时使用非 WWW 以外的网络服务,而且还可以监测用户的资料要

19、求流向与流量呢!很不错吧! _!好了,接下来我们来谈一谈当你架设了 Proxy 后的优缺点吧。先来谈谈主要可能具有的优点有: 节省单点对外的网络带宽,降低网络负载:当你的 Proxy 用户很多时,那么 Proxy 内部的快取数据将会累积较多。因此客户端想要取得网络上的数据时,很多将会从 Proxy 的快取中取得,而不用向因特网要求资料。 所以可以节省带宽啊! 以较短的路径取得网络数据,有网络加速的感觉:例如你可以指定你的 ISP 提供的代理服务器连接到国外,由于 ISP 提供的 Proxy 通常具有较大的对外带宽,因此在对国外网站的数据取得上, 通常会比你自己的主机联机到国外要快的多。此外,与

20、上一点的快取数据也有关系啊!从内部硬盘取得的路径总比对外的因特网要短的多啊! 透过上层代理服务器的辅助,达到自动数据分流的效果:例如图 17.1-4 所示,让客户端在不知不觉之间,就可以得到数据由不同 Proxy 取得的加速效果! 提供防火墙内部的计算机连上 Internet:就是上面提到的单点对外防火墙功能! 由于代理服务器的这些优点,因此这里要强烈的建议,如果你需要连上国外的网页, 请一定使用 ISP 提供给你的代理服务器来帮忙,因为不但可以节省带宽,并且速度上会快上很多很多 (例如美国环保署, EPA 网站)。 不过,有利就有弊,当然 Proxy 也不是万能的天神他有什么可能潜藏的缺点呢

21、? 容易被内部区网的人员滥用:我们知道因特网上看到取得资料的人是 Proxy 那部主机而不是客户端计算机的 IP,因此可能会让某些内部网络使用人员开始利用你的 proxy 干坏事,此时你就会很麻烦 所以,为了杜绝这个状况,强烈的建议多加登录档案分析的软件,在管理上面会轻松很多喔! 需要较高超的设定技巧与除错程序:在鸟哥设定过的服务器当中, Proxy 算是比较不容易设定好效能的一个服务器了!由于 Proxy 的 Cache 与他的上层代理服务器的关系是很紧密的, 万一设定错误的话,很有可能反而让你的 Proxy 拖垮客户端 WWW 的浏览速度!最严重的是造成无法联机! 可能会取得旧的错误数据:

22、这个最容易发生了!由于曾经浏览过的网页会被放置到快取, 并提供后续用户的直接取得。万一因特网上面的那个网页数据更新过呢?那时你会发现,怎么客户端无法看到更新后的资料? 就是因为快取的问题啊!取得旧数据的频率可能会很高啊! 总之, Proxy 的优点是很多的,但是缺点却需要网管人员的操心啊!既然如此,那么我们到底有没有需要架设代理服务器呢? 简单的说,我们可以这样分析! 我的 Client 端用户不少,而且大部分仅需要 WWW 这个网络服务而已; 我的 Proxy 还兼做防火墙的任务; 我的 Client 端常常需要联机到传输速度很慢的网站,例如国外的网站; 我的 Client 端常常浏览的网站

23、是静态网站,而不是动态网站 (例如讨论区的 PHP)。 如果你有上述的环境状况,那么是可以考虑架设 Proxy 的,但是,相反的来说,要是 (1)我的 Client 端很少,所以每次连上 WWW 都是求取新的资料 (并没有用到快取),有没有 Proxy 反而看不出效益此外,(2)Proxy 由于属于应用层了,对于 Internet 的规划上弹性较不足!不像 NAT 服务器可以进行很多的功能!(3)我常常上的网站是类似讨论区那种一日多变的网站, 在这样的情况下,实在是没有必要架设 Proxy 的!但是,如果对于学校单位那原本带宽就不足的环境中,架设 Proxy 来让校内的网络速度提升,呵呵!就是

24、有那个必要性的啦!所以要不要架设 Proxy 呢?请好好的依据你的环境来考虑喔!但无论如何,我们还是要教大家怎么架设它就是了 _17.2 Proxy 服务器的基础设定虽然在我们小型的网络环境中,架设 Proxy 真的没有什么用,不过,考虑到大家未来可能会高升嘛!所以企业常用的 Proxy 也需要了解一下比较好。 在这个小节中,我们主要介绍一个比较简单的 Proxy 环境,就是单纯可以跑而已的代理服务器。比较高阶的设定请参考后续小节的介绍啰。17.2.1 Proxy 所需的 squid 软件及其软件结构达成代理服务器功能的软件很多,例如效能不是很好的 Apache 以及我们这个章节要介绍的八爪章

25、鱼 squid 这一套。 目前代理服务器在 Unix Like 的环境下,大多就是使用 squid ,因此我们这里以 squid 为准来介绍啦。同样的, 请使用 rpm 来检查,如果尚未安装,请用 yum install squid 来安装吧!安装好 squid 之后,它主要的提供的配置文件有: /etc/squid/squid.conf这个是主要的配置文件,所有 squid 所需要的设定都是放置在这个档案当中的! 鸟哥底下提到的种种设定方法几乎都是这个档案里面的说明喔! /etc/squid/mime.conf这个档案则是在设定 squid 所支持的 Internet 上面的文件格式,就是所

26、谓的 mime 格式啰! 一般来说,这个档案的预设内容已经能够符合我们的需求了,所以不需要更动他,除非你很清楚的知道你所需要额外支持的 mime 文件格式。 其他重要的目录与档案有: /usr/sbin/squid:提供 squid 的主程序啊! /var/spool/squid:就是默认的 squid 快取放置的目录。 /usr/lib64/squid/:提供 squid 额外的控制模块,尤其是影响认证密码方面的程序,都是放在这个目录下的; 17.2.2 CentOS 预设的 squid 设定在预设的情况下,CentOS 的 squid 具有底下几个特色: 仅有本机 (localhost,

27、127.0.0.1) 来源可以使用这个 squid 功能 squid 所监听的 Proxy 服务埠口在 port 3128 快取目录所在的位置在 /var/spool/squid/ ,且仅有 100MB 的磁盘高速缓存量 除了 squid 程序所需要的基本内存之外,尚提供 8MB 的内存来给热门档案快取在内存中 (因为内存速度比硬盘还快) 默认启动 squid 程序的用户为 squid 这个账号 (与磁盘高速缓存目录权限有关) 其实, CentOS 预设的 squid 设定,是仅针对本机 (localhost) 开放的情况,而一大堆设定的默认值, 都是仅针对小型网络环境所指定的数值,同时,很多

28、比较特殊的参数都没有启动。所以,我们就得要来了解一下各设定值的意义, 这样才能够进行修改嘛!这些参数都是在 squid.conf 里头指定的,所以,就让我们来看看这个档案的内容与较重要的参数吧:Tips:CentOS 6.x 已经将 squid.conf 里面不相干的设定值通通拿掉了,所以这个档案就变的非常的精简!这样其实有好有坏啦! 好处是,你不用去看一些你用不到的参数值,坏处是,如果你想要其他的设定,就得额外参考外部文件了!伤脑筋 rootwww # vim /etc/squid/squid.conf# 1. 信任用户与目标控制,透过 acl 定义出 localhost 等相关用户acl

29、manager proto cache_object =定义 manager 为管理功能acl localhost src 127.0.0.1/32 =定义 localhost 为本机来源acl localhost src :1/128acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 =定义 to_localhost 可联机到本机acl to_localhost dst :1/128# 2. 信任用户与目标控制,定义可能使用这部 proxy 的外部用户(内网)acl localnet src 10.0.0.0/8 =可发现底下都是 private IP 的

30、设定acl localnet src 172.16.0.0/12acl localnet src 192.168.0.0/16acl localnet src fc00:/7acl localnet src fe80:/10# 上述数据设定两个用户 (localhost, localnet) 与一个可取得目标 (to_localhost)# 3. 定义可取得的数据端口所在!acl SSL_ports port 443 =联机加密的埠口设定acl Safe_ports port 80 # http =公认标准的协议使用埠口acl Safe_ports port 21 # ftpacl Safe_

31、ports port 443 # https# 定义出 SSL_ports 及标准的常用埠口 Safe_ports 两个名称# 4. 定义这些名称是否可放行的标准依据(有顺序喔!)http_access allow manager localhost =放行管理本机的功能http_access deny manager =其他管理来源都予以拒绝http_access deny !Safe_ports =拒绝非正规的埠口联机要求http_access deny CONNECT !SSL_ports =拒绝非正规的加密埠口联机要求=这个位置为你可以写入自己的规则的位置喔!不要写错了!有顺序之分的!

32、http_access allow localnet =放行内部网络的用户来源http_access allow localhost =放行本机的使用http_access deny all =全部都予以拒绝啦!# 5. 网络相关参数,最重要的是那个定义 Proxy 协议埠口的 http_porthttp_port 3128 =Proxy 预设的监听客户端要求的埠口,是可以改的# 其实,如果想让 proxy server/client 之间的联机加密,可以改用 https_port (923)# 6. 快取与内存相关参数的设定值,尤其注意内存的计算方式hierarchy_stoplist cg

33、i-bin ? =hierarchy_stoplist 后面的关键词 (此例为 cgi-bin)# 若发现在客户端所需要的网址列,则不快取 (避免经常变动的数据库或程序讯息)cache_mem 8 MB =给proxy额外的内存,用来处理最热门的快取数据(需自己加)# 7. 磁盘高速缓存,亦即放置快取数据的目录所在与相关设定cache_dir ufs /var/spool/squid 100 16 256 =默认使用 100MB 的容量放置快取coredump_dir /var/spool/squid# 底下的四个参数得要自己加上来喔!旧版才有这样的默认值!minimum_object_siz

34、e 0 KB =小于多少 KB 的数据不要放快取,0 为不限制maximum_object_size 4096 KB =与上头相反,大于 4 MB 的数据就不快取到磁盘cache_swap_low 90 =与下一行有关,减低到剩下 90% 的磁盘高速缓存为止cache_swap_high 95 =当磁盘使用量超过 95% 就开始删除磁盘中的旧快取# 8. 其他可能会用到的默认值!参考参考即可,并不会出现在配置文件中。access_log /var/log/squid/access.log squid =曾经使用过 squid 的用户记录ftp_user Squid =当以 Proxy 进行 F

35、TP 代理匿名登录时,使用的账号名称ftp_passive on =若有代理 FTP 服务,使用被动式联机refresh_pattern ftp: 1440 20% 10080refresh_pattern gopher: 1440 0% 1440refresh_pattern -i (/cgi-bin/|?) 0 0% 0refresh_pattern . 0 20% 4320# 上面这四行与快取的存在时间有关,底下内文会予以说明cache_mgr root =预设的 proxy 管理员的 emailcache_effective_user squid =启动 squid PID 的拥有者c

36、ache_effective_group squid =启动 squid PID 的群组# visible_hostname =有时由于 DNS 的问题,找不到主机名会出错,就得加上此设定ipcache_size 1024 =以下三个为指定 IP 进行快取的设定值ipcache_low 90ipcache_high 95光是了解上述的一些基础设定值,可能就要头昏昏了,更别说 squid.conf 里面的其他设定值,看到头好昏. 无论如何,上述这些设定已经是很基础的设定了,你最好了解一下!除了 cache_dir 那一行取消批注,其他的保持不动! 让我们以默认值来直接启动 squid 看看有什么

37、特别的地方再说。使用默认值来启动 squid 并观察相关信息要启动 squid 真是简单,让我们来启动 squid 并且观察有没有相关的埠口吧!rootwww # /etc/init.d/squid startinit_cache_dir /var/spool/squid. 正在激活 squid: . 确定 # 第一次启动会初始化快取目录,因此会出现上述左边的数据,未来这个讯息不会再出现rootwww # netstat -tulnp | grep squidProto Recv-Q Send-Q Local Address Foreign Address State PID/Program

38、nametcp 0 0 :3128 :* LISTEN 2370/(squid)udp 0 0 :45470 :* 2370/(squid)rootwww # chkconfig squid on如果你有设定 icp_port 时,squid 预设会启动 3128 及 3130 两个埠口,其中要注意的是, 实际帮用户进行监听与传送数据的是 port 3128 (TCP),3130 (UDP) 仅是负责与邻近 Proxy 互相沟通彼此的快取数据库的功能,与实际的用户要求无关。因此,如果你的 proxy 是单纯的单一主机,或者是单纯的作为防火墙功能,那么这个 port 3130 是可以关闭的。就因

39、如此,所以 CentOS 6.x 预设将这个设定值批注不使用啰!例题: 由于我的 Proxy 仅是部简单的单一代理服务器,并没有架设成为公开的邻近代理服务器 (peer proxy 或 neighbor proxy),因此想要关闭 port 3130 ,该如何处理? 答: 旧版的 CentOS 5.x 以前的版本才需要进行,很简单,直接修改 icp_port 即可!方法为: rootwww # vim /etc/squid/squid.conf#Default: VBird 2011/04/06 modified,将下列数据从 3130 改为 0 即可icp_port 0rootwww # /

40、etc/init.d/squid restart事实上,如果你的客户端与 proxy 之间的沟通想要使用加密机制的 SSL 功能,以保障客户端的信息避免被窃取时, 那么还有个 https_port 可以取代 http_port !不过,充其量我们的 proxy 并非公开也仅是架设在内部区网, 因此还不需要使用到这个 https_port 啦!观察与修改快取目录 (cache_dir):权限与 SELinux从前面的说明我们知道磁盘高速缓存是影响 proxy 效能的一个相当重要的参数,那么 squid 是如何将快取存进磁盘的呢? squid 是将数据分成一小块一小块,然后分别放置到个别的目录中。

41、由于较多的目录可以节省在同一个目录内找好多档案的时间 (想一想,分门别类的放置书籍在不同的书柜内,总比将所有书籍杂乱无章的放置到一个大书柜要好的多吧!), 因此,在默认的 /var/spool/squid/ 目录下, squid 又会将它分成两层子目录来存放相关的快取数据,所以观察该目录就会是:rootwww # ls /var/spool/squid00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F swap.state# 算一下,你会发现共有 16 个子目录!那么我们来看看第一个子目录的内容:rootwww # ls /var/spool/squ

42、id/0000 08 10 18 20 28 . 98 A0 A8 B0 B8 C0 C8 D0 D8 E0 E8 F0 F801 09 11 19 21 29 . 99 A1 A9 B1 B9 C1 C9 D1 D9 E1 E9 F1 F9.(中间省略).06 0E 16 1E 26 2E . 9E A6 AE B6 BE C6 CE D6 DE E6 EE F6 FE07 0F 17 1F 27 2F . 9F A7 AF B7 BF C7 CF D7 DF E7 EF F7 FF# 看见了吗?总共有 256 个子目录出现啰!现在我们知道了较多的目录是为了将数据分门别类放置,但是第一层 1

43、6 个与第二层 256 个是怎么来的? 让我们来瞧一瞧 cache_dir 这个重要参数的设定是怎样: cache_dir ufs /var/spool/squid 100 16 256在 /var/spool/squid/ 后面的参数意义是: 第一个 100 代表的是磁盘使用量仅用掉该文件系统的 100MB 第二个 16 代表第一层次目录共有 16 个 第三个 256 代表每层次目录内部再分为 256 个次目录 根据 squid 的说法与其他文献的说明,这两层快取目录较佳的配置就是 16 256 以及 64 64 这两种配置, 所以我们也不需要修改相关的数据啦!重点时还得要注意这个目录的档案

44、拥有者与 SELinux 类型才成呦!例题: 看起来预设的 proxy 的磁盘高速缓存应该是不够用,而之前的磁盘规划又没有做好,因此 /var/ 最多还有 500MB 可以让我们做为磁盘高速缓存。那么如果想要将预设的磁盘高速缓存改为 500MB 而且再加上 /srv/squid/ 目录给予 2GB 的容量做为磁盘高速缓存,该如何进行设定? 答: 这里都与 cache_dir 有关!这个设定值可以重复出现多次!因此,我们可以这样进行的,特别注意底下的目录权限与 SELinux 类型呦! rootwww # vim /etc/squid/squid.conf#Default: VBird 2011

45、/04/06 modified,底下的设定除了拿掉 # 之外还得修改!cache_dir ufs /var/spool/squid 500 16 256cache_dir ufs /srv/squid 2000 16 256rootwww # mkdir /srv/squidrootwww # chmod 750 /srv/squidrootwww # chown squid:squid /srv/squidrootwww # chcon -reference /var/spool/squid /srv/squidrootwww # ll -Zd /srv/squiddrwxr-x-. squid squid system_u:object_r:squid_cache_t:s0 /srv/squid/rootwww # /etc/init.d/squid restart之所以要改成 squid 拥有,是因为上头的 squid.conf 中,预设的启动 PID 的账号就是 squid 这个人物嘛!所以当然要变更!至于 SELinux 的类型方

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号