Squid代理服务器的安装与配置_第1页
Squid代理服务器的安装与配置_第2页
Squid代理服务器的安装与配置_第3页
Squid代理服务器的安装与配置_第4页
Squid代理服务器的安装与配置_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Squid代理服务器的安装与配置

2016年5月17日目录1简介2squid安装3squid配置文件4代理服务配置squid简介1代理服务器英文全称是ProxyServer,其功能就是代理网络用户去取得网络信息。Squid是一个缓存Internet数据的软件,其接收用户的下载申请,并自动处理所下载的数据。当一个用户想要下载一个主页时,可以向Squid发出一个申请,要Squid代替其进行下载,然后Squid连接所申请网站并请求该主页,接着把该主页传给用户同时保留一个备份,当别的用户申请同样的页面时,Squid把保存的备份立即传给用户,使用户觉得速度相当快。Squid可以代理HTTP、FTP、GOPHER、SSL和WAIS等协议并且Squid可以自动地进行处理,可以根据自己的需要设置Squid,使之过滤掉不想要的东西。工作流程当代理服务器中有客户端需要的数据时:a.客户端向代理服务器发送数据请求;b.代理服务器检查自己的数据缓存;c.代理服务器在缓存中找到了用户想要的数据,取出数据;d.代理服务器将从缓存中取得的数据返回给客户端。当代理服务器中没有客户端需要的数据时:1.客户端向代理服务器发送数据请求;2.代理服务器检查自己的数据缓存;3.代理服务器在缓存中没有找到用户想要的数据;4.代理服务器向Internet上的远端服务器发送数据请求;5.远端服务器响应,返回相应的数据;6.代理服务器取得远端服务器的数据,返回给客户端,并保留一份到自己的数据缓存中。Squid分类按照代理类型的不同,可以将Squid代理分为正向代理和反向代理,正向代理中,根据实现方式的不同,又可以分为普通代理和透明代理。普通代理:需要客户机在浏览器中指定代理服务器的地址、端口;透明代理:适用于企业的网关主机(共享接入Internet)中,客户机不需要指定代理服务器地址、端口等信息,代理服务器需要设置防火墙策略将客户机的Web访问数据转交给代理服务程序处理;反向代理:是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。官方地址:/参考文档:/Doc/config/squid安装22.1、系统环境操作系统:CentOSrelease6.4(Final)Squid版本:squid-3.1.10-20.el6_5.3.x86_64SELINUX=disabledHTTPService:stoped2.2squid安装检查squid软件是否安装#rpm-qa|grepsquid如果未安装,则使用yum方式安装#yum-yinstallsquid#chkconfig--level35squidon

//在3、5级别上自动运行squid服务squid配置文件3squid的主配置文件是/etc/squid/squid.conf,所有squid的设定都是在这个文件里配置,下面我们来讲解一下该文件的配置选项。http_port

3128

//设置监听的IP与端口号

cache_mem64MB

//额外提供给squid使用的内存,squid的内存总占用为X*10+15+“cache_mem”,其中X为squid的cache占用的容量(以GB为单位),//比如下面的cache大小是100M,即0.1GB,则内存总占用为0.1*10+15+64=80M,推荐大小为物理内存的1/3-1/2或更多。maximum_object_size4MB

//设置squid磁盘缓存最大文件,超过4M的文件不保存到硬盘minimum_object_size0KB//设置squid磁盘缓存最小文件maximum_object_size_in_memory4096KB

//设置squid内存缓存最大文件,超过4M的文件不保存到内存cache_dirufs/var/spool/squid100

16

256

//定义squid的cache存放路径、cache目录容量(单位M)、一级缓存目录数量、二级缓存目录数量

logformatcombined%>a%ui%un[%tl]"%rm%ruHTTP/%rv"%Hs%<st"%{Referer}>h"

"%{User-Agent}>h"%Ss:%Sh

//log文件日志格式

access_log/var/log/squid/access.logcombined

//log文件存放路径和日志格式cache_log/var/log/squid/cache.log//设置缓存日志logfile_rotate60

//log轮循60天

cache_swap_high95

//cache目录使用量大于95%时,开始清理旧的cache

cache_swap_low90

//cache目录清理到90%时停止。

acllocalnetsrc/24

//定义本地网段

http_accessallowlocalnet

//允许本地网段使用

http_accessdenyall

//拒绝所有

visible_hostnamesquid.david.dev

//主机名

cache_mgrmchina_tang@

//管理员邮箱关于ACL的知识,大家可以自行百度查阅,其他更多高级选项,请参考官方文档:/Doc/config/。注意:squid2.0和squid3.0的差别还是很大的,如果配置完,启动squid不正确,请大家多多参考官方文档的相应版本说明。代理服务配置4即标准的、传统的代理服务,需要客户机在浏览器中指定代理服务器的地址、端口。实验拓扑图如下:4.1、普通代理服务配置Squid代理服务器IP地址将eth1的IP地址修改为#ifconfigeth1编辑squid主配置文件/etc/squid/squid.confhttp_port3128

cache_mem64MBmaximum_object_size4MBcache_dirufs/var/spool/squid100

16

256

access_log/var/log/squid/access.logacllocalnetsrc/24

http_accessallowlocalnethttp_accessdenyallvisible_hostnamesquid.david.devcache_mgrmchina_tang@初始化#squid–z启动Squid#/etc/init.d/squidstart配置Web服务器A.安装Apache#rpm-qa|grephttpd#yum-yinstallhttpdB.启动Apache并加入开机启动#/etc/init.d/httpdstart#chkconfighttpdonC.创建index.html#echo"<h1>Squid-Web1/</h1>">/var/www/html/index.htmlD.修改Web服务器IP地址将web服务器的IP地址修改为#ifconfigeth0配置客户端IP地址配置浏览器代理打开浏览器(以IE为例,其他类似),菜单栏->工具->Internet选项->连接->局域网设置->代理服务器,按照以下格式设置。测试测试成功。测试错误页面在OracleVMVirtualBox里,因为上面手动设置了ip地址,导致外网不能访问,刚好可以测试访问出错的页面。可以看到在squid配置文件里设置的参数在错误页面里的显示。4.2、透明代理服务适用于企业的网关主机,客户机不需要指定代理服务器地址、端口等信息,通过iptables将客户机的Web访问数据转交给代理服务程序处理。实验拓扑图如下:修改squid主配置文件/etc/squid/squid.confhttp_port3128transparent

cache_mem64MBmaximum_object_size4MBcache_dirufs/var/spool/squid10016256access_log/var/log/squid/access.logacllocalnetsrc/24http_accessallowlocalnethttp_accessdenyallvisible_hostnamesquid.david.devcache_mgrmchina_tang@

在http_port3128后添加transparent关键字。reload让上面的配置生效。#/etc/init.d/squidreload添加iptables规则,把内部的http请求重定向到3128端口A.启动iptables服务#/etc/init.d/iptablesstart清除现有iptablesfilter表规则#iptables-F保存iptables设置#/etc/init.d/iptablessave在nat表中新增一条规则#iptables-tnat-IPREROUTING-ieth0-s/24-ptcp--dport80-jREDIRECT--to-port3128设置iptables开机启动#chkconfigiptableson修改客户端IP地址将默认网关设置为squid服务器的内网ip地址。测试透明代理测试成功。4.3、反向代理服务为Internet用户访问企业Web站点提供缓存加速。实验拓扑图如下:关闭防火墙#/etc/init.d/iptablesstop修改WebServer主页Web1:#echo"<h1>Squid-Web1/8</h1>">/var/www/html/index.htmlWeb2:#echo"<h1>Squid-Web1/9</h1>">/var/www/html/index.html配置squidhttp_port80accelvhosthttp_accessallowallcache_peer8parent80

0originserverround-robinweight=1

cache_peer9parent80

0originserverround-robinweight=1

visible_hostnamesquid.david.devcache_mgrmchina_tang@启动Squid服务

squid启动失败,因为上面设定了squid的监听端口是80,和系统的http服务冲突,所以要将http服务停掉。squid启动失败,将系统开机自启动的apache服务关闭。

测试squid采用了round-robin,所以客户端的访问将轮询两台web服务器,采用"Ctrl+F5"来深度刷新测试。Web1:Web2:查看squid的访问日志。4.4、实际应用下面实验将模拟通过不同的域名访问不同的机器,简单实现企业应用中的负载均衡。客户端在浏览器地址栏中输入www.squid.dev,将访问8这台机器,访问bbs.squid.dev,将访问9这台机器。实验拓扑图如下:

修改WebServer主页Web1:#echo"<h1>www.squid.dev/8</h1>">/var/www/html/index.htmlWe

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论