代理服务器课程设计(论文)-基于linux的Squid代理服务器的架设

架设代理服务器  时间:2021-01-08  阅读:()

1 . 1课题背景

Linux是由芬兰人Linus Torvalds开发并在1991年10月5日正式对外发布。由于具有结构清晰、功能简捷等特点许多高等院校的学生和科研机构的研究人员纷纷把它作为学习和研究的对象。

L inux操作系统称得上是UN IX的克隆版本和UN I X操作系统有许多相似之处。 自其诞生后借助于Interne t网络在全世界计算机爱好者的共同努力下现已成为今天世界上使用最多的一种UN IX类操作系统并且使用人数还在继续增加。 Linux在中国发展时间比较短人才积累非常少 国内Linux人才缺口逐渐的凸显已成为其产业发展的瓶颈。 Linux发展的关键是应用的普及但国内Linux方面的专业人才稀少且国内的专业人才远远不如Windows系统下的雄厚——不论是数量还是质量都远远不及。 Linux无限的应用前景和企业Linux人才的匮乏形成鲜明对比。据有关权威部门统计将来几年内我国软件行业的从业机会十分庞大 中国每年对软件人才的需求将达到50万人左右而对于Linux专业人才的就业前景更是广阔。现在的用人单位对高素质的软件工程师的需求可以用 “如饥似渴”来形容用人单位中多是银行的IT部门、政府部门和跨国IT企业等而且越是上规模的公司工作的拆分层次越清晰对于Linux 人才的需要越大。 目前众多中小企业的服务器应用及办公系统也在逐步向L i nux方向移植[1] 。据《开放系统世界》 2003年第八期介绍 中国五年内Linux 人才需求量将会超过120万而“1+1+1”工程的实施也是间接地告诉我们这个问题的严重性。 因此在我国培养linux的专业人员显得极其重要。

1 .2课程设计的目的

Squid是一个高性能的代理缓存服务器它支持F TP、GOPHER和HTTP协议支持SSL和访问控制它是用一个单独的、非模块化的、 I/O驱动的进程来处理所有的客户请求。它是个人网络和Interne t服务商之间的中间代理机构负责转发合法的网络信息对转发进行控制和登记是连接Interne t(广域网)与Intra ne t 局域网的桥梁。它能加快内部网访问Inte rnet的速度提高客户机的

页访问命中率。本课程设计主要是在Linux操作系统下完成S quid代理服务器的架设通过对Squid代理服务器的架设我们不但能了解其详细的工作原理也能熟悉L inux的相应操作深化了L inux及网络知识的学习。

2 Squid代理服务器的介绍

2. 1 squid代理服务器的简介

所谓代理服务器就是代表内部私有网络中的客户去请求Internet网中的资源并将响应的数据返回给客户机的服务器。它能够让多台没有公有IP地址的主机使用其代理功能访问互联网资源。当代理服务器客户端发出一个对外的资源访问请求该请求先被代理服务器识别并由代理服务器代为向外请求资源并保存在本机缓存中客户端通过访问代理服务器的缓存实现访问请求。代理服务器是内部网络和ISPInte rnet服务商之间的中介它可以提供文件缓存、地址过滤、 网络监控等功能并且可以转发网络信息对转发信息进行控制[2]。squid是开源软件性能优秀 响应速度快降低了网络的拥塞率可以针对特定的的网站、用户、 网络、数据类型实施访问控制安全性高。 Squid代理服务器可以分为普通代理服务器、透明代理服务器、反向代理服务器。

普通代理服务器能够缓存静态的网页到到本地网络上的一台主机上即代理服务器。当被缓存的页面被第二次访问的时候浏览器将直接从本地代理服务器那里获取请求数据而不再向原web站点请求数据。

透明代理就是客户端不知道有代理服务器的存在当然也不需要进行任何与代理有关的设置从而大大方便了系统管理员。

反向代理也就是通常所说的WEB服务器加速它是一种通过在繁忙的WEB 服务器和Interne t之间增加一个高速的W EB缓冲服务器即WEB反向代理服务器来降低实际的WEB服务器的负载。典型的结构如下图2.1所示。

图2. 1反向代理服务器结构图

2. 1代理服务器的工作原理

客户端A向代理服务器提出访问Inte rne t的请求代理服务器接受到请求后首先与访问控制列表中的访问规则相对照如果满足规则则在缓存中查找是否存在需要的信息。如果缓存中存在客户端A需要的信息则将信息传送给客户端。如果不存在代理服务器就代替客户端向Interne t上的主机请求指定的信息。Interne t上的主机将代理服务器的请求信息发送到代理服务器中 同时代理服务会将信息存入缓存中。代理服务器将Inte rnet上主机的回应信息传送给客户端A。客户端B向代理服务器提出相同的请求。代理服务器也首先与访问控制列表中的访问规则相对照。 如果满足规则则将缓存中的信息传送给客户端B[3]。其工作模式图如下图2.2所示。

如图2.2代理服务器工作模式图

页3 Squid的安装和配置

3. 1 Squid的安装

下载稳定版squid-3.2.0.6.tar.b z2用以下命令解开压缩包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

#./c o nfigure

#mak e

#make install

3.2 Squid的配置

1Network Options 网络设置选项http_port 端口号

监听客户请求的端口默认3128icp_port 端口号

和其它squid发送和接收ICP查询时监听的端口 0表示禁止mcast_groups IP地址

指定一个多播组可以接收多播形式的ICP查询ht cp_prot 端口号

页同其它相邻的缓存服务器之间发送和接收H TC P查询时监听的端口0禁用tcp_outgoing_address IP地址

用于采用HTC P和C ARP方式同其它服务器通信默认255.255.255.255udp_incoming_address IP地址

接收其它缓存服务器的ICP数据报时使用的地址默认0.0.0.0udp_outgoing_address IP地址

发送ICP数据报到其它缓存服务器时用的地址默认255.255.255.02多缓存服务器设置选项cache_peer hostname type http_port icp_port options

指定网络中其它的缓存服务器默认为none。

Hostname:另一台缓存服务器的主机名

Type:parent/s ib ling/multicast 父/同级/多播http_p ort:目的服务器的http端口icp_port:目的服务器的ICP端口options:

-p ro xy-o nly:仅去获取数据但不在本地缓存

-o-query:不发送ICP查询给此主机

-default:默认的父服务器

- login username:passwd:连接对方通过服务器用户名和密码

-no-netdb-e xc hange 代理服务器之间彼此不交换信息

- round-rob in 当有多个代理服务器可用时本地代理服务器采用轮转算法cache_p eer_do main 服务器主机名 域名

用来限定查询相邻的缓存服务器的域dead_peer_timeout N seconds

设置Squid在确定父同级缓存服务器不可用之前的等待时间3缓存大小设置选项cache_mem NKB/MB/bytes,默认为bytes

页缓存内存大小cache_swap_low(perce nt,0-100)

缓存对象交换的最低点cache_swap_high(pe rce nt,0-100)

缓存对象交换的最高点maximum_obj e ct_s ize

缓存对象的最大大小minimum_obj ect_s ize

缓存对象的最小大小maximum_obj e ct_s ize_in_me mo ry

在内存中缓存的最大的对象大小ipcache_size 4096:ip对应cache的大小为4096fqdncache_size 4096:fqdncache_size 4096

域名全称cache的大小为4096

4 日志文件路径及C AC HE的目录设置选项memory_replacement_policy heap GDSF/heap LRU/LRU/heap LFUDA 内存替换策略heap GDSF:双重大小贪婪法

LRU:默认最近最少使用算法heap LFUDA:最近最不常用被老化法heap LRU:堆LRU cache_replacement_policy heap GDSF/heap LRU/LRU/heap LFUDA 缓存替换策略cache_d ir 类型 路径 大小(M) 一级子目录 二级子目录系统使用的存储类型

类型:UFS|AUFS,默认使用UFS AUFS用于非同步的I/O设备实例 cache_dir ufs/usr/local/squid/cache 2500016256cache_access_log/var/log/squid/access.log

页access.log日志文件路径cache_log /var/log/squid/cache.log

缓存日志文件的目录和文件emulate_httpd_log on/off

激活仿真HT TP格式的日志mime_tab le /e tc/s q uid/mi me.c o nf mime文件路径pid_fi le name /var/ran/squid.p id

指定pid文件和路径ftp_user 用户名@域名

指定匿名FTP密码ftp_list_width 数字

指定FTP列表的文件名长度ftp_passive on/off

以被动模式(on)/主动模式(o ff)cache_dns_pro gram /usr/lib/squid/

指定DNS查询程序路径

编译时指定 --disable-internal-dns option dns_c hildre n数字

指定本地默认启动DNS查询进程数dns_nameservers IP地址

DNS服务器地址diskd_pro gram /usr/lib/squid/d iskd

磁盘管理程序unlinkd_pro gram us r/lib/squid/unlinkd

删除文件程序pinger_pro gram /usr/lib/squid/ping程序

编译时指定:--enable-icmp option

页redirect_program none

URL重点向程序red irec t_c hildre n 数字

重点向进程数redirect_rewrites_host_heade on/off

重点向时重写包头用加速器时勿用auth_param类型 pro gram/c hildre n/c rede ntia ls ttl/rea lm 值

用户认证配置选项

5调整Cache的选项request_header_max_s ize 数字(KB)

最大http请求头request_body_max_s ize 数字KB

最大http请求数据内容reply_body_max_size 数字KB

最大返回数据可限制用户下载的数据大小re fere nc数字

LRU算法中指定LRU时间quick_abort_min 数字(KB)

断点续传最小值quick_abort_max 数字(K B)

断点续传最大值quick_abort_p ct 数字(percent)

超过值认为续传成功ne ga t ive_tt l 数字minute s/ho urs/s e c o nds

否定回答TTL po s itive_dns_ttl 数字 minutes/ho urs/seco nds

DNS肯定回答TTL range_o ffse t_lim it 数字 KB/M B/B yte s

请求S QUID预取数据的大小

hostodo:美国大流量VPS,低至$3,8T流量/月-1.5G内存/1核/25gNVMe/拉斯维加斯+迈阿密

hostodo从2014年年底运作至今一直都是走低价促销侧率运作VPS,在市场上一直都是那种不温不火的品牌知名度,好在坚持了7年都还运作得好好的,站长觉得hostodo还是值得大家在买VPS的时候作为一个候选考虑项的。当前,hostodo有拉斯维加斯和迈阿密两个数据中心的VPS在促销,专门列出了2款VPS给8T流量/月,基于KVM虚拟+NVMe整列,年付送DirectAdmin授权(发ticket...

Hostodo独立日提供四款特价年付VPS套餐 最低年付$13.99

前天,还有在"Hostodo商家提供两款大流量美国VPS主机 可选拉斯维加斯和迈阿密"文章中提到有提供两款流量较大的套餐,这里今天看到有发布四款庆祝独立日的七月份的活动,最低年付VPS主机13.99美元,如果有需要年付便宜VPS主机的可以选择商家。目前,Hostodo机房可选拉斯维加斯和迈阿密两个数据中心,且都是基于KVM虚拟+NVMe整列,年付送DirectAdmin授权,需要发工单申请。(如何...

牦牛云(3.5USD/月 )阿里云国际版云服务器 1核1G40G

收到好多消息,让我聊一下阿里云国际版本,作为一个阿里云死忠粉,之前用的服务器都是阿里云国内版的VPS主机,对于现在火热的阿里云国际版,这段时间了解了下,觉得还是有很多部分可以聊的,毕竟,实名制的服务器规则导致国际版无需实名这一特点被无限放大。以前也写过几篇综合性的阿里云国际版vps的分析,其中有一点得到很多人的认同,那句是阿里云不管国内版还是国际版的IO读写速度实在不敢恭维,相对意义上的,如果在这...

架设代理服务器为你推荐
cm域名注册CM域名后缀怎么样啊?百度对CM域名收录友好吗?linux主机【windows主机换Linux主机该怎么弄啊?需要注意些什么呢?】asp主机sulzer主机类型有哪些虚拟主机代理虚拟主机代理哪家好,应该选择哪个家?网站空间购买国内网站空间购买哪里的比较实惠啊?合肥虚拟主机哪里的虚拟主机空间实惠?郑州虚拟主机虚拟主机哪个好点,用过的推荐下apache虚拟主机linux apache虚拟主机有几种方式最好的虚拟主机谁来推荐一下哪里的虚拟主机比较好域名邮箱域名邮箱帐号,密码是那些?
免费云主机 备案域名出售 主机评测 siteground 鲨鱼机 英语简历模板word 最好看的qq空间 免费网站申请 godaddy域名证书 刀片服务器的优势 国外代理服务器地址 服务器托管什么意思 免费申请个人网站 台湾谷歌 电信主机 双线机房 丽萨 中国域名 空间排行榜 sonya 更多