Windows Server 2003 IPSec隧道连接,但不工作(可能NAT / RRAS相关)

组态

根据Microsoft KB816514中的说明,我在Windows Server 2003(SBS)机器和Netgear FVG318之间build立了“原始”IPSec隧道。 configuration如下(使用与文章相同的约定):

NetA | SBS2003 | FVG318 | NetB 10.0.0.0/24 | 216.xxx | 69.yyy | 10.0.254.0/24 

主模式和快速模式安全关联都已成功完成并出现在IP安全监视器中。 我也能够从NetB上的任何计算机上的私人地址ping SBS2003服务器。

问题

从NetA到NetB上的计算机或从SBS2003到NetB(不包括ICMP Ping 响应 )的任何stream量都会在IPSec隧道之外的公共networking接口上发送(不进行encryption或标头validation,就好像隧道不在那里一样) 。

从NetB上的计算机发送到NetA上的计算机的ping成功地到达NetA上的计算机,但是响应被SBS2003悄悄地丢弃(它们不会清晰地出去,不会产生任何encryption的通信量)。

可能的解决scheme

错误的configuration

我本来可能错误的键入了某个地方,或者KB816514在某些方面可能不正确。 我非常努力的去消除第一个选项。 已经多次重新创buildconfiguration,尝试调整和调整所有设置,我可以没有成功(最防止build立安全联盟)。

NAT / RRAS

我看到其他地方的多个post提示这可能是由于NAT和IPSecfilter之间的交互。 在与Quick Mode IPSecfilter进行比较之前,NetA专用地址可能会被重写为216.xxx,并且由于不匹配而不会被隧道传输。 事实上,从2005年6月的“TCP / IP数据包处理path”中的Cable Guy文章就暗示了这种情况(参见Transit Trafficpath的步骤2和4)。 如果是这种情况,有没有办法从NAT中排除NetA-> NetBstream量?

任何想法,想法,build议,和/或意见,赞赏。

更新(2011-06-26)

在未能解决问题之后,我诉诸了有偿的微软支持。 他们无法解决问题。 从那以后,我实施了一个基于Linux的解决scheme,运行得非常好。 我会尝试评估任何build议的答案尽我所能,但目前的configuration和时间限制将使这个缓慢…

检查你的绑定顺序。 networking属性“>”高级“>”高级设置“将您想要的路由移动到顶部。