微型机与应用
MICROCOMPUTER & ITS APPLICATIONS
2000　No.19　No.1　P.31-33




代理服务器在Internet／Intranet中的应用
汪新平　王 建　王长庆　李庆云
摘 要： 以微软公司代理服务器软件MS Proxy Server 2．0为例，详细阐述了代理服务器的功能、设计安装及使用。 
关键词： 代理服务器 Internet MS Proxy Server 2．0
　　代理服务器（Proxy Server）是指那些自己不能执行某种操作的计算机，通过一台服务器来执行该操作，该服务器即为代理服务器。代理服务器是伴随着Internet应运而生的网络服务技术，它可以实现网络的安全过滤、流量控制（减少Internet使用费用）、用户管理等功能，因此它既是一种网络防火墙技术，同时也可以解决许多单位连接Internet引起IP地址不足的问题。
1 代理服务器的功能
1.1 防火墙
　　许多用户使用代理服务器主要用来解决本单位Internet合法IP地址不足的问题，也有的用户用它来减少单位出口流量，但从安全角度考虑用它作为防火墙（Firewall）的尚不多见。防火墙技术是近几年开发并推广使用的一项网络安全新技术，它是在2个网络之间实施访问控制策略的一个系统，既能过滤网间非法信息流，又能允许网间的合法信息流通过。
　　代理服务器的防火墙技术与以往的包过滤（Packet Filter）型防火墙有所不同。它是处在网络ISO／OSI模型中的最顶层，工作在TCP／IP协议栈的应用层，因而属于应用层防火墙（Application Level Firewall）。应用层防火墙是针对不同网络服务提供细致而又安全的网络保护，它对每一种服务分别进行安全隔离，内部网络不直接与外部网络连接。由此可见，代理服务器可以大大降低分组过滤的复杂性，因此它是分组过滤技术的重要补充，在使用过程中即使防火墙发生问题，外部网络也无法获得被保护网络的信息。
　　此外，还可将代理服务器设计成一个高层的应用路由器，接受外来的应用连接请求，进行安全检查后，再与被保护的网络应用服务器连接，让外部服务用户在受控制的前提下使用内部网络服务，而内部网络到外部网络的服务连接也可以通过代理服务器进行访问权限控制。用户的每项代理服务请求均由两部分组成：一部分是通过代理服务器来处理客户请求，另一部分是代理客户向真实服务器发出服务请求。
1.2 用户管理
　　服务器上只要安装了代理服务软件，这台服务器就成为一台代理服务器。当用户通过代理服务器连入Internet时，在代理服务器上设置一些参数，就可对用户进行有效管理，可针对不同用户开放不同的应用功能，设置用户使用权限，如：WWW、FTP、Telnet、Email及多媒体等，象ICQ这类网络应用软件也可在代理服务器中设置用户使用权限。还可以对Internet上的一些站点进行过滤，使用户只能访问某一IP地址范围或某个域（Domain）范围的信息。
1.3 减少出口流量
　　代理服务器通过软件与硬件技术结合，在存储设备上为用户提供较大的高速缓存（Cache），当一个客户机访问过Internet上的某些资源时，它就会将这些访问过的资源存入Cache中，其它客户机需要浏览同样信息时，代理服务器会自动从Cache中读取。因此，所有通过代理服务器的用户都能共享这些访问过的资源，这就可以大大提高客户机访问速度，减少本地节点的出口负载及流量，降低成本，提高经济效益。
1.4 节省连入Internet的IP地址
　　在连入Internet时，所有客户机都要申请1个IP地址，但IP地址的划分已不能满足用户对连入Internet的期望，如果使用代理服务器就可以解决这一矛盾。首先将需要连入Internet的计算机连成一个局域网，然后通过代理服务器连入Internet，这样就可以使多台计算机共用一个Internet上的IP地址，即共用一个出口连入Internet，从而减少用户单位申请IP地址的费用。
2 代理服务器的硬件安装与设计
　　在设计和规划代理服务器时，一般可以根据用户需求从二方面考虑：一是从安全角度考虑将代理服务器用作防火墙；二是在一个完全开放的或采用其它类型防火墙的网络中，使用代理服务器来加快网络访问速度。
2.1 作为防火墙
　　当代理服务器作为防火墙时，要将防火墙内部的局域网与外部的广域网分别放在2个不同的网段上，让代理服务器作为局域网的出口（即局域网的网关Gateway），使进出局域网信息必须经过代理服务器，这样代理服务器就可对进出局域网的信息进行有效的管理和过滤，起到防火墙的作用，同时还可对局域网内部用户进行有效管理或针对不同用户设置不同权限，开放不同功能。如针对不同用户开放Email、FTP、Telnet等功能，网络拓扑结构如图1所示。

图1 代理服务器
　　在计算机硬件设计上，可在作为代理服务器的机器上安装2块网卡，设置2个不同网段，使这台服务器成为一个简单的路由器，以实现不同网段数据的路由转发。同时在2块网卡上设置不同的IP地址：1块卡连入Internet网，使用Internet合法的IP地址（202．188．160．100），子网掩码为255．255．255．0，默认网关则由Internet ISP提供；另1块作为连接内部局域网的网卡，其地址可根据自己的需求设置成内部的IP地址（即虚拟地址），该地址仅在局域网内部可被识别。如：10．10．10．1，子网掩码为255．255．255．0，默认网关为202．188．160．100，即指向第1块网卡。
　　从图1可以看出，局域网的所有用户仅用1个Internet IP地址就可通过代理服务器连入Internet，其它地址则由用户自己定义。这样就拓宽了用户连入Internet的地址范围，同时也确定了可以使用代理服务器用户的IP地址范围。图1中的代理服务器是一个简单的路由器，局域网内有自成系统的IP地址，该地址对外来的访问者是无法识别的。因此，非法用户无法侵入内部网络，使用户内部的计算机既能访问Internet上的资源又能保证自己的安全，在此代理服务器就起到了防火墙的作用。如果再安装相应的软件，还可以实现Web Server、FTP Server等功能。有些代理服务软件包甚至可以统计局域网内部用户的出口流量，并计算出用户的流量费用。
2.2 加快网络访问速度
　　代理服务器对连入方式并无特殊要求（可以不用双网卡服务器做代理服务器），只要在网络中的服务器上安装代理服务器软件即可。代理服务器与客户机均采用Internet合法的IP地址，它们之间既可连接在同一网段上，也可跨网段连接。但代理服务器并非内部网络的唯一出口，所有用户可以不受代理服务器的限制直接连入Internet，也可通过代理服务器连入，只要在代理服务器的本地地址表中加入用户的IP地址即可。因此，设置代理服务器的主要目的是利用其缓存功能，用户通过访问代理服务器缓存中的历史记录来提高访问速度，减少局域网连入Internet的出口流量与负载。用户是否连入则完全取决于自己的需求。
　　从上述两种网络规划可以看出，第一种连接方式除了可以发挥防火墙作用以外，还可实现加快网络访问速度、用户管理、扩展网络IP地址等功能，这种连接方式可以充分发挥代理服务的所有功能，因此这种设计常常用于对网络安全有要求或Internet IP地址不足的情况。第二种设计只应用了代理服务的部分功能，一般用于对Internet IP地址不紧张，或不需要用代理服务器作为防火墙的单位或网站，以提高网络出口速度。许多大专院校的网络中心，或某些Internet ISP常采用这种设计。
3 代理服务器软件安装、配置与管理
　　目前许多著名软件公司均有自己的代理服务软件产品。比较流行的软件有：微软公司的MS Proxy Server 2．0、Netscape公司的Proxy及人们经常使用的WinGate、WinProxy等。本文将以微软公司的MS Proxy Server 2．0为例进行阐述。
3.1 软件的安装
　　在安装之前需要注意以下几个方面的问题：
　　1．MS Proxy Server 2．0运行在Windows NT Server 4．0操作系统下，并安装有IIS（Internet Information Server）2．0或以上版本，及Windows NT Server 4．0 Service Pack 3．0或以上版本。
　　2．服务器应安装成主域服务器。
　　3．软件应尽量安装在Windows NT的NTFS分区中。整个安装过程比较简单，用户可以根据提示进行操作。安装时会提示用户输入使用代理服务的IP地址范围，建立本地地址表LAT（Local Address Table），这个地址可以是连续的或不连续的内部虚拟地址，也可以是Internet合法IP地址。如果是以代理服务器作为局域网的出口，地址就是局域网的IP地址范围，这样就可确定内部网络的虚拟地址，代理服务器则以此表确定内部网络与外部网络的界限，否则由用户自行定义地址范围。此外，在安装过程中，要求设置缓存（Cache）的大小，Cache一般应设置200MB以上的磁盘空间，最好设置在NTFS分区上。
3.2 软件的管理
　　MS Proxy Server 2．0是由Web Proxy与WinSock Proxy 2个彼此独立的代理服务器软件组成，安装程序会自动将这2个服务器安装到Windows NT服务器上，每个软件都能单独运行于Windows NT环境。其中Web Proxy能够为任何支持CERN兼容的客户端软件提供代理服务，这种服务是可跨越系统平台（如UNIX、OS／2等），并通过TCP／IP 80端口传输WWW、FTP、Gopher 3项服务请求，但它不支持邮件服务。而WinSock Proxy则是一个刚问世不久，并只支持Windows环境的代理服务器软件，要运行它的代理服务，必须在客户机上安装WinSock Proxy客户端软件，它支持包括邮件及ICQ等几乎所有服务。Web Proxy及WinSock Proxy代理软件都是捆绑在IIS管理工具内，2个软件的管理项目及方式基本相同，均由5个项目组成。
　　Web Proxy管理的项目为Service、Permissions、Caching、Logging、Filters，WinSock Proxy管理的项目为Service、Protocols、Permissions、Logging、Filters。管理员可从“IIS”→“Web Proxy或WinSock Proxy”进入代理服务器配置管理界面，对它进行设置管理。
　　1．为用户开放Internet服务
　　由于MS Proxy Server 2．0的每一个代理服务都必须授权，只有合法用户才有权使用。因此应为使用代理服务的用户分配许可权限，即在IIS的Web或Winsock代理管理器中将其权限设置为“允许”（Enable），设置步骤为：从“开始”→“Internet Information Server”→“Web Proxy”或“WinSock Proxy”→“Service Properties”→“Permission”，选中欲放开的服务请求（如：WWW、FTP），按“Add”，添加用户。
　　如果添加的用户较多，则可以采取组方式来简化管理。在Windows NT“域用户管理器”中按职能为用户建立不同的工作组，并赋予相应的权限，也可在上述添加用户时直接添加工作组，从而减少许多重复工作来简化操作。
　　2．访问站点控制
　　在Internet中有大量违法信息及站点，要限制或禁止访问这些站点，可在MS Proxy Server 2．0中设置禁访的IP地址或域名来解决。设置步骤为：进入管理器从“开始”→“Internet Information Server”→“Web Proxy或WinSock Proxy”→“Service Properties”→“Filters”→“Enables Filtering”。过滤方式有“禁访”和“允许”2种。设置“禁访”时，在“Enables Filtering”界面中选择“Granted”，然后在“Except to those listed below”中添加要禁止访问站点的地址或域名，除了“Except to those listed below”中指定的站点外，用户可以访问其它所有Internet站点。设置“允许”用户访问时，则选“Denied”，然后在“Except to those listed below”中输入允许访问的站点地址或域名，这时除了表中显示的站点外，其余站点用户都不能访问。选择“Granted”或“Denied”后，按“Add”就会出现3种选择：采用域名过滤“Domain”、单一IP地址过滤“Single Computer”及1组IP地址过滤“Group of Computer”3种方式，其中：
　　域过滤“Domain”，用户可以输入需要过滤的域名。如：要将用户访问的站点限制在国内，可以输入“*．cn”来实现。
　　单一IP地址过滤“Single Computer”，必须输入要限制访问计算机的IP地址。
　　1组IP地址过滤“Group of Computer”，需要用户输入禁访的IP地址与子网掩码。
　　由于用户的代理服务请求必须注册，因此用户在客户机上使用某项服务时，必须先从客户机登录到服务器上去注册，只有合法用户才能使用代理服务器的所有服务，否则除HTTP以外的所有服务用户都无权使用。
　　MS Proxy Server 2．0还有自动拨号、服务器缓存阵列、代理服务器性能监视、服务器管理等许多功能。
　　代理服务器对提高网络安全和速度、降低用户流量极为有用。随着网络技术的不断发展，代理服务器将逐渐引起人们的重视，特别是防火墙的功能。因此，代理服务器的功能及应用前景会越来越广。
汪新平（山东省东营市石油大学信息中心257062）
王建（山东省东营市石油大学信息中心257062）
王长庆（山东省东营市石油大学信息中心257062）
李庆云（山东省东营市石油大学信息中心257062）
参考文献
1，王士元．Windows NT实用组网技术．北京：人民邮电出版 社，1998
2，毛东峰，谭锟．IP地址不足的小型网络如何获得Internet 服务．微型机与应用，1998；(10)
收稿日期：1999－08－29
