配置
我根据 Microsoft 中的说明在 Windows Server 2003 (SBS) 计算机和 Netgear FVG318 之间设置了“原始” IPSec 隧道KB816514配置如下(使用与文章相同的约定):
NetA | SBS2003 | FVG318 | NetB
10.0.0.0/24 | 216.x.x.x | 69.y.y.y | 10.0.254.0/24
主模式和快速模式安全关联均已成功完成并显示在 IP 安全监视器中。我还可以从 NetB 上的任何计算机在其私有地址上 ping SBS2003 服务器。
问题
从 NetA 上的计算机发送到 NetB 或从 SBS2003 发送到 NetB 的任何流量(不包括 ICMP Ping回应) 在 IPSec 隧道之外的公网接口上发送出去(没有加密和报头认证,就像没有隧道一样)。
从 NetB 上的计算机向 NetA 上的计算机发送的 ping 成功到达 NetA 上的计算机,但响应却被 SBS2003 默默丢弃(它们不会以明文形式发出,也不会生成任何加密流量)。
可能的解决方案
配置不正确
我可能在某个地方输入了错误的内容,或者 KB816514 在某些方面不正确。我尽力排除了第一个选项。我多次重新创建了配置,尝试调整和调整所有我能调整的设置,但没有成功(大多数设置阻止了 SA 的建立)。
网络地址转换/路由访问控制
我在其他地方看到过多篇帖子,它们都表明这可能是由于 NAT 和 IPSec 过滤器之间的交互造成的。可能是 NetA 私有地址在与快速模式 IPSec 过滤器进行比较之前被重写为 216.xxx,并且由于不匹配而无法通过隧道传输。事实上,2005 年 6 月的 The Cable Guy 文章“TCP/IP 数据包处理路径”表明情况确实如此(请参阅传输流量路径的第 2 步和第 4 步)。如果是这种情况,有没有办法将 NetA->NetB 流量排除在 NAT 之外?
欢迎任何想法、意见、建议和/或评论。
更新(2011-06-26)
在无法解决问题后,我求助于付费的 Microsoft 支持。他们无法解决问题。从那时起,我实施了一个基于 Linux 的解决方案,效果很好。我将尽我所能评估任何建议的答案,但当前的配置和时间限制会使这个过程变得缓慢……
答案1
检查您的绑定顺序。网络属性>高级>高级设置将您想要路由的那个移到顶部。