事件 ID 4199 和 Windows 客户端无法从 DHCP 服务器获取 IP 地址

Windows 客户端无法从动态主机配置协议 (DHCP) 服务器获取 IP 地址,事件 ID 4199 记录如下:

Log Name: System  
Source: Tcpip  
Date: <Date>  
Event ID: 4199  
Task Category: None  
Level: Error  
Keywords: Classic  
User: N/A  
Computer: <Computer Name>  

Description:  
The system detected an address conflict for IP address 0.0.0.0. with the system having network hardware address <Network Hardware Address>. Network operations on this system may be disrupted as a result.  

检查 DHCP 服务器审核日志(%windir%\System32\dhcp\DHCP.log*)时,可以找到许多 BAD_ADDRESS 条目。 下面是一个示例(%windir%\System32\dhcp\DhcpSrvLog-Fri.log):

11,11/22/19,09:30:39,Renew,10.2.29.108,<Computer Name>.contoso.com,<MAC Address>,,230319146,0,,,,0x4D53465420352E30,MSFT 5.0,,,0x010C766C616E2D323032382D6871,0   
13,11/22/19,09:30:43,Conflict,10.2.29.108,BAD_ADDRESS,,,0,6,,,,,,,,,0  

ARP 探测被检测为重复 IP 地址

原因可能与名为“IP 设备跟踪”的第 3 层交换机或路由器安全功能相关。如果交换机或路由器在 Windows 客户端处于重复地址检测(DAD)阶段时为客户端发送地址解析协议(ARP)探测,则客户端会将探测检测为重复 IP 地址,并拒绝 DHCP 服务器提供的 IP 地址。

注意

获取 IP 地址的 Windows DHCP 客户端使用无端 ARP 请求在完成配置和使用服务器提供的 IP 地址之前执行基于客户端的冲突检测。

停用 IP 设备跟踪功能或延迟发送 ARP 探测请求

若要解决此问题,请停用第 3 层交换机或路由器上的 IP 设备跟踪功能,或延迟发送 ARP 探测请求。

还可以使用以下 cmdlet 在 Windows 客户端网络接口上禁用重复的地址检测功能:

Set-NetIPInterface -InterfaceAlias "Ethernet" -AddressFamily IPv4 -DadTransmits 0 

重要

此操作只能在管理良好的环境中完成,因为你可能在网络上有重复的 IP 地址,而不会收到来自 Windows 的任何通知或警告。

Cisco 还识别此问题,并在排查重复 IP 地址 0.0.0.0.0 错误消息提供解决方案。

第三方信息和解决方案免责声明

本文档中的信息和解决方案代表在本文发布之时 Microsoft 公司对这些问题的最新观点。 此解决方案通过 Microsoft 或第三方供应商提供。 Microsoft 并不明确建议使用本文中述及的任何第三方供应商产品或第三方解决方案。 可能还存在其他一些本文未提及的第三方提供商或第三方解决方案。 因为 Microsoft 必须响应不断变化的市场形势,所以此信息不应解释为 Microsoft 一方的承诺。 Microsoft 不担保或认可由 Microsoft 或提到的任何第三方供应商提供的任何信息或任何解决方案的准确性。

Microsoft 不作任何担保,并拒绝所有明示、暗示或法定的表述、担保和条件。 这些条件包括但不限于,与任何服务、解决方案、产品或任何其他资料或信息的所有权、非侵权、满意状态、适销性和针对特定用途的适用性相关的表述、担保或条件。 在任何情况下,对于本文中提到的任何第三方解决方案,Microsoft 概不负责。