我有一个特殊要求,需要在 Windows 7 机器上禁用 ARP。在以前的 Windows 版本中,您可以修改注册表中的 ArpRetryCount(并将其设置为 0),但这在 7 中不起作用(也不存在)。
有人知道怎么做,或者这是否可行吗?
有人要求我进一步阐述这一点,但我不太清楚该怎么做。我想为我正在开展的一个项目关闭 Windows 7 上的 ARP(包括免费 arp)。在 Linux 中,只需在打开接口时添加“-arp”即可完成此操作,但在 Windows 7 中无法执行此操作。在以前的版本中,您可以通过修改注册表来实现,但现在这种方法不再有效。如果这里的好心人不确定,那么我就没有机会了……
答案1
我完全知道你想做什么,这就是我在 NetWare 上运行主动/主动 Web 服务集群的方法。在启动期间,我将所有集群 IP 绑定到服务器,并关闭免费 arp,Apache 加载,解除集群 IP 的关联,启动集群服务。Apache 启动正常,即使缺少启动时的 IP 绑定,它仍保持运行。这样,只需在节点之间移动活动 IP 即可发生故障转移,而无需启动和停止 Apache,速度更快,并且允许一个 Apache 实例用于多个集群服务。效果很好。我从来不知道 Windows 可以使用这个技巧(ArpRetryCount,呵呵)。
查看 Microsoft 文档(.doc 文件),Windows 2008 和 Windows Vista 仍然支持ArpRetryCount
在 \Tcpip\Parameters 中设置。不是针对每个接口,而是全局设置。
我无法从 Microsoft KB 中挖掘出有关 2008r2/Win7 是否会发生变化的任何信息。但 Vista/2008 进行了大规模 TCP/IP 重写,因此我猜它仍然应该受到支持。