信创服务器操作系统的配置与管理(openEuler版) 课件 项目11 部署企业的Squid服务_第1页
信创服务器操作系统的配置与管理(openEuler版) 课件 项目11 部署企业的Squid服务_第2页
信创服务器操作系统的配置与管理(openEuler版) 课件 项目11 部署企业的Squid服务_第3页
信创服务器操作系统的配置与管理(openEuler版) 课件 项目11 部署企业的Squid服务_第4页
信创服务器操作系统的配置与管理(openEuler版) 课件 项目11 部署企业的Squid服务_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

项目11部署企业的squid服务项目描述项目分析相关知识项目实施练习与实践目录[学习目标](1)了解Squid的基本概念。(2)掌握Squid缓存代理服务器的安装配置。(3)掌握企业Squid应用的部署业务实施流程。项目描述项目描述

Jan16公司使用了防火墙的NAT技术实现了公司的内部主机上网的需求。经过一段时间的监控,运维工程师发现,使用防火墙NAT功能连接互联网仍然存在一定的危险。局域网内的主机上网时还是有可能暴露或遭受黑客攻击。而且,运维工程师发现,局域网内部访问Web服务器时速度缓慢。经过上报,公司希望运维工程师能尽快解决这些问题。本项目实施的网络拓扑如图11-1所示:图11-1公司网络拓扑图公司各设备配置信息如表11-1所示项目背景表11-1公司各设备配置信息设备名主机名操作系统IP地址接口内网WEBWebServeropenEuler0/24ens34内网PC1PC1openEuler0/24ens34内网PC2PC2openEuler0/24ens34路由器RouteropenEuler/24ens34ens37项目分析项目分析

在本项目中,需要解决公司主机安全上网以及内部加速访问Web的问题。这两个问题可以通过部署Squid代理服务来解决。Squid代理服务是一个Web的缓存代理服务,支持HTTP,HTTPS,FTP等,它可以通过缓存和重用经常请求的网页,减少带宽消耗并缩短请求响应时间。另外,Squid具有访问控制的功能,能为内网主机提供有效的安全访问控制,整体提升局域网安全性。综上所述,本项目可以分解为以下工作任务:

(1)部署企业的正向代理服务器,实现内部PC通过代理上网。

(2)应用代理访问控制功能,提高内网安全性。

(3)部署企业的反向代理服务器,实现内部PC加速访问Web。相关知识11.1Squid

Squid是一个缓存Internet数据的软件,接收用户的下载申请,并自动处理所下载的数据。当一个用户想要下载一个主页时,可以向Squid发出申请,让Squid代替其进行下载,然后Squid连接所申请网站并请求该网站主页内容,接着把该主页发送给用户,同时保留备份,当其他用户申请同样的页面时,Squid立即把保存的备份主页传给用户,这就大大提高了访问效率。Squid可以代理HTTP、FTP、Gopher、SSL和WAIS等协议,可以自动进行处理,也可以根据不同的需求设置Squid,实现按需过滤的功能。

按照代理类型的不同,可以将Squid代理分为正向代理和反向代理,在正向代理中根据实现方式的不同,又可以分为普通代理和透明代理。11.2Squid代理服务的工作过程1.当Squid代理服务器中有客户端需要的数据时,主要工作流程如下。(1)客户端向Squid代理服务器发送数据请求。(2)Squid代理服务器检查自己的数据缓存。(3)Squid代理服务器在缓存中找到了用户想要的数据,并取出数据。(4)Squid代理服务器将缓存中取得的数据返回给客户端。11.2Squid代理服务的工作过程

Squid代理服务器中有客户端需要的数据时,Squid服务的工作流程如下图11-2所示图11-2Squid服务的工作流程(Squid代理服务器中有客户端需要的数据)11.2Squid代理服务的工作过程2.当Squid代理服务器中没有客户端需要的数据时,主要工作流程如下。(1)客户端向Squid代理服务器发送数据请求。(2)Squid代理服务器检查自己的数据缓存。(3)Squid代理服务器在缓存中没有找到用户需要的数据。(4)Squid代理服务器向Internet上的远端服务器发送数据请求。(5)远端服务器响应,返回相应的数据。(6)Squid代理服务器取得远端服务器的数据,返回给客户端,并保留一份到自己的数据缓存中。11.2Squid代理服务的工作过程

当Squid代理服务器中没有客户端需要的数据时,Squid服务的工作流程如下图11-3所示。图11-3Squid服务的工作流程(Squid代理服务器中没有客户端需要的数据)11.3正向代理

正向代理是一个位于客户端和原始服务器之间的服务器(Squid代理服务器)。客户端必须先进行一些必要设置(必须知道Squid代理服务器的IP地址和端口),将每一次请求先发送到Squid代理服务器上,Squid代理服务器将其转发到真实服务器并取得响应结果后,返回给客户端。

简单说明,就是Squid代理服务器代替客户端去访问目标服务器(隐藏客户端)。11.3正向代理正向代理的主要作用如下:(1)绕过无法访问的节点,从另一条路由路径进行目标服务器的访问。(2)加速访问。通过不同的路由路径提高访问速度(现在通过提高带宽等方式来提速)。(3)缓存作用。数据缓存在Squid代理服务器中,若客户端请求的数据在缓存中则不去访问目标主机。(4)权限控制。防火墙授权Squid代理服务器访问权限,客户端通过正向代理可以通过防火墙(比如一些公司采用的ISAServer权限判断)。(5)隐藏访问者。通过配置,目标服务器只能获得到Squid代理服务器的信息,无法获取真实访客的信息。11.4反向代理

反向代理正好相反,对于客户端而言就像是原始服务器,并且客户端不需要进行任何特别的设置。客户端向反向代理发送普通请求,接着反向代理将判断向那一台原始服务器转交请求,并将获得的内容返回给客户端,就像这些内容原本就是它自己的一样。

简单来说,就是Squid代理服务器代替目标服务器去接受并返回客户端的请求,即隐藏目标服务器。反向代理的主要作用如下:

(1)隐藏原始服务器,防止服务器被恶意攻击等,让客户端认为Squid代理服务器是原始服务器。

(2)缓存作用。将原始服务器数据进行缓存,减少原始服务器的访问压力。

11.5正向代理和反向代理的区别

虽然正向代理服务器和反向代理服务器所处的位置都是客户端和真实服务器之间,所做的事情也都是把客户端的请求转发给服务器,再把服务器的响应转发给客户端,但是二者之间还是存在一定的差异的,具体差异如下。

(1)正向代理其实是客户端的代理,帮助客户端访问其无法访问的服务器资源;反向代理则一般是服务器架设的,帮助服务器做负载均衡,安全防护等。

(2)正向代理一般是客户端架设的,比如在自己的机器上安装一个代理软件;而反向代理一般是服务器架设的,比如在自己的机器集群中部署一个反向代理服务器。

(3)正向代理中,服务器不知道真正的客户端到底是谁,以为请求自己的就是真实的客户端。而在反向代理中,客户端不知道真正的服务器是谁,以为自己访问的就是真实的服务器。

(4)正向代理和反向代理的作用和目的不同。正向代理主要是用来解决访问限制问题。而反向代理则是提供负载均衡、安全防护等功能。

11.6透明代理

透明代理缓冲服务和标准代理服务器的功能完全相同。但是,代理操作对客户端的浏览器是透明的(不需指明Squid代理服务器的IP地址和端口),一般搭建在网络出口位置。透明代理服务器阻断网络通信,并且过滤访问外部的HTTP流量。如果客户端的请求在本地有缓冲则将缓冲的数据直接发给用户,如果在本地没有缓冲则向远程Web服务器发出请求,其余操作和标准的Squid代理服务器完全相同。对于OpenEuler系统来说,透明代理使用Iptables或者Ipchains实现。因为不需要对浏览器作任何设置,所以,透明代理对于Internet服务器提供商(ISP)特别有用。11.7SquidACL

Squid提供了强大的代理控制机制,通过合理设置访问控制列表(AccessControlList,ACL)并进行限制,可以针对源地址、目标地址、访问的URL路径、访问的时间等条件进行过滤。

1.ACL访问控制的步骤

(1)使用【acl】配置项定义需要控制的条件。

(2)通过【http_access】配置项对已定义的列表做“允许”或“拒绝”访问的控制。

(3)Squid使用【allow-deny-allow-deny】顺序套用规则,在进行规则匹配时,如果所有的访问列表没有进行相关规则的定义,而最后一条规则为【deny】,则Squid默认的下一条处理规则为【allow】,则采用与最后一条规则相反的权限,最后反而让被限制的网络或用户可以对服务或网络进行访问,所以在进行ACL限制时,为避免出现找不到相匹配规则的情况,一般设置最后一条规则为【http_accessdenyall】,并且设置源地址为。11.7SquidACL2.ACL用法概述(1)定义ACL访问列表,书写格式如下:(2)常见的ACL列表类型如表11-2所示。参数含义src源地址dst目的地址port目标端口dstdomain目标域time一天中的时刻和一周内的一天maxconn最大并发连接数url_regex目标URL地址urlpath_regex整个目标URL路径(具体到某一页面)表11-2常见的ACL列表参数类型acl列表名称列表类型列表内容…11.7SquidACL3.ACL控制访问

(1)定义好各类的访问控制列表后,需要使用【httpd_access】配置项进行控制,书写格式如下:

(2)在每一条【http_access】规则中,可以同时包含多个访问控制列表名,各列表之间用空格键进行分隔,相当于“and”的关系,表示必须满足所有的访问控制列表对应的条件才会进行限制。http_accessallow/deny列表名...11.8squid代理服务常用配置文件及解析

Squid代理服务的所有设定都包含在主配置文件“/etc/squid/squid.conf”内,通过主配置文件的参数设置可实现代理服务器的绝大部分功能,如ACL、正向代理、反向代理、透明代理等。

“/etc/squid/squid.conf”配置文件部分输出代码如下:##Recommendedminimumconfiguration:#

#Exampleruleallowingaccessfromyourlocalnetworks.#Adapttolistyour(internal)IPnetworksfromwherebrowsing#shouldbeallowedacllocalnetsrc-55#RFC1122"this"network(LAN)acllocalnetsrc/8#RFC1918localprivatenetwork(LAN)acllocalnetsrc/10#RFC6598sharedaddressspace(CGN)acllocalnetsrc/16#RFC3927link-local(directlyplugged)machinesacllocalnetsrc/12#RFC1918localprivatenetwork(LAN)acllocalnetsrc/16#RFC1918localprivatenetwork(LAN)acllocalnetsrcfc00::/7#RFC4193localprivatenetworkrangeacllocalnetsrcfe80::/10#RFC4291link-local(directlyplugged)machines

11.8squid代理服务常用配置文件及解析/etc/squid/squid.conf”配置文件部分输出代码如下:aclSSL_portsport443aclSafe_portsport80#httpaclSafe_portsport21#ftpaclSafe_portsport443#https【...省略显示部分内容...】http_accessallowlocalnethttp_accessallowlocalhost

#Andfinallydenyallotheraccesstothisproxyhttp_accessdenyall

#Squidnormallylistenstoport3128http_port3128

#Uncommentandadjustthefollowingtoaddadiskcachedirectory.#cache_dirufs/var/spool/squid10016256

#Leavecoredumpsinthefirstcachedircoredump_dir/var/spool/squid

##Addanyofyourownrefresh_patternentriesabovethese.#refresh_pattern^ftp:144020%10080refresh_pattern^gopher:14400%1440refresh_pattern-i(/cgi-bin/|\?)00%0refresh_pattern.020%432011.8squid代理服务常用配置文件及解析配置文件的常用参数及解析如表11-3(1)(2)所示。参数解析aclallsrc/允许所有IP访问aclmanagerprotohttpmanagerURL协议为httpacllocalhostsrc/55允许本机IP访问代理服务器aclto_localhostdst允许目的地址为本机IPaclSafe_portsport80允许安全更新的端口为80aclCONNECTmethodCONNECT请求方法以CONNECTaclOverConnLimitmaxconn16限制每个IP最大允许16个连接icp_accessdenyall禁止从邻居服务器缓冲内发送和接收ICP请求miss_accessallowall允许直接更新请求ident_lookup_accessdenyall禁止lookup检查DNShttp_port8080transparent指定Squid监听浏览器客户请求的端口号表11-3(1)配置文件的常用参数及解析11.8squid代理服务常用配置文件及解析参数解析fqdncache_size1024FQDN高速缓存大小maximum_object_size_in_memory2MB允许最大的文件载入内存memory_replacement_policyheapLFUDA内存替换策略max_open_disk_fds0允许最大打开文件数量,参数为0代表无限制minimum_object_size1KB允许最小文件请求体大小maximum_object_size20MB允许最大文件请求体大小cache_swap_high95最多允许使用交换分区缓存的95%access_log/var/log/squid/access.logsquid定义日志存放记录的路径cache_store_lognone禁止store日志icp_port0指定Squid从邻居服务器缓冲内发送和接收ICP请求的端口号coredump_dir/var/log/squid定义dump的目录ignore_unknown_nameserverson开反DNS查询,当域名地址不相同时,禁止访问always_directallowallcache丢失或不存在时,允许所有请求直接转发到原始服务器表11-3(2)配置文件的常用参数及解析配置文件的常用参数及解析如表11-3(1)(2)所示。项目实施任务11-1

部署企业的正向代理服务器任务11-1部署企业的正向代理服务器任务规划

Squid正向代理服务能较好地保护和隐藏内网的IP地址,在本任务中需要在担任路由角色的服务器上实现正向代理服务,Squid正向代理服务配置规划如表11-4所示。

本任务可分解为以下工作任务:

(1)部署和配置Squid代理服务。

(2)启动Squid代理服务。设备名称代理类型监听端口访问限制Router正向代理3128允许所有表11-4Squid正向代理服务配置规划任务11-1部署企业的正向代理服务器任务实施1.部署和配置Squid代理服务

(1)在Router服务器上使用“yum”命令安装squid服务,配置命令如下:

(2)在Router服务器上修改Squid代理服务的主配置文件。Squid代理服务的主配置文件名为“/etc/squid/squid.conf”。在配置文件中,需要修改【http_port】的端口为3128,配置【http_access】允许的范围为all,配置命令如下:[root@Router~]#yum-yinstallsquid[root@Router~]#vim/etc/squid/squid.confhttp_port3128http_accessallowall任务11-1部署企业的正向代理服务器2.启动Squid代理服务 (1)在Squid代理服务主配置文件修改完成后,需要启动Squid代理服务,并设置为开机自启动,配置命令如下:[root@Router~]#systemctlrestartsquid[root@Router~]#systemctlenablesquid任务11-1部署企业的正向代理服务器任务验证(1)在Router服务器上使用“systemctl”命令查看Squid代理服务状态,验证命令如下:[root@Router~]#systemctlstatussquid●squid.service-SquidcachingproxyLoaded:loaded(8;;file://DNS/usr/lib/systemd/system/squid.service/usr/lib/systemd/system/>Active:active(running)sinceTue2021-12-2816:44:39CST;25sagoProcess:9460ExecStartPre=/usr/libexec/squid/cache_swap.sh(code=exited,status=0/SUCCESS)Process:9466ExecStart=/usr/sbin/squid$SQUID_OPTS-f$SQUID_CONF(code=exited,status=0/SUC>MainPID:9469(squid)Tasks:3(limit:8989)Memory:13.1MCGroup:/system.slice/squid.service├─9469/usr/sbin/squid-f/etc/squid/squid.conf├─9471(squid-1)--kidsquid-1-f/etc/squid/squid.conf└─9479(logfile-daemon)/var/log/squid/access.log12月2816:44:14DNSsystemd[1]:StartingSquidcachingproxy...12月2816:44:39DNSsquid[9469]:SquidParent:willstart1kids12月2816:44:39DNSsquid[9469]:SquidParent:(squid-1)process9471started12月2816:44:39DNSsystemd[1]:StartedSquidcachingproxy.任务11-1部署企业的正向代理服务器(2)在内网PC1的浏览器内,配置代理服务器的地址,端口为3128,如图11-3所示:图11-3在浏览器内配置代理地址任务11-1部署企业的正向代理服务器(3)在内网PC1上配置完成后,使用浏览器访问【】站点成功,如图11-4所示。图11-4内网PC1成功访问【】站点任务11-2设置企业SquidACL规则任务11-2设置企业SquidACL规则任务规划

为了提高内网安全性,运维工程师规划使用Squid代理服务的ACL功能对客户端的网络行为进行限制,限制规则如表11-5所示。

本任务实施步骤如下所示:

(1)配置Squid服务。

(2)重启Squid服务。设备名称限制规则Router禁止所有用户访问域名为【】的网站禁止在/24网段内的所有终端在星期一到星期五的9.00到18.00访问internet资源表11-5Squid的ACL规划表任务11-2设置企业SquidACL规则任务实施1.配置Squid代理服务

在Squid代理服务的主配置文件内,按规划内容写入ACL规则,在文件中每个ACL规则对应一个http_access声明,配置命令如下:[root@Router~]#vim/etc/squid/squid.confaclbadurlurl_regex-iaclclientnetsrc/24aclworktimetimeMTWHF9:00-18:00http_accessdenybadurlhttp_accessdenyclientnetworktime##一条ACL规则默认语法为acl[ACL_Name][time][day-abbrevs][h1:m1-h2:m2]##其中day-abbrevs可以为M、T、W、H、F、A、S,代表星期一至星期日任务11-2设置企业SquidACL规则2.重启Squid服务

在Router服务器上重启Squid代理服务,配置命令如下:[root@Router~]#systemctlrestartsquid

任务11-2设置企业SquidACL规则

任务验证(1)在内网PC2的浏览器上也配置代理服务器的地址为,端口为3128,如图11-5所示。图11-5在浏览器内配置代理服务器地址任务11-2设置企业SquidACL规则(2)在内网PC1上尝试访问【】,禁止用户访问站点的ACL策略生效则会提示代理服务器拒绝连接,如图11-6所示。图11-6内网PC1无法访问站点【】

任务11-2设置企业SquidACL规则

(3)使用内网PC2使用代理服务器上网,在星期一至星期五均无法上网,提示信息为:代理服务器拒绝访问,则说明针对【/24】网段的ACL策略应用成功,如图11-7所示。图11-7内网PC2无法在规定时间内访问外部网络任务11-3

部署企业的反向代理服务器任务11-3部署企业的反向代理服务器任务规划

Squid服务的反向代理功能可以减轻内网Web服务器的负担,在本任务中需要部署Squid的反向代理服务,使客户端可以通过访问Squid代理服务器的IP地址浏览内网Web服务器提供的网站内容。Squid反向代理配置规划如表11-6的内容。本任务可分解为以下工作步骤:(1)配置Squid代理服务,实现反向代理。(2)重启Squid代理服务,生效反向代理配置。表11-6Squid反向代理配置规划设备名称代理类型监听端口代理后端代理响应方式Router反向代理800/24no-query任务11-3部署企业的反向代理服务器任务实施1.配置Squid服务

修改代理服务器的配置文件,配置命令如下:[root@Router~]#vim/etc/squid/squid.confhttp_port80vhostvport#监听的端口cache_peer0parent800no-queryoriginserver

##在文件中,关键字的配置注释如下。##cache_peer:用于设置反向代理的后端IP地址##parent:用于配置反向代理监听的端口。##no-query:用于设置反向代理的响应方式为不做查询操作,直接获取后端数据。##originserver:使此服务器作为源服务器进行解析。任务11-3部署企业的反向代理服务器2.重启Squid服务

(1)检查配置文件是否出错,并重新加载配置,配置命令如下:

(2)重启Squid服务,配置命令如下:[root@Router~]#squid-kcheck[root@Router~]#squid-krec[root@Router~]#systemctlrestartsquid

任务11-3部署企业的反向代理服务器

任务验证在内网PC1上配置代理服务器完成后,重启浏览器,再访问【】页面,可以正常访问内网Web站点的内容,如图11-8所示。图11-8内网PC1成功访问内网Web站点练习与实践练习与实践一.理论题选择题:1.Squid代理支持如下哪些协议()A.SambaB.NFSC.NFSD.HTTPS2.系统管理员在某服务器上写入了下的Squid服务配置项,说法正确的是()A.http_port3128

B.aclaaasrc/24C.aclbbbtimeMTWHFS10:00-18:00

温馨提示

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

评论

0/150

提交评论