[毕业设计精品]基于linux的Squid代理服务器的架设.doc
《[毕业设计精品]基于linux的Squid代理服务器的架设.doc》由会员分享,可在线阅读,更多相关《[毕业设计精品]基于linux的Squid代理服务器的架设.doc(20页珍藏版)》请在三一办公上搜索。
1、目录1引言1.1 课程设计的背景1.2 课程设计的意义1.3 课程设计的目的1.4 Linux简介1.5代理服务器的作用及工作原理1.6 Squid代理服务器简介2 Linux下Squid代理服务器的安装与配置2.1 Squid代理服务器的安装2.2 Squid代理服务器的基本配置2.3 初始化Squid2.4 启动和停止Squid代理服务器2.5 Squid代理服务器的客户端配置3 Squid代理服务器的高级配置3.1 透明代理的实现3.2 用户身份认证4 Squid代理服务器的测试4.1 用户认证测试4.2 禁止用户访问某网站配置测试4.3 Squid代理服务器的日志管理5结束语参考文献1
2、引言1.1 课程设计的背景 LINUX是这几年一款异军突起的操作系统,以其公开的源代码、强大稳定的网络功能和大量的免费资源受到业界的普遍赞扬。简单的说,linux就是一套免费使用和自由传播的类UNIX操作系统,它主要用于基于Intel x86系列CPU的计算机上。Linux系统是由世界各地成千上万的程序员设计和实现的,其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的UNIX兼容产品。其中完善的内置网络是Linux的一大特点。Linux在通信和网络功能方面优于其他操作系统。Linux为用户提供了完善的、强大的网络功能。Linux免费提供了大量支持Internet的软件,Inter
3、net是在UNIX领域中建立并繁荣起来的。随着我国计算机网络和信息化的发展,个人操作系统和网络操作系统的选择也越来越受到人们的关注。人们一直追求把性能最好、安全性最高、价格最便宜的操作系统安装到自己的计算机上,因此,Linux成了流行的操作系统。在互联网上,当客户端向服务器端请求数据时,服务器将随即给客户端传送所需的数据,这些服务器可能是远程服务器,数据传输也就需要很长的时间,如果请求此数据的用户很多,就好造成网络堵塞。代理服务器就是为了更好地改善互联网数据传输率而产生的,它不仅可以代理客户服务器端的请求,也可以代理服务器响应客户端所需要的数据。1.2 课程设计的意义随着Internet的迅速
4、发展,宽带网络的接入增多,Internet用户的数量也迅速膨胀,网络管理员通常面临着IP地址缺乏、用户访问计费问题,以及内部网络安全问题等一系列问题,代理服务器是解决这些问题的有效方法之一1。通过代理服务器访问Internet,可以节省IP地址、在内部网络和外部网络之间构筑起防火墙、通过缓存区的使用降低网络通信费用、控制访问权限和统计信息流量等。本课程设计的意义就在于通过对squid代理服务器的构建与配置实现以上功能。1.3 课程设计的目的本课程设计的目的主要有:熟悉Linux、代理服务器及squid代理服务器的相关概念及原理;熟悉并掌握squid代理服务器安装、启停及基本配置具体方法;进行s
5、quid代理服务器高级配置,实现squid代理服务器的透明代理、用户身份认证、控制用户访问权限等功能。1.4 Linux简介Linux是包含内核、系统工具、完整的开发环境和应用的Unix类操作系统。这个系统是由世界各地的成千上万的程序员设计和实现的。其目的是为了建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品1。由于Linux内核及多数应用程序都基于GPL(GUN通用公共许可协议),且具有结构清晰、功能简捷等特点,Linux逐渐成为一个稳定可靠、功能完善的操作系统。Linux之所以受到广大计算机爱好者的喜爱,主要原因有两个1:一是它属于自由软件,用户不用支付任何费用就可
6、以获得它和它的源代码,并且可以根据自己的需要对它进行必要的修改,无偿对它使用,无约束地继续传播。另一个原因是,它具有Unix的全部功能,任何使用Unix操作系统或想要学习Unix操作系统的人都可以从Linux中获益。1.5代理服务器的作用及工作原理代理服务器是目前网络中常见的服务器之一,它可以提供文件缓存、复制和地址过滤等服务1,充分利用有限的出口带宽,加快内部主机的访问速度,也可以解决多用户需要同时访问外网但公有IP地址不足的问题。同时可以作为一个防火墙,隔离内网与外网,并且能提供监控网络和记录传输信息的功能,加强局域网的安全性等。它的主要作用有以下几点:(1)共享网络;(2)加快访问速度,
7、节约通信带宽;(3)防止内部主机受到攻击;(4)限制用户访问,完善网络管理。代理服务器是建立在TCP/IP协议应用层上的一种服务软件,是以HTTP协议为基础的。工作过程简单来说分为4步2:客户端向服务器发送的请求到达代理服务器;代理服务器把请求转发给客户端真正需要联系的服务器;服务器向代理服务器返回响应;代理服务器把响应返回给客户端。下面我们以一个内网客户端通过代理服务器访问Internet上的远程Web服务器的过程为例,来较为深入地了解代理服务器的工作原理,如图1.1所示。图 1.1 Squid代理服务器工作原理启动代理服务器,此时代理服务器主进程会一直监听某个绑定的端口,同时会初始化代理服
8、务器缓存。客户端向代理服务器发出访问Web服务器资源的请求。当代理服务器主进程监听到客户端发来了请求,便会创建一个子进程应对客户端发来的请求;而主进程继续进行监听工作。已创建的代理服务器子进程与客户端建立连接,读取客户请求并对客户请求进行解析,然后依照在代理服务器上预设的访问规则列表,检验当前接收到的请求;如果请求满足规则约束,则可以在代理服务器缓存中查找是否存在所需要的信息。子进程开始查询缓存,根据查询结果做出不同处理3。一种情况是在缓存中命中客户端请求的信息,并且该信息没有过期,则将信息直接传送给客户端,依据具体的缓存更新算法更新代理服务器缓存。另一种情况是缓存中命中客户端请求的信息,并且
9、该信息已经过期,则该子进程代理客户端向目标Web服务器发出请求。目标Web服务器响应代理服务器子进程发来的请求,同时代理服务器子进程依据具体的缓存更新算法更新代理服务器缓存。代理服务器子进程将目标Web服务器回应的信息转送给客户端。代理服务器子进程处理完客户端的代理服务后,进程自动终止,所有相关资源(各种连接)全部释放。其他客户端的请求过程同上。1.6 Squid代理服务器简介 Squid是针对Web客户机的高性能代理缓冲服务器,其作用是加快Internet的访问速度,同时为Web服务器提供安全机制。它能够实现响应Web客户机请求缓冲的代理缓冲器,Web页的副本保存在Squid缓冲器中,请求到
10、来时,Squid首先检查缓冲器是否存在当前Web页的副本,如果存在,则从当前缓冲器而不是初始点返回副本。目前,Squid可以代理HTTP、FTP、GOPHER、SSL和WAIS等协议,该软件的替换算法将自动替换缓冲器中的旧对象。Squid代理服务器的一般工作模式如下4:(1)当Squid服务器没有数据时,会先向友邻的Squid服务器请求数据。如果友邻也没有数据,就直接向上级请求数据;(2)Squid服务器向上级请求数据,然后等待上级给出数据。如果上级有数据,则给出数据;如果没有数据,则上级到Internet中查找;(3)如果没有上级时,Squid服务器自己到Internet中查找;(4)如果这
11、三者都找不到数据,则向客户端报告无法取到数据。一般来说,可以把网络上一层的Squid服务器设成友邻。Squid代理服务器有很多高级的功能4,如作为Web服务器的高速缓存、二级代理服务器、防火墙以及设定过滤规则等,本次课程设计主要就后面几个功能做出分析4。2 Linux下Squid代理服务器的安装与配置2.1 Squid代理服务器的安装首先要查询是否安装了Squid代理服务器,默认情况下Red Hat Enterprise Linux安装程序会将Squid服务器安装在系统上,可使用下面的命令检查系统是否已经安装了Squid或查看已经安装了何种版本的Squid服务器。在Linux的终端下输入以下命
12、令:rpm qa | grep squid命令执行结果如下:出现以上结果表示Squid服务器已安装,它的版本是2.5.STABLE1-2。如果系统未安装Squid,就应将Red Hat Enterprise Linux 第二张安装盘放入光驱,挂载光驱后再光盘的RedHat/RPMS目录下找到Squid的RPM安装文件,使用安装命令进行安装。Squid程序将安装在/user/sbin目录中,而配置文件squid.conf则安装在/etc/squid目录下。2.2 Squid代理服务器的基本配置Squid的主配置文件是/etc/squid/squid.conf,包括了全部的Squid配置选项和注释
13、。由于该文件内容较多,不利于查看和编辑,可以将其复制出一个副本,然后删除/etc/squid/squid.conf配置文件的原有内容,并加上以下最基本的Squid配置就可以启动了,其主要配置内容如下5:http_port 192.168.1.101:8080#这一句是用于设置Squid监听的IP地址和端口号,是为了告诉Squid Server在哪个IP地址的哪个端口侦听来自客户机的HTTP请求。cache_mem 300 MB#这一句是用于设置内存缓冲的大小,是用于Squid存放一些最常用的缓存。cache_dir ufs /var/spool/squid 4096 16 256#这一句是用于
14、设置硬盘缓冲的大小,其目的在于加快查找缓存文件的时间。上面命令选项的意思是:硬盘缓冲区的目录是/home/squid/cache,缓冲的存储类型为ufs,缓存空间的大小为4096,硬盘缓冲区的目录下有16个一级子目录,每一级子目录下有256个二级子目录。cache_effective_user squid#这一句是用于设定使用缓存的有效用户。cache_effective_group squid#这一句是用于设定使用缓存的有效用户组。dns_nameservers 202.103.96.112#这一句是用于定义DNS服务器地址。cache_access_log /var/log/squid/a
15、ccess.log#这一句是用于设置访问日志文件,该日志文件记录了用户访问Internet的详细信息,通过访问日志文件可以查看每台客户机上网记录。cache_log /var/log/squid/cache.log#这一句是用于设置缓存日志文件。cache_store_log /var/log/squid/store.log#这一句是用于设置网页缓存日志文件。visible_hostname 192.168.1.101#这一句是用于设置运行squid主机的名称,当访问发生错误时,该选项的值会显示在错误提示网页中,以上IP为主机IPcache_mgr 905538359#这一句是用于设置管理员的
16、E-mail地址,当访问发生错误时,该选项的值会显示在错误提示网页中。acl all src 0.0.0.0/0.0.0.0#这一句是用于设置访问控制列表。http_access allow all#这一句是用于设置允许或拒绝某个访问控制列表的HTTP请求。2.3 初始化Squid(1)初始化硬盘cache目录成功安装并配置好Squid服务器后,为了能够使Squid在硬盘中缓冲终端客户访问目标服务器的内容,在初次运行Squid之前,或者修改了cache_dir设置后,我们都必须初始化硬盘cache目录。命令格式如下:rootlocalhost root# /usr/local/squid/sb
17、in/squid -z该命令在每个cache_dir下面创建了所需的子目录。你不必担心Squid会破坏当前cache目录。命令执行完后,查看目录/usr/local/squid/var/cache的内容时,可以看到Squid已经根据配置文件的定义建立了目录结构。在该阶段属主和许可权是通常遇到的问题。Squid在特定的用户ID下运行,这在squid.conf文件里的参数cache_effective_user中指定。用户ID必须对每个参数cache_dir目录有读和写权限;否则,你将看到如下信息。Creating Swap Directories FATAL: Failed to make sw
18、ap directory /usr/local/squid/var/cache/ (13) Permission denied在这样的情形下,应该确认/usr/local/squid/var/cache目录的所有资料必须都可以被squid.conf给定的用户ID进行写访问。cache目录初始化工作可能花费一些时间,这取决于cache目录的大小和数量,以及磁盘驱动器的速度。(2)在终端窗口中测试Squid当成功初始化了cache目录后,就可以在终端窗口里运行Squid了,将日志记录重定向到标准错误。这样,我们就能轻易地定位任何错误或问题,并且确认Squid是否成功启动。使用-N选项来保持Squi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计精品 毕业设计精品 基于linux的Squid代理服务器的架设 毕业设计 精品 基于 linux Squid 代理服务器 架设
链接地址:https://www.31ppt.com/p-2397183.html