已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 引言1.1课题背景Linux是由芬兰人Linus Torvalds开发,并在1991年10月5日正式对外发布。由于具有结构清晰、功能简捷等特点,许多高等院校的学生和科研机构的研究人员纷纷把它作为学习和研究的对象。Linux操作系统称得上是UNIX的克隆版本,和UNIX操作系统有许多相似之处。自其诞生后,借助于Internet网络,在全世界计算机爱好者的共同努力下,现已成为今天世界上使用最多的一种UNIX类操作系统,并且使用人数还在继续增加。Linux在中国发展时间比较短,人才积累非常少,国内Linux人才缺口逐渐的凸显已成为其产业发展的瓶颈。Linux发展的关键是应用的普及,但国内Linux方面的专业人才稀少,且国内的专业人才远远不如Windows系统下的雄厚不论是数量还是质量都远远不及。Linux无限的应用前景和企业Linux人才的匮乏形成鲜明对比。据有关权威部门统计:将来几年内我国软件行业的从业机会十分庞大,中国每年对软件人才的需求将达到50万人左右,而对于Linux 专业人才的就业前景,更是广阔。现在的用人单位对高素质的软件工程师的需求可以用 “ 如饥似渴 ”来形容,用人单位中多是银行的 IT 部门、政府部门和跨国 IT 企业等,而且越是上规模的公司,工作的拆分层次越清晰,对于Linux人才的需要越大。目前,众多中小企业的服务器应用及办公系统也在逐步向Linux方向移植1。据开放系统世界2003年第八期介绍,中国五年内Linux人才需求量将会超过120万,而“1+1+1”工程的实施,也是间接地告诉我们这个问题的严重性。 因此,在我国培养linux的专业人员显得极其重要。1.2 课程设计的目的Squid是一个高性能的代理缓存服务器,它支持FTP、GOPHER和HTTP协议,支持SSL和访问控制,它是用一个单独的、非模块化的、I/O驱动的进程来处理所有的客户请求。它是个人网络和Internet服务商之间的中间代理机构,负责转发合法的网络信息,对转发进行控制和登记,是连接Internet(广域网)与Intranet(局域网)的桥梁。它能加快内部网访问Internet的速度,提高客户机的访问命中率。本课程设计主要是在Linux操作系统下完成Squid代理服务器的架设,通过对Squid代理服务器的架设,我们不但能了解其详细的工作原理,也能熟悉Linux的相应操作,深化了Linux及网络知识的学习。2 Squid代理服务器的介绍2.1 squid代理服务器的简介所谓代理服务器,就是代表内部私有网络中的客户,去请求Internet网中的资源,并将响应的数据返回给客户机的服务器。它能够让多台没有公有IP地址的主机使用其代理功能访问互联网资源。当代理服务器客户端发出一个对外的资源访问请求,该请求先被代理服务器识别并由代理服务器代为向外请求资源并保存在本机缓存中,客户端通过访问代理服务器的缓存实现访问请求。代理服务器是内部网络和ISP(Internet服务商)之间的中介,它可以提供文件缓存、地址过滤、网络监控等功能,并且可以转发网络信息,对转发信息进行控制2。squid是开源软件,性能优秀,响应速度快,降低了网络的拥塞率,可以针对特定的的网站、用户、网络、数据类型实施访问控制,安全性高。Squid代理服务器可以分为:普通代理服务器、透明代理服务器、反向代理服务器。普通代理服务器能够缓存静态的网页到到本地网络上的一台主机上(即代理服务器)。当被缓存的页面被第二次访问的时候,浏览器将直接从本地代理服务器那里获取请求数据而不再向原web站点请求数据。透明代理就是客户端不知道有代理服务器的存在,当然也不需要进行任何与代理有关的设置,从而大大方便了系统管理员。反向代理也就是通常所说的WEB服务器加速,它是一种通过在繁忙的WEB服务器和Internet之间增加一个高速的WEB缓冲服务器(即:WEB反向代理服务器)来降低实际的WEB服务器的负载。典型的结构如下图2.1所示。 图2.1 反向代理服务器结构图2.1代理服务器的工作原理客户端A向代理服务器提出访问Internet的请求,代理服务器接受到请求后,首先与访问控制列表中的访问规则相对照,如果满足规则,则在缓存中查找是否存在需要的信息。如果缓存中存在客户端A需要的信息,则将信息传送给客户端。如果不存在,代理服务器就代替客户端向Internet上的主机请求指定的信息。 Internet上的主机将代理服务器的请求信息发送到代理服务器中,同时代理服务会将信息存入缓存中。代理服务器将Internet上主机的回应信息传送给客户端A。 客户端B向代理服务器提出相同的请求。代理服务器也首先与访问控制列表中的访问规则相对照。 如果满足规则,则将缓存中的信息传送给客户端B3。其工作模式图如下图2.2所示。如图2.2 代理服务器工作模式图3 Squid 的安装和配置3.1 Squid的安装下载稳定版squid-.tar.bz2,用以下命令解开压缩包:tar xvfj squid-.STABLE.tar.bz2,操作如图3.1所示。图3.1 squid的解压操作图然后,进入相应目录对源代码进行配置和编译,命令如下:cd squid-,操作如图3.2所示。 图3.2 squid 的编译操作图整个编译过程如下4:tar xvfj squid-.STABLE.tar.bz2# cd squid-#./configure#make#make install3.2 Squid的配置(1)Network Options(网络设置选项)http_port 端口号监听客户请求的端口,默认3128icp_port 端口号 和其它squid发送和接收ICP查询时监听的端口,0表示禁止mcast_groups IP地址指定一个多播组,可以接收多播形式的ICP查询htcp_prot 端口号同其它相邻的缓存服务器之间发送和接收HTCP查询时监听的端口,0:禁用tcp_outgoing_address IP地址用于采用HTCP和CARP方式同其它服务器通信,默认55udp_incoming_address IP地址接收其它缓存服务器的ICP数据报时使用的地址,默认udp_outgoing_address IP地址发送ICP数据报到其它缓存服务器时用的地址,默认(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: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_high(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内存替换策略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/access.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/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_children 数字重点向进程数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_abort_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:一个对等的缓存服务器的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中的正则表达式匹配urlpath_regex-i:略去协议和主机名的正则表达式proxy_auth:通过外部程序进行用户验证maxconn:单IP最大连接数port:端口myip:本地IPsrcdom_regex -i:匹配客户名dstdom_regex -i:匹配目标名myport:我的端口proto:协议,http,ftp.method:方法, GET POSTbrowser:匹配User-Agent headerarp:匹配指定的MAC地址proxy_auth username:指定合法用户,用REQUIRED表示所有合法用户http_access:代理访问控制格式:http_access allow|deny ! acl_nameicp_access:icp访问控制格式:icp_access allow|deny !acl_namecache_peer_access:其它缓存服务器访问控制格式:cache_peer_access cache_host allow|deny !acl_name(8)管理员参数选cache_mgr mail地址:管理员电子邮件cache_effective_user 用户名:运行身份cache_effective_group 组名:运行组身份(9)CACHE注册服务选项announce_period 数字:发布缓存通告频率announce_host 主机名:通告的主机announce_file 文件名:通告的信息announce_port 端口号:通告的对方端口(10) HTTPD加速选项httpd_accel_host 主机名/vitual:加速某服务器访问httpd_accel_port 端口号:加速服务器的对方端口httpd_accel_single_host on/off:多台服务器时设置offhttpd_accel_with_proxy on/off:即作为加速器,又作为WEB缓存服务器,设置为onhttpd_accel_uses_host_header on/off:为on,能支持不同的http协议(11)杂项logfile_rotate 0-9:日志轮换版本数append_domain 域名:默认域名tcp_recv_bufsize 数字(KB):TCP缓存区大小err_html_text 字符串:包含在错误消息中的文本deny_info:禁用时显示消息格式:deny_info err_page_name aclvisible_hostname 主机名错误消息中显示的服务器名称error_directory 路径:指定错误消息文件目录54普通代理服务器的配置 4.1 安装和配置(1)安装squidtar xvfj squid-.STABLE.tar.bz2(2)配置squid.conf文件 #vi /etc/squid/squid.confhttp_port 3128 icp_port 3130#缓存目录的设置,可以设置多个缓存目录,语法为: cache_dir ufs /var/spool/squid 4096 16 256#下面是关于日志文件的放置目录与文件名 cache_access_log /var/log/squid/access.logcache_log /var/log/squid/cache.logcache_store_log /var/log/squid/store.logpid_filename /var/run/squid.pid#关闭认证机制#auth_param basic children 5#auth_param basic realm Squii proxy-caching web server#auth_param basic credentialsttl 2 hours#设置squid用户及用户组、管理员账号cache_effective_user squidcache_effective_group squidcache_mgr youraccountyour.e.mail# 与内存有关的配置cache_mem 128 MB#与磁盘容量有关的配置cache_swap_low 90cache_swap_high 95maximum_object_size 4096 KB#与内存保存资料有关的配置maximum_object_size_in_memory 8 KB#定义acl(访问控制列表), 语法为:acl acl All src /acl manager proto cache_objectacl alhost src /55acl to_localhost dst /8 acl SSL_ports 443 563 acl safe_portsport 80acl safe_portsport 21acl safe_portsport 443 563acl safe_portsport 70acl safe_portsport 210acl safe_portsport 1025-65535acl safe_portsport 280acl safe_portsport 488acl safe_portsport 591acl safe_portsport 777acl CONNECT method CONNECT #利用前面定义的acl,定义访问控制规则http_access allow Manager Localhost http_access deny Manager http_access deny !Safe_ports http_access deny CONNECT !SSL_ports http_access deny All#定义与其它代理服务器的关系,语法: cache_peer parent 3128 3130 proxy-only#设置与其它代理服务器的关系: # #cache_peer_access allow asexample#cache_peer_access deny allcoredump_dir /var/spool/squid54.2 激活squid(1)在开启squid之前,检查配置文件是否正确6,如下图4.1所示,运行如下命令即可:# squid -k parse 图4.1 配置文件检查图(2)初始化cache目录.即建立缓存目录的存储格式6# squid zX(3)启动squid服务6,如下图4.2所示。# service squid start 图4.2 squid 启动图(4)代理服务器的测试 在测试之前,我们先得的网络搭建好7,局域网的设置如下图4.3和4.4所示。 图4.3 局域网的设置图 图4.4 局域网的设置图然后在IE浏览器里输入路径:进行测试,测试如图4.5所示。图4.5服务器测试图(5)停止squid,如下图4.6所示。# squid -k shutdown 图4.6squid的关闭图4.3 访问控制示例(1)禁止访问某个网站在squid配置文件中添加以下acl名称及访问规则,并重新加载配置acl sina dst 6http_access deny sina(2)禁止在某些时段访问acl Working_hours MTWHF 08:00-17:00http_access allow Working_hourshttp_access deny !Working_hours(3)禁止某个代理客户建立过多连接 acl OverConnLimit maxconn 4 http_access deny OverConnLimit5透明代理服务器的配置5.1 安装和配置(1)安装squidtar xvfj squid-.STABLE.tar.bz2(2)配置squid.conf文件 #vi etc/squid/squid.conf http_port :8080cache_mem 128 MBcache_dir ufs /var/spool/squid 4096 16 256cache_effective_user squidcache_effective_group squiddns_nameservers 8cache_access_log /var/log/squid/access.logcache_log /var/log/squid/cache.logcache_store_log /var/log/squid/store.logvisible_hostname 23cache_mgr httpd_accel_host virtualhttpd_accel_port 80httpd_accel_with_proxy onhttpd_accel_uses_host_header onacl all src /http_access allow all5(3)初始化squid服务 #squid zx(4)检测squid的配置文件6,如图5.1所示。 #squid -k parse 图5.1 配置文件检查图(5)启动squid服务,如图5.2所示。 #service squid start 图5.2 squid启动图(6)iptable的配置#iptables -t nat -A PREROUTING -i eth0 -p tcp m tcp -dport 80 -j REDIRECT -to-ports 80805.2 配置客户端首先搭建网络环境8,设置如下图5.3所示。 图5.3 网络环境配置图默认网关为以下默认地址,如下图5.4所示。图5.4 默认网关地址图 然后在IE浏览器里输入路径:1进行测试,测试如图5.5所示。 图5.5 测试图6反向代理服务器6.1 安装和配置(1)安装squidtar xvfj squid-.STABLE.tar.bz2(2)配置squid.conf文件http_port 8000cache_mem 128 MBcache_dir ufs /var/spool/squid 4096 16 256cache_effective_user squidcache_effective_group squiddns_nameservers 38cache_access_log /var/log/squid/cache.logcache_store_log /var/log/squid/store.logvisible_hostname cache_mgr http_port 80 # squid监听的端口httpd_accel_host localhost # 内部WEB服务器的IP地址httpd_accel_port 81 # WEB服务器的IP地址httpd_accel_single_host on # 转发为缓冲的请求到一台单独的机器httpd_accel_with_proxy on #httpd_accel_uses_host_header off5(3)初始化squid服务 #squid zx(4)检测squid配置文件6,如图6.1所示。 #squid
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 职业培训师岗位设备安全技术规程
- 公司果树育苗工工艺作业技术规程
- 墨汁制造工岗位职业健康、安全、环保技术规程
- 污水处理工变革管理评优考核试卷含答案
- 房屋漏水赔偿和解协议书
- 韦源口镇中心小学教学楼新建工程绿色施工方案
- 河北省2025年职业院校“西餐烹饪”技能大赛参考试题库(含答案)
- 频率范围标定的操作流程
- 高精度制造中的公差配合指南
- 揭秘生理奥秘
- 食堂物品换购管理办法
- 肝病健康知识科普
- 前庭性眩晕的护理查房
- 幼儿园群众信访管理制度
- 儿童流感科普课件
- (高清版)DG∕TJ 08-2243-2017 市属高校建筑规划面积标准
- 电能计量装置错误接线分析-低压三相四线电能表错误接线分析
- 夫妻忠诚协议书合同
- 2025年全国高压电工证(复审)理论考试试题(1000题)附答案
- 玻璃及铝板幕墙工程监理细则
- 中频炉四大紧急情况应急预案
评论
0/150
提交评论