我在 10.100.20/24 子网上有三台 Windows Web Server 2008 SP2 计算机。我需要设置持久路由规则,以便到同一子网的传出流量通过硬件负载平衡设备。
在 Server 2003 中,使用以下命令添加持久路由非常简单:
route add -p 10.100.20.0 mask 255.255.255.0 10.100.20.157
在服务器 2008 中,相同的命令确实添加了类似的持久路由,但系统基本上会忽略它,即使它的度量低于默认记录。
以下是 Server 2008 的输出route print
:
IPv4 Route Table
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 10.100.20.157 10.100.20.178 276
10.100.20.0 255.255.255.0 On-link 10.100.20.178 276
10.100.20.0 255.255.255.0 10.100.20.157 10.100.20.178 21
10.100.20.178 255.255.255.255 On-link 10.100.20.178 276
10.100.20.179 255.255.255.255 On-link 10.100.20.178 276
10.100.20.255 255.255.255.255 On-link 10.100.20.178 276
127.0.0.0 255.0.0.0 On-link 127.0.0.1 306
127.0.0.1 255.255.255.255 On-link 127.0.0.1 306
127.255.255.255 255.255.255.255 On-link 127.0.0.1 306
224.0.0.0 240.0.0.0 On-link 127.0.0.1 306
224.0.0.0 240.0.0.0 On-link 10.100.20.178 276
255.255.255.255 255.255.255.255 On-link 127.0.0.1 306
255.255.255.255 255.255.255.255 On-link 10.100.20.178 276
Persistent Routes:
Network Address Netmask Gateway Address Metric
10.100.20.0 255.255.255.0 10.100.20.157 1
0.0.0.0 0.0.0.0 10.100.20.157 Default
为了说明该问题,以下是 Server 2008 中的跟踪路由的输出:
Tracing route to 10.100.20.1 over a maximum of 30 hops
1) <1 ms <1 ms <1 ms 10.100.20.1
Trace complete.
如您所见,度量值较低的 21 规则被忽略,路由直接转到 10.100.20/24 子网上的机器。路由应该先经过 10.100.20.157,然后再转到 10.100.20.1。在 Server 2003 中,这可以正常工作,但 Server 2008 似乎忽略了度量值较低的规则。如果我手动删除默认路由,以便我的自定义路由记录成为 10.100.20.0 的唯一路由记录,那么它将通过负载平衡机器正确路由。
我曾与 Microsoft 技术支持人员合作,他们提出的解决方案是将 NIC 设置为忽略所有默认路由记录,并将每条路由规则添加为持久路由。我无法手动设置所有规则以使其正常工作,但我可以与 Microsoft 一起解决这个问题。
如果有办法让 Server 2008 真正遵守度量规则,或者编写脚本来处理每次初始化 TCP 堆栈时发生的事件以删除默认路由,或者编辑注册表以在 TCP 初始化时删除默认路由,那么在我看来,其中任何一种解决方案都会更好。
答案1
我认为如果 10.100.20.0/24 网络直接连接,服务器将忽略路由表并只使用该链接,而不管度量标准如何。
答案2
如果目标 IP 位于直接连接的网络上,Windows 将永远不会查找潜在路由。
就这么简单。
相关的是,一些 VPN 软件会覆盖这一点,因此当 VPN 和本地网络具有相同的子网时,VPN 就会工作。
答案3
我刚刚遇到了类似(相同?)的 VPN 路由问题。VPN 连接在另一端有 192.168.152.0/22 子网,因此我添加了一个具有低度量的持久路由来访问该网络。此路由始终被忽略。我通过将所有 4 个 C 类子网添加为持久路由解决了该问题,即使不忽略默认路由,它也能按预期工作。
答案4
这有帮助吗? https://superuser.com/a/455968/253137
简而言之:网络和共享中心,更改适配器设置,高级,高级设置,然后更改适配器的顺序。