在 Forefront TMG 中,新增了ISP 冗余传输链路功能:在 TMG 中,你可以同时使用两条活动的外部链路,使用模式分为以下两种:
-
故障转移模式:在主要链路工作正常的情况下,所有的流量都通过主要链路进行,只有当主要链路出现故障的时候,才将所有的流量转移到被动链路上;
-
负载均衡模式:这种模式下,所有的链路都作为活动链路,按照用户定义的比例来分担访问流量。
其实在 Windows Server 2008 / 2008 R2 中,在 TCP/IP 路由架构层面,仍然和过去的版本一样,针对相同的目的地,在同一时刻只能使用一个默认网关。在这种情况下,是不能通过 Windows 底层的 TCP/IP 自身实现多路由的并行使用。在 Forefront TMG 中,ISP 冗余传输链路是通过 TMG 防火墙核心组件实现的强制路由选择,并且,要实现这一功能,需要满足以下条件:
-
两条活动的外部链路分别位于不同的子网,并且具有不同的默认网关;另外,你需要在 Windows 系统中同时配置这些默认网关。你可以在单网卡上同时设置这两个外部链路,但是 这种配置不推荐;
-
这两条外部链路均属于 TMG 中默认的外部网络;
-
ISP-R 功能仅对 NAT 流量有效。因此对于来自 TMG 本地主机的流量,不会进行 ISP-R 路由选择处理。在此需要特别注意 TMG 本地主机到 DNS 服务器的访问,如果你同时在多个网卡上配置了 DNS 服务器(例如在不同的链路上分别配置有不同的 DNS 服务器),那么可能会出现访问链路1上的 DNS 服务器通过链路2进行的 情况。在这种情况下,最好在 TMG 中创建静态路由,让访问不同 DNS 服务器的流量固定从对应的链路进行。
-
需要注意的是,网络规则比 ISP-R 具有更高的优先级。因此如果在网络规则中要求从链路1进行访问,那么如果链路1出现故障,该网络规则所对应的流量仍然不会通过链路2进行。
-
另外,为了避免潜在的网络路由选择故障,建议对两个默认网关设置不同的度量值,该度量值可以在网卡的TCP/IP高级属性中进行修改。
在默认情况下,对于这两条链路状态的验证,是分别通过这两条链路对Internet上的根提示服务器列表轮流发送 TCP 53 端口的连接请求来实现。默认情况下,每60秒进行一次验证,如果连续3次无法成功建立 TCP 连接,则认为该链路失败;当某条链路失败后,会在暂停5分钟后再次按照每60秒发送一次连接请求进行验证,如果连续3次都能建立 TCP 连接,则认为该链路恢复正常,TMG 将恢复对该链路的使用。
关于链路状态验证所使用的服务器地址、端口和间隔,可以参考进行修改。其实这个地方还有我的一点小功劳:),在最开始的时候,Forefront TMG 产品组并没有计划允许用户自定义链路验证所使用的方式。后来我认为这个特性非常重要,因此在 TMG Beta 2 的时候给产品组发了一封邮件,从用户的角度强调这个功能的重要性,于是在 TMG RC 版本中就加入了这个自定义功能。
在满足上述条件的前提下,配置 ISP-R 其实是一件很容易的事情:
我所使用的测试环境中的 Forefront TMG 网络配置如下图所示,两块外部网卡的IP/默认网关分别为 36.1.1.2/36.1.1.1和61.1.1.2/61.1.1.1。这两块网卡均位于默认的外部网卡,在 Forefront TMG 的内部网络地址定义中只包括 10.1.1.0/24 网段。
。。。。。。
转自:http://www.isacn.org/info/info.php?sessid=&infoid=355&page=1