Windows 2008 忽略免费 ARP 请求

Zyp*_*her 38 networking windows-server-2008 high-availability arp

我们最近在路由器故障转移后发现了一个问题,即我们的 Windows 2008 Boxes 在故障恢复后没有开始与主路由器通信。

当我们进行一些挖掘时,他们仍然拥有来自辅助路由器的 ARP 条目。根据TechNet 博客,这是故意设计的:

首先,如果接收到 ARP 广播,Windows Vista 或 Windows Server 2008 将不会更新邻居缓存,除非它是接收者的广播 ARP 请求的一部分。这意味着,当在装有 Windows Vista 和 Widows Server 2008 的网络上发送免费 ARP 时,如果存在 IP 地址冲突,这些系统将不会使用不正确的信息更新其缓存。

其次,似乎只有当机器无法再与当前位于其缓存中的机器交谈时,Windows 邻居缓存(arp-cache)才会更新。它不会偶尔发出 ARP 请求以确保缓存未过期。虽然这在初始故障转移期间不是问题,但在故障恢复期间,当两个框都处于活动状态时,这会导致窗口继续与辅助框通话。

有什么办法可以强制 Windows 2008 接受免费 ARP 请求?

Kyl*_*ndt 8

经过测试,Hotfix 2582281似乎确实解决了该问题。您可以使用他们的修补程序请求页面获得修补程序,而无需支付支持费用。

我使用arping未打补丁的 Windows 2008 R2对此进行了测试。我将辅助 IP 64.34.119.80 添加到具有相同网络 L2 段的机器。然后,我从网络 ( )的另一台机器发出以下命令sudo arping -U 64.34.119.80 -I bond0 -c1。在那之后,我看到它收到了wireshark中的arp后,我从windows框中ping了64.34.119.80。然后我应用了修补程序并重复了测试。

此外,似乎 arping 命令不需要使用单播 MAC 地址,而是使用广播 MAC,因为这是我的测试中唯一忽略的 GARP 类型。

补丁前:

在此处输入图片说明

在这个wireshark抓包中,GARP请求后的ping没有发送到GARP来自的MAC Destination,所以可以看到GARP被忽略了。

补丁后:

在此处输入图片说明

在这个测试中,在补丁之后,GARP 请求似乎得到了尊重,因为 ping 被发送到 GARP 来自的 MAC 地址。

因此,从这些测试来看,修补程序 2582281 似乎修复了 GARP 广播被忽略的问题。