首页 | Linux 基础 | 资讯动态 | Linux 应用 | Linux 服务器 | Linux 开发 | Linux 安全 | 专题 | 联盟论坛
  当前位置:主页>Linux 服务器>文章内容
Linux架设代理服务器(1)
来源:www.unix5.com 作者:riechelr_hl(收集) 发布时间:2007-06-22  

一、代理服务器概述
  
  1.1什么是代理服务器
  
  在TCP/IP网络中,传统的通信过程是这样的:客户端向服务器请求数据,服务器响应该请求,把数据传送给客户端。在引入了代理服务器以后,这一过程变成了这样:客户端向服务器发起请求,该请求被送到代理服务器;代理服务器分析该请求,先查看自己缓存中是否有请求数据,如果有就直接传送给客户端,如果没有就代替客户端向该服务器发出请求。服务器响应以后,代理服务器把响应的数据传送给客户端,同时在自己的缓存中保留一份该数据的拷贝。这样,再有客户端请求相同的数据时,代理服务器就可以直接把数据传送给客户端,而不需要再向该服务器发起请求。
  
  1.2 代理服务器的功能
  
  一般说来,代理服务器具有以下的功能:
  
  1.通过缓存增加访问速度
  
  随着Internet的迅猛发展,网络带宽变得越来越珍贵。所以为了提高访问速度,好多ISP都提供代理服务器,通过代理服务器的缓存功能来加快网络的访问速度。一般说来,大多数的代理服务器都支持HTTP缓存,但是,有的代理服务器也支持FTP缓存。在选择代理服务器时,对于大多数的组织,只需要HTTP缓存功能就足够了。
  通常,缓存有主动缓存被动缓存之分。所谓被动缓存,指的是代理服务器只在客户端请求数据时才把服务器返回的数据进行缓存,如果数据过期了,又有客户端请求相同数据时,代理服务器又必须重新发起新的数据请求,在把响应数据传送给客户端时又进行新的缓存。所谓主动缓存,就是代理服务器不断地检查缓存中的数据,一旦有数据过期,则代理服务器主动发起新的数据请求来更新数据。这样,当有客户端请求该数据时就会大大缩短响应时间。还需要说明的是,对于数据中的认证信息,大多数的代理服务器都不会进行缓存的。
  
  2.提供用私有IP访问Internet的方法
  
  IP地址是不可再生的宝贵资源,假如你只有有限的IP地址,但是需要提供整个组织的Internet访问能力,那么,你可以通过使用代理服务器来实现这一点。
  
  3.提高网络的安全性
  
  这一点是很明显的,如果内部用户访问Internet都是通过代理服务器,那么,代理服务器就成为进入Internet的唯一通道;反过来说,代理服务器也是Internet访问内部网的唯一通道,如果你没有做反向代理,则对于Internet上的主机来说,你的整个内部网只有代理服务器是可见的,从而大大增强了网络的安全性。
  
  1.3 代理服务器的分类及特点
  
  通常的代理服务器分类方法,是从实现的机理分为线路层代理、应用层代理、智能线路层代理等等。在这里,我想从另外一个角度出发,把代理服务器分为传统代理服务器和透明代理服务器。
  我认为有必要好好搞清楚两者的区别,只有真正明白了内在地机理,才能在遇到问题时,有章可循,才不会一头雾水,不知从何解决问题。因此,下面我们就通过具体的实例来说明。本章的写作思路来源于Paul Russell所写的IPCHAINS-HOWTO。下面所举的例子也来源于该文章,我觉得我读该文的最大收获在于对内部网访问外部网以及外部网访问内部网的实现手段有了一个清晰的认识。当然,这里所谓的内部网是指使用私有IP的内部网络。
  我们的例子都基于以下假设:
  你的域名为sample.com,你的内部网(192.168.1.*)用户通过proxy.sample.com(外部接口 eth0:1.2.3.4;内部接口 eth1:192.168.1.1)的代理服务器访问Internet,换句话说,该代理服务器是唯一一台直接与Internet和内部网相连的机器。并假该设代理服务器上运行着某种代理服务器软件(如squid)。假设内部网中某一客户机为client.sample.com(192.168.1.100)。
  
  +-------------------+
  |内部网(192.168.1.*)| eth1+--------+eth0 DDN
  | +------------| proxy |<===============>Internet
  |client198.168.1.100| +--------+
  +-------------------+
  
  eth0: 1.2.3.4
  eth1: 198.168.1.1
  
  
  1.3.1传统代理
  
  在以上基础上我们做以下工作:
  1.代理服务软件被绑定到代理服务器的8080端口。
  2.客户端浏览器被配置使用代理服务器的8080端口。
  3.客户端不需要配置DNS。
  4.代理服务器上需要配置代理服务器。
  5.客户端不需要配置缺省路由。
  
  当我们在客户端浏览器中打开一个web请求,比如“http://www.linuxaid.com.cn”,这时把陆续发生以下事件:
  1.客户端使用某一端口(比如1025)连接代理服务器8080端口,请求web页面“http://www.linuxaid.com.cn”
  2.代理服务器向DNS请求“www.linuxaid.com.cn”,得到相应的IP地址202.99.11.120。然后,代理服务器使用某一端口(比如1037)向该IP地址的80端口发起web连接请求,请求web页面。
  3.收到响应的web页面后,代理服务器把该数据传送给客户端。
  4.客户端浏览器显示该页面。
  
  从www.linuxaid.com.cn的角度看来,连接是在1.2.3.4地1037端口和202.99.11.120的80端口之间建立的。从client的角度看来,连接是在192.168.1.100的1025端口和1.2.3.4的8080端口之间建立的。
  
  1.3.2 透明代理
  
  透明代理的意思是客户端根本不需要知道有代理服务器的存在。
  在以上基础上我们做以下工作:
  1.配置透明代理服务器软件运行在代理服务器的8080端口。
  2.配置代理服务器把所有对80端口的连接重定向到8080端口。
  3.配置客户端浏览器直接连解到Internet。
  4.在客户端配置好DNS.
  5.配置客户端的缺省网关为192.168.1.1.
  
  当我们在客户端浏览器中打开一个web请求,比如“http://www.linuxaid.com.cn”,这时把陆续发生以下事件:
  1.客户端向DNS请求“www.linuxaid.com.cn”,得到相应的IP地址202.99.11.120。然后,客户端使用某一端口(比如1066)向该IP地址的80端口发起web连接请求,请求web页面。

共6页: 上一页 1 [2] [3] [4] [5] [6] 下一页
 
如果您对本文有任何疑问或者建议,请到论坛讨论区发表您的意见: >> 论坛入口
[收藏] [推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
  热点文章
·Linux系统下Apache服务器设置与
·在Linux x86上安装Oracle数据库1
·Linux操作系统下IPTables配置方
·Linux系统下SVN服务器的搭建过程
·Linux系统下的Oracle数据库编程
·Linux 服务器集群系统
·Linux下免费数据库PostgreSQL开
·高端Linux操作系统服务器技术之
·在Ubuntu Linux 上架设Web服务器
· 在 Linux 上构建 Web spider
·Debian Linux操作系统下启动远程
·用LVS在Linux上搭建负载均衡的集
  相关文章
·用Linux建立局域网服务器
·Linux架设代理服务器(2)
·PostgreSQL的热备和恢复
·实战安全设置WEB专用服务器技巧
·源码安装Postgresql8.1.3+PostGI
·Linux下免费数据库PostgreSQL开
·剖析Linux系统下基于NUMA构建的
·教你用SRP服务构建Linux下FTP服
·Linux系统下的Oracle数据库编程
·Linux系统下Mini SQL数据库开发
·在Ubuntu Linux 上架设Web服务器
·用LVS在Linux上搭建负载均衡的集

本站信息源至:互联网络,均为学习,交流所用,如有版权问题,请联系我们.
站长QQ:397422079 E_mail:riechelr_hl@unix5.com
转载本站内容请注明原作者名.谢谢!