预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共16页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

实现ISA防火墙网络负载均衡的故障转移在部署了网络负载均衡(NLB)的网络中,当某个客户针对NLB虚拟地址发起连接请求时,NLB通过某种NLB算法来确定(通常是根据发起请求的客户端源地址来决定)为客户服务的NLB节点。在NLB节点没有变动之前,对于某个客户,将总是由某个对应的NLB节点为它提供服务。ISA防火墙企业版中的集成NLB依赖于Windows服务器系统的NLB服务,对于客户发起的请求,也是采用相同的方式进行处理。例如,对于一个具有三个NLB节点(ISA1、ISA2、ISA3)的ISA防火墙NLB阵列,当一个客户(10.1.1.1)发起连接请求时,NLB通过NLB算法确定由ISA1为此客户服务;而当另外一个客户(10.1.1.2)发起连接时,NLB通过NLB算法确定由ISA2为此客户服务。在NLB节点没有变动时,客户10.1.1.1的连接请求将会始终通过NLB节点ISA1来进行处理;而客户10.1.1.2的连接请求则会始终通过NLB节点ISA2来进行处理。当某个NLB节点出现故障时,NLB将在所有节点上重新进行汇聚,并重新根据NLB算法来确定为客户提供服务的NLB节点。例如,此时ISA1节点出现故障,无法再提供NLB服务;则NLB重新进行汇聚,如果客户10.1.1.1再发起连接请求,则就是ISA2或者ISA3来为它进行服务。当NLB节点失效时,NLB可以让其他NLB节点来为客户提供服务。但是,如果NLB节点的NLB服务没有失效但是所提供的其他服务失效时,怎么办呢?如下图所示,两台ISA防火墙属于相同的NLB阵列,分别通过不同的外部链路连接到Internet,并且对内部网络提供NLB服务。两台ISA防火墙允许内部网络中的用户通过自己来访问外部网络,正在为不同的客户提供服务;如果此时,ISA1上的外部链路突然断开,会出现什么情况呢?此时,由于ISA1上的NLB服务并没有出现故障,所以NLB会认为ISA1仍然是有效的NLB节点,并且同样会分配客户给它。但是,由于外部链路断开,ISA1所服务的客户却不能再连接到Internet了。这当然就不能有效的实现网络负载均衡中的容错特性。那么,出现这种情况时,该怎么办呢?答案很简单,当出现这种情况时,停止ISA1上的NLB服务,这样,NLB会认为ISA1上的NLB服务已经失效,将重新汇聚NLB,并且重新分配客户。从而原来属于ISA1的客户可以通过仍然运行正常的ISA2来访问外部网络。要实现ISA防火墙NLB的故障转移比较简单,微软已经考虑到了。你可以通过配置ISA防火墙的连接性验证工具来实现当外部链路出现故障时进行相关的操作,但是要停止ISA防火墙上的NLB服务不是一件容易的事情。由于ISA防火墙上的NLB服务是和ISA防火墙服务集成的,所以你不能通过Windows的NLBstop命令来停止ISA防火墙上的NLB服务;微软也没有相关的关于如何停止ISA防火墙上的NLB服务的说明。在这种情况下,只能通过停止ISA防火墙服务来停止ISA防火墙上的NLB服务。但是停止ISA防火墙服务后,无法依靠ISA防火墙本身启动ISA防火墙服务,这样又给故障恢复时的处理带来难题。当外部链路恢复的时候,还是需要你手动启动ISA防火墙服务才能将这台ISA防火墙正常加入NLB阵列中运行,这造成了额外的管理负担。不过你可以通过第三方的链路监测软件实现NLB的故障转移和自动恢复,例如KS-SoftAdvancedHostMonitor或者GFINetworkServerMonitor。你可以配置它们当外部链路出现问题时停止ISA防火墙服务,而当外部链路恢复时启动ISA防火墙。在此我给大家演示一下如何实现ISA防火墙NLB的故障转移,网络拓朴结构如下图所示:内部网络地址范围为10.1.1.0/24,部署了两台ISA企业版防火墙Florence和Firenze,操作系统均为Windowsserver2003SP1,IP地址分别为10.1.1.1和10.1.1.2。对内部网络配置了NLB,NLB虚拟地址为10.1.1.254,两台ISA防火墙上的NLB服务均工作正常。Berlin是内部网络中的客户,IP地址为10.1.1.8,默认网关配置为NLB的虚拟地址10.1.1.254。我已经创建了允许内部网络的所有用户访问外部网络的访问规则,已经确认所有网络连接工作正常。在进行整个部署之前,你必须预先考虑好如何配置有效的连接性验证方式,以及什么时候触发警告。如果要验证外部链路是否连接正常,你可以Ping离你最近的外部网络中的某台持续在线的服务器或路由器的IP地址。在此我通过配置连接性验证工具Ping我的DNS服务器61.139.2.69实现,如果连