基于linux的squid代理服务器配置内容摘要:

FWTK 和 delegate 相比,下载安装简单,配置简单灵活,不仅支持 HTTP协议,还支持 FTP、 gopher、 SSL 和 WAIS 等协议。 和一般的代理缓存软件不同的是,它是一个单独的、非模块化的、 I/O 驱动的进程来处理所有的客户端请求。 它能快速响应,减少网络阻塞, Squid 将远程 Inter 对象保存为在本地缓存。 当本地用户再次访问这些对象时, Squid 可以直接快速地提供对这些对象的访问,正所谓进水楼台先得月,而不必“长途跋涉”再次占用带宽访问的远程服务器上的对象。 它能增强访问控制,提高网络安 全性,可以针对特定的网站、用户、网络、数据类型实施访问控制。 管理员可以根据 Squid 的这些特性,配合具体的网络需求情况,合理规范网络管理。 此外, Squid 可以工作在普通代理模式、透明代理模式以及反向代理模式三大模式之下。 Squid 不仅可用在 Linux 系统上,还可以用在 ATX、 Digital Unix、 FreeBSD、 HPUX、Irix、 NetBSD、 Nextstep、 SCO 和 Solaris 等系统上。 5 . Squid 的国内外研究现状 在国际上, Squid 软件来源于一个名为 Harvest Cache 的项 目,它得到了美国国家科学基金的资助,某些特征的加入和 BUG 的修复由一个在线的工作组来完成。 美国国家科学基金的资助与 2020 年 7 月结束,目前的 Squid 是由很多志愿者进行开发和管理的,其经济来源主要是一些公司的资助,这些公司从 Squid 中获得收益。 这几年,我国对于 Linux 的重视达到前所未有的高度,一个出色的 Linux 服务器管理员往往能赢取更多的福利,越来越多的中国网络爱好者加入到 Squid研究的行列,使得 Squid 成为当下最流行的代理服务软件之一。 . 本文主要研究内容与结构 本论文通过对 Linux 下 Squid 代理软件的基本知识的了解之后,根据 Web 代理服务器的配置方案与工作方式,我把 Web 代理分为 3 类分别实现:一是传统的代理方式,它需要在客户端进行配置,而且客户端指导代理的存在;第二种是透明代理,它一般用于为内部网络中的主机提供外网的访问服务,但不需要配置客户端,而且客户端不知道代理的存在;第三种是反向代理,它为外部网络上的主机提供内网的访问服务。 2. 代理服务器的工作机制探索 代理服务器一般构建在内部网络和 Inter 之间,负责转发内网计算机对 Inter的访问,并对转发请求进行控制和登记。 代理服务器 作为连接 Intra(局域网)与Inter(广域网)的桥梁,在实际应用中有着重要的作用。 利用代理,除了可以实现最基本的连接功能外,还可以实现安全保护、缓存数据、内容过滤和访问控制等功能。 下图,是 Web 代理的原理图。 访问控制列表 ( ACL) 缓存 Cache Inter 代理服务器 6 图 21 多台客户机通过内网与 Web 代理服务器连接, Web 代理服务器除了与内网连接外,还有一个网络接口与外网连接。 Web 代理平时维护着一个很大的缓存 Cache,当某一台客户机,例如 A 客户机,访问外网的某台 Web 服务器时,发过去的 HTTP 请求进行分析,如果发现数据在缓 存中已经存在,则直接把这些数据发送给客户机 A。 如果 Web 代理在缓存中找不到所请求的数据,则会转发这个 HTTP 请求到客户机要访问的 Web 服务器。 Web 服务器响应后,把数据发给了 Web 代理, Web 代理再把这个数据转交给客户机 A,同时把这些数据存储在缓存中。 于是,下次客户机 A或其他客户机再次要求同样的数据时, Web 代理就直接用缓存里的数据进行响应,而不需要再次向 Web 服务器请求数据。 对于客户机来说,它是感觉不到代理的存在的,以为所看到的网页是由真实的Web 服务器回复的。 但实际上,很多的回复是从代理服务器的缓存 中得到的,由于没有通过 Inter 与真实的 Web 服务器进行通信,而内网的速度比 Inter 要快很多,因此用户会感觉到访问速度有很大的提高。 特别是对一些访问量很大的热门网站,速度是有更明显的提高。 当然,如果客户机每一次请求的数据代理服务器的缓存中都没有,都要通过代理服务器向 Inter 上的 Web 服务器请求,则比客户机自己直接请求的速度要慢,但由于能加快访问的速度,因此,站在长远的角度来看,速度的提高还是很明显的。 3. 网络环境及可行性分析 在进行设计之前,对网络环境的分析将有利于设计的合理性,对于是 否能顺利完成实验起到尤为关键的作用。 7 . 网络环境分析 如图 31 所示,两台计算机通过一台路由器连接外网,在本设计中,我利用其中一台计算机进行实验,分别实现普通正向代理、透明代理、反向代理三种代理方式。 图 31 . 可行性分析 本设计宿主机系统采用稳定的 windows7 旗舰版,虚拟机采用 VMstation8 版本,虚拟机的操作系统采用成熟的 Red Hat Linux 9。 Red Hat Linux 9 自带了 squid 软件包,是 ,能够满足实现所需的软硬件要求。 使用虚拟机进行系 统实现,能够方便控制,也可以节约实验成本。 此外,为了提高实验效率,本设计使用putty 软件远程登录虚拟机。 根据环境分析结果,本次试验拓扑图如图 32 所示,其中 A、 B、 C、 F 分别表示虚拟机 Red Hat LinuxA、 Red Hat LinuxB、 Red Hat LinuxC 以及 Red Hat LinuxF。 图 32 Inter F C B A 8 . 代理服务网络环境设计 根据普通正向、透明、反向三种代理方式,设计了如下三种实现方案,正向代理方案如图 33,透明代理方案如图 34,反向代理如图 35,如下所示: User(浏览器设置代理) Red Hat Linux A 图 33 User(无需浏览器做任何设置 ) Red Hat Linux –B(网关 +iptables) 图 34 客户端 Red Hat Linux –B(反向代理服务器 ) Web 服务器 图 35 4. Squid 代理服务的原理及实现 . Squid 功能简介 Squid 服务器效率高,功能强大,提供丰富的访问控制、用户认证和日志功能 ,它可以运行在各种 UNIX/Linux、 Windows 等操作平台之上,要求机器的内存一定要大,硬盘访问速度要快,主要功能如下所列出的几项:  加速内部网络与 Inter 的连接;  保护内部网络免受 Inter 的攻击;  获得内部网络用户访问 Inter 的上网行为记录; Inerter Inerter 9  阻止不合适的 Inter 访问;  支持用户认证功能;  过滤敏感信息;  加速 Web 服务器的页面访问速度。 Squid 支持以下内部缓存和管理协议。  HTTP 协议,用于从其他缓存抽取 Web 对象的副本;  ICP( Inter Cache Protocol,互联网缓存协议)协议,用于从其他缓存中查找一个特定的对象;  Cache Digests 协议,用于生成其他缓存中所存对象的索引;  SNMP 协议,为外部工具提供缓存信息;  HTCP 协议,是一个用来发现 HTTP 缓冲区、并储存、管理 HTTP 数据的协议。 . Squid 服务基本配置 . Squid 服务启动前准备工作 装完 VMware8 虚拟机之后在虚拟机里安装 Red Hat Linux 9,用 putty 成功连接虚拟机后,输入以下命令查看是否已安装 Squid 软件包,: rpm –qa | grep squid 由于 Red Hat Linux9 本身安装了 Squid,所以可以看到如下图 51 所示,说明已成功安装了Squid,版本为:。 图 41 . Squid 常规配置项 Squid 服务的启动状态 : 可用 chkconfig 命令设置 squid 服务在运行级别 3( 等级 3 表示:有网络连接的多用户命令行模式 )和 5( 等级 5 表示。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。