Chinaunix首页 | 论坛 | 博客
  • 博客访问: 513051
  • 博文数量: 620
  • 博客积分: 40000
  • 博客等级: 大将
  • 技术积分: 4920
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-16 18:35
文章分类

全部博文(620)

文章存档

2011年(1)

2008年(619)

我的朋友

分类:

2008-10-16 18:43:15


  ISA Server是Microsoft开发的用于替代Microsoft Proxy Server2.0的最新代理和产品,其强大的功能及易用性给不同规模的企业带来的很多显而易见的好处。因此,ISA Server也正在逐步的成为很多企业,特别的基于Microsoft网络的企业的首选代理和产品。今天,朗月繁星想和大家一起来深入的研究一下ISA Server中的自动发现(AutoDiscovery)特性。
  
  在一个全球性的企业里,网络覆盖全球的很多城市,在每个城市里或者站点里有很多ISA Server或者是ISA Server的阵列(Array)。工作在这个企业的员工有很大一部分是使用笔记本电脑来访问位于公司其他站点或者是Internet上的资源,我们知道如果一台客户机要访问位于ISA Server外端的资源就必须成为ISA Server的三种客户端之一,要么是SNAT客户端,要么是Web代理客户端,要么是Firewall Client客户端(以下简称FWC)。三种客户端的共同之处是要明确自己的代理服务器的位置,也就是要知道代理服务器的IP地址。然而,当一个移动用户从一个城市或者站点出差(漫游)到另外一个城市或者站点的时候,你该如何配置这些客户机使他们无障碍地访问Internet的资源?换句话讲你将做什么样的配置使这些移动的客户机顺利的找到提供代理服务的ISA Server?
  
  我想读到这里的朋友可能已经猜到了,是的,没错!就是利用ISA Server的自动发现(AutoDiscovery)特性!这是一个令人振奋的功能,下面朗月繁星就来谈谈支持自动发现(AutoDiscovery)特性所涉及的一些技术要素。
  
  如果您急于在网络中实现ISA Server的自动发现功能,你或许不需要了解过多的技术细节和讨论。这样,你可以直接参考设置“自动发现”之实施篇。
  
  在此文中说的客户机和客户端是有区别的,客户机指用户使用的计算机,他可能使用9x, NT/2000或者其他Microsoft的操作系统,甚至是Linux;客户端指客户机操作系统上的某种应用程序或某种配置,例如,我们可以给Internet Explorer(以下简称IE)配置一个代理的信息,使之成为Web代理客户端;或者给用户的操作系统配置IP地址,网关以及DNS,这样这个操作系统就可以作为 SNAT客户端;如果您安装的ISA Server光盘中的Firewall Client,则运行在用户的操作系统上的网络应用程序的Winsock请求就会被FWC截获,从而做为ISA Server的FWC客户端。换句话说,客户机上可能存在多种客户端。此外,文中的domainsuffix.net指您的网络的DNS命名空间或者是您网络的域名称。在具体配置“自动发现”时,注意以您网络的所用的名称来代替domainsuffix.net。
  
  自动发现(AutoDiscovery)特性的定义
  
  自动发现是使ISA Server的客户端在不知道ISA Server的具体位置(IP地址)的情况下,通过网络上的其他网络服务来自动的发现ISA Server的IP地址及端口(Web代理客户需要知道提供Web代理服务的端口)的特性。
  
  何种的客户端可以利用自动发现(AutoDiscovery)特性
  
  我们知道ISA Server有三种客户端类型,在这3中客户端类型中,只有Web代理客户端和FWC可以利用自动发现(AutoDiscovery)特性,SNAT客户端不行!而且对于客户机使用的操作系统也有一定要求,客户机的OS必须是下面列表中的一种:
  Windows98
  Windows ME
  Windows 2000
  Windows XP
  注意:不包含WinNT和Win95(Win95可以利用DHCP服务器发现ISA Server)
  
  自动发现(AutoDiscovery)特性的机制讨论
  
  之所以Microsoft称之为自动发现,足以证明ISA Server 的客户端在不经过“发现”这一过程前,是不知道代理服务器的具体位置的。那么,不难推断,在“发现”这一过程中,客户机肯定不是向ISA Server 来查询,所以就我的知识范围来讲,我想只有2种可以使用的方法来查找代理服务器ISA Server :一个是通过发送广播,另外一个是向某个公共的中心服务器来查找这个信息。最终Microsoft采取了后者,我想这也是明智之选,因为以广播的方式查找,对于网络的利用极其不利。以太网中广播是任何网络管理员应该避免的问题,说广播是网络杀手,我想不会有人有异议!在一个LAN(或者VLAN)中,所有节点都处于一个广播域,所以,当其中一个节点发送广播数据帧时,任何处于这个广播域的所有其他节点都会处理这个帧,尽管这个帧对于很多节点都是毫无意义的。如果在一个包含一个非常的大的冲突域的基于CSMA/CD的以太网中,广播会导致处于这个冲突域的其他节点,无法“抢夺”到传输介质,而导致暂时无法发送和接受其他数据的情况,直到这个广播被所有节点处理完成。
  
  现在我们就来谈谈ISA Server的客户端是如何向中心服务器来查找代理服务器ISA Server的。这个中心服务器的角色可以是DNS,也可以是DHCP,或者是其两者(请放心,两者同时利用不会产生任何冲突,而是会提高发现ISA Server的机率)。Web代理客户端和FWC都可以利用DHCP和DNS来发现ISA Server。没有FWC只能使用其中之一(指DNS和DHCP),或者Web代理客户只能使用其中之一这样的限制。正是由于没有这样的限制,所以最终Web代理客户和FWC究竟是从DNS还是从DHCP来“自动发现”ISA Server的始终是我们困惑的问题。所以,朗月繁星分以下几种情况分析说明。
  
  如果客户机不是DHCP Client,那么不论的Web代理客户还是FWC都是不能通过DHCP服务器“自动发现”ISA Server的,那么就只能利用DNS服务器。向DNS查询的条件就是:客户机配置了DNS。如果DNS服务器上的WPAD记录配置正确,则查询成功;如果DNS服务器没有配置DNS或者错误配置了WPAD记录,则查询失败。如果客户机是DHCP Clinet,这种情况,客户机具备从DNS和DHCP“自动发现”ISA Server,但至于是否可以完成“自动发现”要看DHCP和DNS服务器的设置。执行的过程如下,DHCP Client在引发“发现”这个过程时,它会向自己的DHCP服务器发送Inform消息,当DHCP服务器收到这个信息后,会给客户机发送ACK信息,这个信息告诉客户机到什么位置去得到配置信息的文件,这个配置文件的作用就是把客户机配置成为Web代理客户端或者是FWC,配置成功后,客户机就可以通过ISA Server来访问特定的资源了。如果DHCP服务器上没有配置252记录(也就是用于支持自动发现特性的252记录),但客户机配置了DNS,则客户机就会向DNS服务器查询wpad.domainsuffix.net,如果DNS配置了WPAD记录,则“自动发现”成功,如果DNS服务器没有配置WPAD记录,则“自动发现”失败。若客户机根本没有配置DNS,那么也会失败。这里还有一点要注意,如果DHCP服务器虽然配置了252记录,但是配置有错误,那么客户机也不会在向DNS服务器查询,所以,结果还是会失败!有关上边的论述,我做了一张流程图,如图1,大家可以参考。
  
 
  (图1)

  
  现在,我们假设客户机成功的“发现”了ISA Server。您可以不用去想客户机是不是DHCP Client?从哪里发现的,DNS还是DHCP?因为这不是我们接下来要讨论的重点。刚才我说客户机成功地“发现”了ISA Server,实际上并不准确,因为客户机实际上不是发现了ISA Server,而是发现了配置文件的位置(这个配置文件的服务器叫做WPAD Server),而配置文件在ISA Server的自动发现体系里,其宿主恰巧正是ISA Server。DHCP和DNS只是告诉了这个文件的位置,而这个配置文件是否可以访问就要看ISA Server的设置了,换句话说ISA Server要将这个配置文件发布,这个设置的过程也就是发布“自动发现”信息(详见设置“自动发现”之实施篇)。写到这里可能有人要说话了,配置文件是干什么用的?DNS或者DHCP告诉客户机的不是包含ISA Server的IP地址了么,那不就等于发现ISA Server了吗?问的好,朗月繁星起初也有这样的疑问。因为要成为ISA Server的客户端我们就必须配置客户机,例如我们在IE中配置代理服务器和端口,或者在FWC程序中填写ISA Server的计算机名(或者IP)这一过程。这些都是我们人为配置的,如果启用了自动发现,那么这些类似的工作由谁来完成?就是由配置文件完成。唯一不同的就是你在IE,FWC等这样的客户端上看不到像用手工配置那样的痕迹,但是这些由配置文件自动配置的信息已经生效了!再说第二个问题,DHCP和DNS反馈的信息虽然包含了ISA Server的IP,但是这并不是告诉客户机谁是你的代理服务器。你可以想象你下你手动配置IE浏览器成为Web代理客户的情景,除了填写ISA Server的IP或者计算机名,是不是还要填写一个端口(默认是8080),如果DHCP和DNS告诉客户机的是代理服务器的信息,那么对于IE浏览器,代理的端口(就是上边谈到的8080)怎么办?要知道DNS和DHCP返回给客户机的唯一信息就是ISA Server的IP地址或者主机名(DHCP返回ISA Server的主机名或者FQDN;DNS最终会返回ISA Server的IP地址)。再一个可以说服你DHCP和DNS返回的信息是配置文件的位置而不是代理服务器信息的例子是:FWC配置时,只需要ISA Server的IP或者计算机名,而像IE浏览器这样的可以成为Web代理客户端的程序,除了要知道代理服务器的IP或者计算机名外,还要知道代理服务的端口。显然FWC从DNS和DHCP那里知道代理的端口没有任何用处,而IE不知道这个端口又不行!归根结蒂,明白下面一点是很重要的:ISA Server在“自动发现”这个功能里担任2种角色,其一是传递配置文件给客户端(IE或者FWC),也就是充当WPAD服务器;其二是作为客户端的代理服务器。
  
  设置“自动发现”之实施篇
  
  1,设置客户机使用“自动发现”功能
  
  A,设置FWC使用“自动发现”
  
  双击“My Computer”,打开“Control Panal”,双击Firewall Client,选中Automatically detect ISA Server ,如图2
  
 
 
【责编:admin】

--------------------next---------------------

阅读(273) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~