使用两个ForeFront TMG 2010防火墙的不对称路由

我有一个bizzarrenetworking问题。

有一个networking,一个IP子网:192.168.60.0/24。

该networking有两个互联网连接的防火墙(运行ForeFront TMG 2010),192.168.60.253(生产)和192.168.60.240(发展); 这是必要的,因为有两个环境,每个环境都需要自己的互联网出版规则; 然而,由于历史原因,他们共享相同的IP子网,这是不容易改变的。 因此,生产计算机使用192.168.60.253作为其默认网关,而开发计算机使用192.168.60.240。 一切工作,只要没有涉及其他networking。

但是,当然,还有另外一个networking(实际上是多个networking,但是让我们简化一下)连接到生产防火墙上的第三个网卡,即192.168.100.0/24。 此networking中的计算机使用该防火墙作为其默认网关。 他们可以与主networking中的生产计算机交谈,反之亦然。

当192.168.100.0/24networking中的计算机试图与主networking中的开发计算机交谈时,这是行不通的,因为它们的默认网关(develompent防火墙)不知道如何发回数据包。 这是预料之中的。 所以我给开发防火墙增加了一个永久的静态路由,告诉它“ 当你需要发送一个包到192.168.100.0/24,发送到192.168.60.253 ”; 我也定义了TMG端的networkingconfiguration中networking启用了两个networking之间的所有stream量。

现在,真正奇怪的部分:两个networking之间的ping工作,但任何其他协议不。 HTTP,RDP,SMB ……没有任何东西可以通过,虽然路由似乎正在工作,防火墙策略是开放的。

发生了什么,为什么,如何修复它(除了手动添加静态路由到每个开发服务器,我想避免)?


更新:

我检查了开发防火墙中的stream量日志,看起来像TCP数据包被丢弃,因为从防火墙的angular度来看 ,它们与任何打开的连接都没有关系。 这实际上是有道理的,因为当一个连接开始时,TCP握手的初始数据包通过生产防火墙,而答案试图通过开发防火墙返回… TMG放弃它,因为它从来没有看到第一个数据包在所有。 这也解释了为什么TCP在ICMP(可能是UDP)中不起作用。

但仍然:如果可以完成,我该如何解决这个问题,使这个不对称的路由工作?

我认为…

从192.168.100.x到DEV盒的数据包被路由:

  • 进入TMG-PROD
  • 然后到DEV框

但是,从DEV盒到192.168.100.x去的数据包

  • INTO TMG-DEV
  • 然后到TMG-PROD
  • 然后到192.168.100.x

因此,您需要使这些路由相同,因此build议在DEV盒中添加静态路由,以便将192.168.100.xstream量导向TMG-PROD网关(192.168.60.253)