例如,当一个防火墙客户发送一个通往 ftp://ftp.microsoft.com 的连接请求,这个请求直接发送到ISA防火墙,ISA防火墙通过ISA防火墙网络适配器上的DNS服务器设置来为防火墙客户解析此名字。
ISA防火墙将解析出的IP返回给防火墙客户,然后防火墙客户发送ftp连接请求给ftp.microsoft.com的IP地址上的FTP站点。ISA防火墙同样会为缓存此DNS解析结果,以便其他防火墙客户端使用,这样加快了随后其他防火墙客户端对相同的站点的访问。和ISA Server 2000默认缓存周期是6个小时不一样,ISA防火墙通过DNS服务器返回的TTL值来决定缓存的周期。下图显示了防火墙客户的名字解析过程:

1、防火墙客户端为ftp.microsoft.com发送一个请求;
2、ISA防火墙向一个内部DNS服务器发送一个DNS查询请求;
3、DNS解析出ftp.microsoft.com的IP地址,然后返回结果给ISA防火墙;
4、ISA防火墙返回ftp.microsoft.com的IP地址给发起请求的防火墙客户;
5、防火墙客户向ftp.microsoft.com的IP地址发送一个连接请求,然后连接完成;
6、Internet上的FTP服务器通过防火墙客户到ISA防火墙的连接,返回请求的信息。
让网络路由结构对防火墙客户透明
防火墙客户端的另外一个主要的优点是路由结构对防火墙客户端是透明的。和SNAT需要默认网关设置和设置企业网络中路由器的默认网关(gateway of last resort)不同,防火墙客户端只需要知道通往ISA防火墙本地网络接口的路由即可。
注意:注意在连接ISA防火墙时,我说的是“本地网络接口”。和ISA Server 2000有一个或多个内部接口不同,ISA防火墙支持多个内部、外部和DMZ接口。注意,ISA防火墙拥有一个默认的内部网络,这个默认的内部网络是在安装ISA防火墙时定义,和ISA Server 2000中使用的内部网络概念没有任何关系。本地网络接口是防火墙客户发起的请求到达ISA防火墙的网络接口。
防火墙客户将通往远程网络的请求直接发送给ISA防火墙中定义的这个客户属于的网络的接口的IP地址,而不管中间是否还会经过路由器。下图描述了客户直接将请求发送给ISA防火墙而不顾路由器的情况,
防火墙客户端是如何工作的?
防火墙客户端软件是如何工作的细节信息在微软文献中也没有完全的文档来说明。事实上,如果你使用Microsoft Network Monitor来做网络数据包的跟踪,你将会看到Network Monitor不能对防火墙客户端的通信进行解密。不过,Ethereal有个可以使用的基本的防火墙解码器(www.ethereal.com),它可以对ISA Server 2000防火墙客户端的通信进行解码。但是,它对新ISA防火墙的通信无能为力,因为ISA Server 2004防火墙客户端可以对控制数据的通信加密。
ISA防火墙的防火墙客户端和以前版本不一样,只使用TCP 1745端口进行控制数据的通信。通过这个控制通道,防火墙客户端直接和ISA防火墙服务进行通信,来执行名字解析和网络应用程序的命令(例如使用FTP和Telnet)。防火墙服务使用从控制通道获得的数据来代理防火墙客户端和目的服务器之间的连接。
注意:防火墙客户端只在连接非本地子网的网络服务时才会建立控制通道。
在ISA Server 2000中,内部网络通过本地地址表(LAT)来定义。因为拥有增强的多网络核心,新的ISA防火墙不使用LAT。不过,防火墙客户端必须使用一些方法来决定通信是否发送给ISA防火墙或者直接发送给本地子网的目的主机。
防火墙客户端通过本地子网的地址定义来解决这个问题。对于任何指定的防火墙客户,本地子网代表所有可以直接从网络接口访问的IP地址。
这种情况在多网络接口的ISA防火墙上是很有趣的。一般情况下,在相同ISA防火墙网络接口后的主机位于一个相同的网络,在这些主机之间的通信将忽略防火墙客户端,直接发送给目的主机。
安全警告:你可能在相同的ISA防火墙上具有多个网络接口,但是,只有一个网络才能命名为“内部”。新的ISA防火墙的“内部”网络由一组在相互之间拥有隐式信任关系的主机组成(至少拥有不需要一个网络防火墙来控制它们之间通信的信任关系)。你可以拥有多个内部网络,但是内部网络的地址不能与其他任何网络重复。
这样意味着在连接到ISA防火墙不同网络接口的网络之间进行访问时,你不能使用为这些网络使用集中配置的网络地址范围来忽略防火墙客户端。但是,防火墙客户端的集中配置可以基于网络来进行设置,所以你可以基于网络来控制防火墙客户端的设置。这对于你控制每个网络的防火墙客户端配置是非常有意义的。但是,这对网络中包含其他网络的情况(在相同ISA防火墙网络接口后的多个网络ID)是没有帮助的。
还有个有意义的改进是在全新的ISA防火墙的防火墙客户端中你可以选择是否在防火墙客户端和ISA Server 2004防火墙之间使用加密通道。
在防火墙客户端和ISA防火墙之间进行通信时,加密是非常有必要的,因为防火墙客户端透明的发送用户身份信息。防火墙客户端加密数据通道,这样可以避免被Sniffer窃听。注意你可以配置ISA防火墙允许安全加密的和未加密的控制通道通信。因为对ISA Server 2000客户端的支持,你可能想暂时的允许未加密的通信。
如果你还想对ISA Server 2000的防火墙客户端应用程序具有更全面的了解,你可以看看Stefaan Pouseele的文章“Understanding the Firewall Client Control Channel”,这是一篇极好的文章,讲述了ISA Server 2000防火墙客户端的细节,其中的大部分仍然保留。
作者:Thomas W Shinder