项目17 部署代理服务_第1页
项目17 部署代理服务_第2页
项目17 部署代理服务_第3页
项目17 部署代理服务_第4页
项目17 部署代理服务_第5页
已阅读5页,还剩35页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

项目17部署代理服务内容项目引入1需求分析2知识准备3项目实施4小结6反思与进阶5项目引入随着学院网络服务的丰富,客户端随之增多,学院内网的上网速度却越来越慢,而且来自网络的攻击也越来越多,经过协商,IT协会决定部署代理服务器,一方面提高网络访问速度,一方面可以隐藏自己的真实地址,防止网络攻击,确保内网的安全性。需求分析在网络中部署代理服务器服务器的优点非常多,Linux系统中一般采用squid软件。IT协会决定使用squid部署来为学院网络部署代理服务。了解代理服务的工作原理;掌握代理服务器的类型以及区别;能熟练运用squid部署各类代理服务器;根据实际情况,部署出符合学院需求的代理服务器。知识准备一、代理服务器概述代理服务器英文全称是(ProxyServer),其功能就是代理网络用户获取网络信息。让多台没有公有IP地址的客户端高速、安全地访问互联网资源。具体为以下几方面:突破自身IP访问限制,访问国外站点。如使用教育网内地址段免费代理服务器,就可以用于对教育网开放的各类FTP下载上传,以及各类资料查询共享等服务。提高访问速度:通常代理服务器都设置一个较大的硬盘缓冲区,当有外界的信息通过时,同时也将其保存到缓冲区中,当其他用户再访问相同的信息时,则直接由缓冲区中取出信息,传给用户,以提高访问速度。知识准备二、代理服务器工作原理代理服务器是基于HTTP协议的服务软件。当客户在浏览器中设置好代理时,代理服务器会开启主进程监听某个绑定的端口并初始化缓存。客户通过代理服务器访问目标服务器时,其实是将请求发送给了代理服务器,代理服务器接收到客户端的请求后,首先会检测自己的cache里面是否有相关的响应信息,如果有,代理服务器就直接将响应结果发送给客户使用,如果没有,代理服根据客户需求访问目标服务器;目标服务器发送响应结果给代理服务器,代理服务器将响应数据在cache存储记录下来,以便以后需要的时候直接读取,同时将响应结果返回给客户。当代理服务器主进程处理完客户请求后,进程自动终止,所有相关资源全部释放。知识准备二、代理服务器工作原理对于用户来说,是感觉不到代理服务器的存在,用户以为是直接通过目标服务器获取的响应结果。由于网络中很多数据都是从代理服务器的缓存cache中获取,所有用户的上网速度比较快。项目实施一、squid简介squid是一个高性能的代理缓存服务器。目前,squid支持FTP、gopher、HTTPS、HTTP、SSL和WAIS等协议,但它不能处理如POP3,NNTP,RealAudio以及其它类型的东西。和一般的代理缓存软件不同,squid用一个单独的、非模块化的、I/O驱动的进程来处理所有的客户端请求,它可以工作在很多操作系统中,如AIX、Digital、Unix、FreeBSD、HP-UX、Irix、Linux、NetBSD、Nextstep、SCO、Solaris、OS/2等。。squid的另一个优越性在于它使用访问控制清单(ACL)和访问权限清单(ARL)。访问控制清单和访问权限清单通过阻止特定的网络连接来减少潜在的Internet非法连接,可以使用这些清单来确保内部网的主机无法访问有威胁的或不适宜的站点。项目实施一、squid简介1. squid代理类型按照代理类型的不同,可以将Squid代理分为正向代理和反向代理。1) 正向代理根据实现方式的不同,又可以分为普通代理和透明代理。2) 反向代理项目实施一、squid简介2. squid主要组成部分服务名:squid主程序:/usr/sbin/squid配置目录:/etc/squid主配置文件:/etc/squid/squid.conf监听tcp端口号:3128默认访问日志文件:/var/log/squid/access.log项目实施二、安装squid服务1. 检查并安装squid软件包在终端窗口输入:“rpm-qsquid”命令检查系统是否安装了squid软件包。[root@localhost~]#rpm-qsquid未安装软件包squid如果没有安装,则使用YUM方式安装。[root@localhost~]#yuminstall-ysquid2. 安装完成后再次查询。[root@localhost~]#rpm-qa|grepsquid3. 其他准备工作。配置squid服务器IP地址54,关闭防火墙,设置系统的安全机制为permissive,并生效。项目实施三、启动与停止Squid服务在RedHatEnterpriseLinux7.6中,squid程序被安装为服务,所以遵循服务的启动、停止规范。1. 启动squid服务。[root@localhost~]#systemctlstartsquid2. 停止squid服务[root@localhost~]#systemctlstopsquid3. 重启squid服务[root@localhost~]#systemctlrestartsquid4. 查看squid服务状态[root@localhost~]#systemctlstatussquid5. 设置squid服务自启动。[root@localhost~]#systemctlenablesquid项目实施四、客户端配置1. Linux客户端配置在Linux环境下通常都使用Firefox作为Web浏览器。通过Firefox配置使用代理服务的客户端。打开Firefox浏览器,选择“编辑”→“参数”→“常规”→“网络代理”,单击“设置”。在“连接设置”对话框中,选中“手动代理配置”选项,然后在“HTTP代理”文本框中输入正确的代理服务器的IP地址54和端口号3128。如果还想通过代理服务器使用SSL、FTP和SOCKS协议,则可以选中“为所有协议使用相同代理”复选框,最后单击“确定”按钮完成代理客户端的配置工作,如图17-1所示。项目实施四、客户端配置图17‑1Linux客户端配置项目实施四、客户端配置2. Windows客户端配置在Windows环境下通常使用IE作为默认的Web浏览器。通过IE浏览器配置使用代理服务的客户端。打开IE浏览器,选择“工具”→“Internet选项”→“连接”,单击“局域网设置”,选择“为LAN使用代理服务器”复选框,然后输入代理服务器的IP地址54和端口号3128,如图17-2所示。如果还想通过代理服务器使用SSL、FTP和SOCKS等协议,则可以单击“高级”进行相关的配置,如图17-3所示,最后单击“确定”按钮完成代理客户端的配置工作。项目实施四、客户端配置图17‑2Windows客户端配置图17‑3配置其他代理服务项目实施五、配置Squid服务1. 初始化Squid在第一次启动Squid服务之前,一定要使用squid-z命令来帮助squid在硬盘缓存中建立cache目录。或者重新设置了cache_dir字段后,也需要使用该命令来重新建立硬盘缓存目录。2. 常见的配置选项在RedHat环境下所有Squid的配置文件都位于/etc/squid子目录下。在该目录当中,系统同时提供了一个默认的配置文件,其名称为squid.conf.default。squid的主配置文件是/etc/squid/squid.conf,所有squid的设定都是在这个文件里配置。通过如下命令可编辑主配置文件squid.conf。[root@localhost~]#vim/etc/squid/squid.conf项目实施五、配置Squid服务(1) http_port

3128

设置Squid服务器的默认监听端口。如果使用HTTPD加速模式则为80。可以指定多个端口,但是所有端口都必须在一条命令行上,各端口间用空格分开。如来自某一个部门的浏览器发送请求到3128端口,而另一个部门使用8080端口,此时该参数定义为:http_port

3128

http_port

8080

当squid作为防火墙运行时候,它有两个接口,一个内部接口和一个外部接口,如若不想接受来自外部的HTTP请求,但需要接收来自内部的HTTP请求,这时,squid只需要侦听内部接口,此时该参数定义为:http_port内部接口IP地址:3128

项目实施五、配置Squid服务(2) cache_mem64MB额外使用内存量,可根据你的系统内存在设定,一般为实际内存的1/3。比如这里内存是200M,这里设置1/3就是64MB。(3) cache_dirufs/var/spool/squid409616256

定义squid的cache存放路径、cache目录容量(单位M)、一级缓存目录数量、二级缓存目录数量。其中ufs是指缓冲的存储类型,一般为ufs;/var/spool/squid表示缓冲存放的目录;4096指缓存空间的最大存储空间为4096MB。16代表在硬盘缓存目录下建立的第一级子目录的个数,默认为16;256代表可以建立的二级子目录的个数。客户端访问网站的时候,squid会从自己的缓存目录中查找客户端请求的文件。可以选择任意分区作为硬盘缓存目录,最好选择较大的分区,如/usr或者/var等。这个例子完整的意思就是:squid服务器缓存路径为/var/spool/squid,缓存的存储类型为ufs,缓存空间为4096MB,缓存目录下有16个一级子目录,每个子目录下有256个二级子目录。项目实施五、配置Squid服务(2) cache_mem64MB额外使用内存量,可根据你的系统内存在设定,一般为实际内存的1/3。比如这里内存是200M,这里设置1/3就是64MB。(3) cache_dirufs/var/spool/squid409616256

定义squid的cache存放路径、cache目录容量(单位M)、一级缓存目录数量、二级缓存目录数量。其中ufs是指缓冲的存储类型,一般为ufs;/var/spool/squid表示缓冲存放的目录;4096指缓存空间的最大存储空间为4096MB。16代表在硬盘缓存目录下建立的第一级子目录的个数,默认为16;256代表可以建立的二级子目录的个数。客户端访问网站的时候,squid会从自己的缓存目录中查找客户端请求的文件。可以选择任意分区作为硬盘缓存目录,最好选择较大的分区,如/usr或者/var等。这个例子完整的意思就是:squid服务器缓存路径为/var/spool/squid,缓存的存储类型为ufs,缓存空间为4096MB,缓存目录下有16个一级子目录,每个子目录下有256个二级子目录。项目实施六、访问控制列表ACL默认情况下,squid默认的配置文件中拒绝所有客户的请求,为了让所有的客户通过squid代理服务器访问Internet资源,在所有的客户能使用该代理前,必须首先在squid.conf文件中附加相应的访问控制规则,也就是定义访问控制列表。访问控制列表ACL(AccessControlList)可以定义一系列不同的规则,squid服务器根据这些规则对数据包进行分类,并针对不同类型的报文进行不同的处理,从而可以实现对网络访问行为的控制、限制网络流量、提高网络性能、防止网络攻击等等。ACL是squid进行网络控制的有力工具,用来过滤进出代理服务器的数据,运用好ACL是应用squid的关键。项目实施六、访问控制列表ACL1. ACL命令acl命令的格式如下:ACL列表名称列表类型[-i]value1value2...列表名称:区分squid的各访问控制列表ACL,任何两个ACL不能定义相同的列表名称。一般情况下,尽量使用意义明确的列表名称。列表类型:可以被Squid识别的类型。如表17-1所示:列表类型描

述src通过源IP地址设定允许或拒绝访问代理服务器的客户端IP地址。列表。dst通过目的IP地址设定允许或拒绝访问的目标服务器的IP地址列表。dstdomain通过目的域名设定允许或拒绝客户对某些站点的访问。srcdomain通过源域名限制访问。port通过端口号限制对代理服务器的访问。url_regex通过匹配URL规则表达式限制访问。urlpath_regex和url_regex类似,不同的是可以不包含传输协议和主机名不包含在匹配条件里,这让某些类型的检测非常容易。maxcom限定来自指定客户IP地址的同时最大连接数。time控制基于时间的访问。项目实施六、访问控制列表ACL2. 访问控制规则的定义访问控制列表ACL的定义仅仅是定义了需要控制的网络访问类型,根据访问控制列表允许或禁止某类用户访问,需要使用诸如http-accessdeny、http-accessallow的语句定义相应的访问规则。代理服务器squid首先检查符合ACL的访问请求,然后根据访问规则决定允许还是拒绝相应的访问请求。在有多条ACL列表的情况下,squid按先后顺序对每条ACL进行匹配,找到第一条匹配的ACL后,不再匹配后面的ACL列表。如果某个客户端访问请求没有相符合的ACL列表,则默认为应用最后一条访问规则的“非”。比如最后一条访问规则为允许,则默认就是禁止。通常为了避免这种安全性隐患,应该把最后的条目设为“denyall”或“allowall”来匹配所有不符合特定类别的其他网络访问请求。项目实施六、访问控制列表ACL例:学院squid服务器的IP地址为54,管理员的邮箱为admin@,要求监听的端口为3128,内存缓存大小为128,硬盘缓存最大的存储空间为4096MB,建立16个一级目录和256个二级子目录,访问日志文件为/var/log/squid/access.log,缓存日志文件为/var/log/squid/cache.log,网页存储日志为/var/log/squid/store.log,禁止52主机的代理请求,允许所有主机通过代理服务器上网,但是禁止访问淘宝。(1) 修改主配置文件[root@localhost~]#vim/etc/squid/squid.confhttp_port3128cache_mem128MBcache_dirufs/var/spool/squid409616256cache_access_log/var/log/squid/access.logcache_log/var/log/squid/cache.log项目实施六、访问控制列表ACLcache_store_log/var/log/squid/store.logvisible_hostname54cache_mgradmin@aclbaddaomaindstdomain-iaclbadipsrc52http_accessdenybadiphttp_accessdenybaddaomainhttp_accessallowall(2) 初始化[root@localhost~]#squid–z(3) 启动Squid[root@localhost~]#systemctlstartsquid项目实施六、访问控制列表ACL(4) 测试主机52访问外网,如图17-4所示,无法上网。图17‑4主机访问项目实施六、访问控制列表ACL(4) 测试主机05可以正常上网,但是不能访问/,如图17-5所示。图17‑5主机访问反思与进阶一、部署透明代理服务项目背景:为了确保内网的安全,防止网络攻击,提高网络传输速度,IT协会决定在学院网络中部署透明代理服务器,整个网络拓扑图如图17-6所示:图17‑6透明代理网络拓扑图反思与进阶一、部署透明代理服务项目背景:提示:透明代理的实现需要以下两步: 修改squid主配置文件,支持透明代理。http_port3128transparent 添加防火墙规则。firewalld在此所起的主要作用是端口重定向。将内网中的Web服务的请求转发到squid反思与进阶一、部署透明代理服务实施目的:1. 透明代理的设置方法;2. 熟练运用firewall-cmd命令。反思与进阶一、部署透明代理服务实施步骤:1. Linux客户端上的配置。(1) 修改Linux客户端IP地址为,网关为squid服务器的内网IP:,如图17-7所示。图17‑7Linux客户端IP配置反思与进阶一、部署透明代理服务实施步骤:2. squid服务器的配置。(1) 按照拓扑图,设置squid服务器的IP地址,并查看,如图17-8所示。[root@localhost~]#ifconfig图17‑8查看squid上网卡地址反思与进阶一、部署透明代理服务实施步骤:(2) 测试squid服务器与外网的连通性。[root@localhost~]#ping-c4(3) 修改主配置文件,监听内网端口,支持透明代理。[root@localhost~]#vim/etc/squid/squid.confhttp_port:3128transparent(4) 检查配置文件,并进行squid初始化。[root@localhost~]#squid-kparse反思与进阶一、部署透明代理服务实施步骤:(2) 测试squid服务器与外网的连通性。[root@localhost~]#ping-c4(3) 修改主配置文件,监听内网端口,支持透明代理。[root@localhost~]#vim/etc/squid/squid.confhttp_port:3128transparent(4) 检查配置文件,并进行squid初始化。[root@localhost~]#squid-kparse[root@localhostnetwork-scripts]#squid–z反思与进阶一、部署透明代理服务实施步骤:(5) 启动squid服务,并设置开机启动。[root@localhost~]#systemctlstartsquid[root@localhost~]#systemctlenablesquid(6) 查看squid端口。[root@localhost~]#lsof-i:3128(7) 开启内核路由转发功能。[root@localhost~]#vim/etc/sysctl.confnet.ipv4.ip_forward=1[root@localhost~

温馨提示

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

最新文档

评论

0/150

提交评论