Linux从入门到提高-第11章--Proxy服务器配置

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第11章Proxy服务器配置Proxy服务器原理简介Squid简介安装和启动Squid服务器在客户端使用Squid服务器配置Squid服务器配置基于Squid的透明代理配置多级缓存改善Proxy服务器的性能日志管理使用Webalizer对Squid进行流量分析本章小结大部分代理服务器都具有缓存的功能,就好像一个大的cache,有很大的存储空间,它不断将新取得数据储存到本机的存储器上。如果浏览器所请求的数据在本机的存储器上已经存在而且是最新的,那么就不必重新从Web服务器获取数据,而是直接将存储器上的数据传送给用户的浏览器,这样可以显著地提高浏览速度和效率。11.1Proxy服务器原理简介代理服务器的工作原理11.1Proxy服务器原理简介代理服务器的作用:提高访问速度起到防火墙的作用访问一些不能直接访问的网站提高安全性能11.1Proxy服务器原理简介Squid由一个主要的服务程序Squid,一个DNS查询程序dnsserver,几个重写请求和执行认证的程序,以及几个管理工具组成。当Squid服务启动之后,它可以派生出指定数目的dnsserver进程,每一个dnsserver进程都可以执行单独的DNS查询,这样一来就大大减少了服务器等待DNS查询的时间。11.2Squid简介使用Squid服务器的首要工作是对其进行安装,然后进行简单的启动和关闭测试。11.3安装和启动Squid服务器通常说来,安装Squid有两种方法:从安装光盘中获取RPM包进行安装,或者从Squid的官方站点下载软件的源代码,编译后安装。11.3.1安装Squid服务器启动Squid服务器:#/etc/rc.d/init.d/squidstart#servicesquidstart停止Squid服务器:#/etc/rc.d/init.d/squidstop#servicesquidstop11.3.2启动和关闭Squid服务器上面主要介绍如何启动Squid服务器,本节将详细介绍如何对客户端的浏览器进行配置,从而使得用户能正常地使用代理服务。浏览器主要包括Microsoft公司的IE浏览器以及Linux下自带的Mozilla浏览器。11.4在客户端使用Squid服务器以Microsoft的IE浏览器为例,介绍Squid代理服务器客户端的配置方法。11.4.1在IE浏览器设置浏览器为例,介绍Squid代理服务器客户端的配置方法。Squid服务器的功能非常强大,对其进行全面、合理的配置能够提高该服务器的性能,进而更为有效地对其进行使用,本节将从配置Squid服务器的基本参数、访问控制、以及配置实例等几个方面来介绍Squid的详细配置。11.5配置Squid服务器ACCESSCONTROLS:访问控制选项NETWORKOPTIONS:网络相关选项MEMORYCACHEOPTIONS:内存cache选项DISKCACHEOPTIONS:磁盘cache选项LOGFILEOPTIONS:日志文件选项OPTIONSFOREXTERNALSUPPORTPROGRAMS:外部支持程序选项OPTIONSFORTUNINGTHECACHE:调整cache的选项HTTPOPTIONS:HTTP选项TIMEOUTS:超时定义选项ADMINISTRATIVEPARAMETERS:参数管理选项OPTIONSFORTHECACHEREGISTRATIONSERVICE:cache注册服务选项SNMPOPTIONS:SNMP选项ICPOPTIONS:ICP选项DNSOPTIONS:DNS选项11.5.1配置Squid服务器的基本参数常用选项:http_portcache_mem(bytes)In-TransitObjects:传入的对象。HotObjects:用户经常访问的对象。Negative-CachedObjects:消极存储的对象。cache_dirDirectory-NameMbytesLevel1Level211.5.1配置Squid服务器的基本参数使用访问控制特性,可以控制在访问时根据特定的时间间隔进行缓存、访问特定站点或一组站点等。Squid访问控制有两个要素:ACL元素和访问列表。11.5.2配置Squid服务器的访问控制ACL(AccessControlLists)元素是Squid访问控制的基础,定义的语法如下:aclaclnameacltypestring...aclaclnameacltypefile...其中,acltype:src、dst、srcdomain、dstdomain、url_regex、urlpath_regex、time、port、proto、method11.5.2配置Squid服务器的访问控制src:指定源地址,具体形式为:aclaclnamesrcip-address/netmask...aclaclnamesrcaddr1-addr2/netmask...dst:指定目标地址,即客户请求的服务器的IP地址,具体形式为:aclaclnamedstip-address/netmask...srcdomain:指定客户所属的域,Squid将根据客户IP反向查询DNS,具体形式为:aclaclnamesrcdomainfoo.com...dstdomain:指定请求服务器所属的域,由客户请求的URL决定,具体形式为:aclaclnamedstdomainfoo.com...time:指定访问时间,具体形式为:aclaclnametime[day-abbrevs][h1:m1-h2:m2][hh:mm-hh:mm]11.5.2配置Squid服务器的访问控制port:指定访问端口,可以为多个端口,例如:aclaclnameport807021...aclaclnameport0-1024...proto:指定使用协议,可以指定多个协议,例如:aclaclnameprotoHTTPFTP...method:指定请求的方法,例如:aclaclnamemethodGETPOST...url_regex:URL规则表达式匹配,具体形式为:aclaclnameurl_regex[-i]patternurlpath_regex:URL-path规则表达式匹配,略去协议和主机名,具体形式为:aclaclnameurlpath_regex[-i]pattern11.5.2配置Squid服务器的访问控制访问列表可以用来控制(允许或拒绝)某些用户的访问。如果某一个访问没有相符合的项目,则默认为应用最后一个条目的“非”。假设最后一条为允许,则默认就是禁止。通常应该把最后的条目设为“denyall”或“allowall”。11.5.2配置Squid服务器的访问控制aclclientssrc10.0.0.124/24192.168.10.15/24aclguestssrc/etc/squid/guestaclallsrc0.0.0.0/0.0.0.0http_accessallowclientshttp_accessallowguestshttp_accessdenyall其中,/etc/squid/guest:172.168.10.3/24210.113.24.8/1610.0.1.24/2511.5.2配置Squid服务器的访问控制#squid.conf-averybasicconfigfileforsquid#Turnloggingtoit'slowestleveldebug_optionsALL,1#definesagroup(orAccessControlList)thatincludesallIPaddressesaclallsrc0.0.0.0/0.0.0.0#defineRAMusedcache_mem64M#definesthecachesizecache_dir/usr/local/squid/cache10016256#allowallsitestouseconnecttousviaHTTPhttp_accessallowall#allowallsitestouseusasasiblingicp_accessallowall#testthefollowingsitestocheckthatweareconnecteddns_testnamestest.netprogram.edu.cnmotivate.com#runasthesquidusercache_effective_usersquidsquid11.5.3配置Squid服务器的简单实例所谓透明代理,是相对传统代理而言的,指用户可以在安装了Squid软件的路由主机上进行配置,而内网主机不需要逐一设置浏览器代理配置就可以上网的一种代理形式。配置了这种透明代理之后,客户端用户使用浏览器浏览网页时,就像是在直接上网,但实际上是通过路由主机上的代理服务器获得网页内容的,这个过程对于客户来说是透明的。内网的客户机只要将默认网关设为代理服务器的IP地址,并设置DNS客户即可。11.6配置基于Squid的透明代理透明代理的实现需要Linux内核版本在2.0.29以上,但是2.0.30并不支持该功能,我们目前使用的Linux发行版的内核通常都在2.4.X以上,所以一般情况下不需要考虑这个问题。11.6.1Linux内核的相关配置对透明代理进行设置,还要使用squid.conf文件中的相关选项,如下所示:http_port3218httpd_accel_hostvirtualhttpd_accel_port80httpd_accel_with_proxyonhttpd_accel_uses_host_headeron11.6.2Squid的相关配置选项端口:#echo1/proc/sys/net/ipv4/ip_forward#iptables–tnat–APREROUTING–Ieth0–ptcp–dport80–j\REDIRECT--to-port3128在实际的应用过程中,提高和改善服务器的性能有着非常重要的意义。11.7配置多级缓存改善Proxy服务器的性能所谓多级缓存就是将一组在逻辑上为父子或同级关系的代理服务器(也称为peer)组合在一起,通过特定的缓存协议通信,从而在逻辑上构成一个具有更大缓存,更强处理能力的代理服务器,这个概念有点类似于并行计算中经常使用的机群(cluster)。充当多级缓存的代理服务器组合具有以下三种结构:两个代理服务器组成同级结构。多个代理服务器组成层次结构。多个代理服务器组成网状结构。11.7.1多级缓存(cache)简介用户通过squid.conf配置文件中的ca

1 / 39
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功