课程设计论文基于linux的Squid代理服务器的架设.doc
《课程设计论文基于linux的Squid代理服务器的架设.doc》由会员分享,可在线阅读,更多相关《课程设计论文基于linux的Squid代理服务器的架设.doc(25页珍藏版)》请在三一办公上搜索。
1、 基于linux的Squid代理服务器的架设 第25页 共25页1 引言1.1课题背景Linux是由芬兰人Linus Torvalds开发,并在1991年10月5日正式对外发布。由于具有结构清晰、功能简捷等特点,许多高等院校的学生和科研机构的研究人员纷纷把它作为学习和研究的对象。Linux操作系统称得上是UNIX的克隆版本,和UNIX操作系统有许多相似之处。自其诞生后,借助于Internet网络,在全世界计算机爱好者的共同努力下,现已成为今天世界上使用最多的一种UNIX类操作系统,并且使用人数还在继续增加。Linux在中国发展时间比较短,人才积累非常少,国内Linux人才缺口逐渐的凸显已成为其
2、产业发展的瓶颈。Linux发展的关键是应用的普及,但国内Linux方面的专业人才稀少,且国内的专业人才远远不如Windows系统下的雄厚不论是数量还是质量都远远不及。Linux无限的应用前景和企业Linux人才的匮乏形成鲜明对比。据有关权威部门统计:将来几年内我国软件行业的从业机会十分庞大,中国每年对软件人才的需求将达到50万人左右,而对于Linux 专业人才的就业前景,更是广阔。现在的用人单位对高素质的软件工程师的需求可以用 “ 如饥似渴 ”来形容,用人单位中多是银行的 IT 部门、政府部门和跨国 IT 企业等,而且越是上规模的公司,工作的拆分层次越清晰,对于Linux人才的需要越大。目前,
3、众多中小企业的服务器应用及办公系统也在逐步向Linux方向移植1。据开放系统世界2003年第八期介绍,中国五年内Linux人才需求量将会超过120万,而“1+1+1”工程的实施,也是间接地告诉我们这个问题的严重性。 因此,在我国培养linux的专业人员显得极其重要。1.2 课程设计的目的Squid是一个高性能的代理缓存服务器,它支持FTP、GOPHER和HTTP协议,支持SSL和访问控制,它是用一个单独的、非模块化的、I/O驱动的进程来处理所有的客户请求。它是个人网络和Internet服务商之间的中间代理机构,负责转发合法的网络信息,对转发进行控制和登记,是连接Internet(广域网)与In
4、tranet(局域网)的桥梁。它能加快内部网访问Internet的速度,提高客户机的访问命中率。本课程设计主要是在Linux操作系统下完成Squid代理服务器的架设,通过对Squid代理服务器的架设,我们不但能了解其详细的工作原理,也能熟悉Linux的相应操作,深化了Linux及网络知识的学习。2 Squid代理服务器的介绍2.1 squid代理服务器的简介所谓代理服务器,就是代表内部私有网络中的客户,去请求Internet网中的资源,并将响应的数据返回给客户机的服务器。它能够让多台没有公有IP地址的主机使用其代理功能访问互联网资源。当代理服务器客户端发出一个对外的资源访问请求,该请求先被代理
5、服务器识别并由代理服务器代为向外请求资源并保存在本机缓存中,客户端通过访问代理服务器的缓存实现访问请求。代理服务器是内部网络和ISP(Internet服务商)之间的中介,它可以提供文件缓存、地址过滤、网络监控等功能,并且可以转发网络信息,对转发信息进行控制2。squid是开源软件,性能优秀,响应速度快,降低了网络的拥塞率,可以针对特定的的网站、用户、网络、数据类型实施访问控制,安全性高。Squid代理服务器可以分为:普通代理服务器、透明代理服务器、反向代理服务器。普通代理服务器能够缓存静态的网页到到本地网络上的一台主机上(即代理服务器)。当被缓存的页面被第二次访问的时候,浏览器将直接从本地代理
6、服务器那里获取请求数据而不再向原web站点请求数据。透明代理就是客户端不知道有代理服务器的存在,当然也不需要进行任何与代理有关的设置,从而大大方便了系统管理员。反向代理也就是通常所说的WEB服务器加速,它是一种通过在繁忙的WEB服务器和Internet之间增加一个高速的WEB缓冲服务器(即:WEB反向代理服务器)来降低实际的WEB服务器的负载。典型的结构如下图2.1所示。 图2.1 反向代理服务器结构图2.1代理服务器的工作原理客户端A向代理服务器提出访问Internet的请求,代理服务器接受到请求后,首先与访问控制列表中的访问规则相对照,如果满足规则,则在缓存中查找是否存在需要的信息。如果缓
7、存中存在客户端A需要的信息,则将信息传送给客户端。如果不存在,代理服务器就代替客户端向Internet上的主机请求指定的信息。 Internet上的主机将代理服务器的请求信息发送到代理服务器中,同时代理服务会将信息存入缓存中。代理服务器将Internet上主机的回应信息传送给客户端A。 客户端B向代理服务器提出相同的请求。代理服务器也首先与访问控制列表中的访问规则相对照。 如果满足规则,则将缓存中的信息传送给客户端B3。其工作模式图如下图2.2所示。如图2.2 代理服务器工作模式图3 Squid 的安装和配置3.1 Squid的安装下载稳定版squid-3.2.0.6.tar.bz2,用以下命
8、令解开压缩包:tar xvfj squid-3.2.0.6.STABLE.tar.bz2,操作如图3.1所示。图3.1 squid的解压操作图然后,进入相应目录对源代码进行配置和编译,命令如下:cd squid-3.2.0.6,操作如图3.2所示。 图3.2 squid 的编译操作图整个编译过程如下4:tar xvfj squid-3.2.0.6.STABLE.tar.bz2# cd squid-3.2.0.6#./configure#make#make install3.2 Squid的配置(1)Network Options(网络设置选项)http_port 端口号监听客户请求的端口,默认
9、3128icp_port 端口号 和其它squid发送和接收ICP查询时监听的端口,0表示禁止mcast_groups IP地址指定一个多播组,可以接收多播形式的ICP查询htcp_prot 端口号同其它相邻的缓存服务器之间发送和接收HTCP查询时监听的端口,0:禁用tcp_outgoing_address IP地址用于采用HTCP和CARP方式同其它服务器通信,默认255.255.255.255udp_incoming_address IP地址接收其它缓存服务器的ICP数据报时使用的地址,默认0.0.0.0udp_outgoing_address IP地址发送ICP数据报到其它缓存服务器时用
10、的地址,默认255.255.255.0(2)多缓存服务器设置选项cache_peer hostname type http_port icp_port options指定网络中其它的缓存服务器,默认为none。Hostname:另一台缓存服务器的主机名Type: parent/sibling /multicast(父/同级/多播)http_port:目的服务器的http端口icp_port:目的服务器的ICP端口options: - proxy-only:仅去获取数据,但不在本地缓存- o-query: 不发送ICP查询给此主机- default:默认的父服务器- login username
11、:passwd:连接对方通过服务器用户名和密码- no-netdb-exchange 代理服务器之间彼此不交换信息- round-robin 当有多个代理服务器可用时,本地代理服务器采用轮转算法cache_peer_domain 服务器主机名 域名用来限定查询相邻的缓存服务器的域dead_peer_timeout N seconds设置Squid在确定父(同)级缓存服务器不可用之前的等待时间(3)缓存大小设置选项cache_mem N(KB/MB/bytes,默认为bytes)缓存内存大小cache_swap_low(percent,0-100)缓存对象交换的最低点cache_swap_hig
12、h(percent,0-100)缓存对象交换的最高点maximum_object_size缓存对象的最大大小minimum_object_size缓存对象的最小大小maximum_object_size_in_memory在内存中缓存的最大的对象大小ipcache_size 4096:ip对应cache的大小为4096fqdncache_size 4096:fqdncache_size 4096域名全称cache的大小为4096 (4)日志文件路径及CACHE的目录设置选项memory_replacement_policy heap GDSF/heap LRU/LRU/heap LFUDA内存
13、替换策略heap GDSF:双重大小贪婪法LRU:默认,最近最少使用算法heap LFUDA:最近最不常用被老化法heap LRU:堆LRUcache_replacement_policy heap GDSF/heap LRU/LRU/heap LFUDA缓存替换策略cache_dir 类型 路径 大小(M) 一级子目录 二级子目录系统使用的存储类型类型: UFS|AUFS,默认使用UFS,AUFS用于非同步的I/O设备实例:cache_dir ufs /usr/local/squid/cache 25000 16 256 cache_access_log /var/log/squid/acc
14、ess.logaccess.log日志文件路径cache_log /var/log/squid/cache.log缓存日志文件的目录和文件emulate_httpd_log on/off激活仿真HTTP格式的日志mime_table /etc/squid/mime.confmime文件路径pid_filename /var/ran/squid.pid指定pid文件和路径ftp_user 用户名域名指定匿名FTP密码ftp_list_width 数字 指定FTP列表的文件名长度ftp_passive on/off以被动模式(on)/主动模式(off)cache_dns_program /usr/
15、lib/squid/指定DNS查询程序路径编译时指定:-disable-internal-dns optiondns_children 数字指定本地默认启动DNS查询进程数dns_nameservers IP地址DNS服务器地址diskd_program /usr/lib/squid/diskd磁盘管理程序unlinkd_program usr/lib/squid/unlinkd删除文件程序pinger_program /usr/lib/squid/ping程序编译时指定:-enable-icmp optionredirect_program noneURL重点向程序redirect_chil
16、dren 数字重点向进程数redirect_rewrites_host_heade on/off 重点向时重写包头(用加速器时勿用)auth_param 类型 program/children/credentialsttl/realm 值用户认证配置选项(5)调整Cache的选项request_header_max_size 数字(KB)最大http请求头request_body_max_size 数字(KB)最大http请求数据内容reply_body_max_size 数字(KB)最大返回数据,可限制用户下载的数据大小reference_age 数字LRU算法中指定LRU时间quick_a
17、bort_min 数字(KB)断点续传最小值quick_abort_max 数字(KB)断点续传最大值quick_abort_pct 数字(percent)超过值认为续传成功negative_ttl 数字 minutes/hours/seconds否定回答TTLpositive_dns_ttl 数字 minutes/hours/secondsDNS肯定回答TTLrange_offset_limit 数字 KB/MB/Bytes请求SQUID预取数据的大小(6)定义超时的选项connect_timeout:SQUID等待客户请求的服务器回应的时间长度peer_connect_timeout:一个
18、对等的缓存服务器的TCP连接超时时间client_lifetime:客户端同代理服务器TCP连接的最大时间长度read_timeout:读入数据超时request_timeout:客户端请求最大时间shutdown_lifetime:关闭squid缓存时间(7)定义访问控制的选项acl:定义一个访问列表格式:acl aclname acltype string类型:(acltype)src:源地址dst:目标地址srcdomain:原(客户)名称dstdomain:目标名称time:时间(M星期一、T星期二、W星期三、H星期四、F星期五、A星期六、S星期天)url_regex-i:URL中的正
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 论文 基于 linux Squid 代理服务器 架设
链接地址:https://www.31ppt.com/p-4868778.html