问题说明
平台或手工命令可能已经把静态 IP写入 Windows,但 Windows DAD 将地址标记为 Duplicate 后不会作为有效源地址使用,并可能保留 169.254/16 APIPA。此时不能定性为 VMTools“没写进去”。
现象
- 页面下发静态 IP 后
ipconfig主要显示 169.254 地址。 Get-NetIPAddress可见目标 IP,但AddressState=Duplicate。- 同一网卡改成同网段另一个地址后为 Preferred且网关可达。
- 普通 ping/ARP 查不到原地址,不足以推翻首次 DAD 的瞬时冲突。
适用环境
Windows Guest;直接机制属于 Windows DAD/客户二层网络,不限定 ZSphere版本。
可能原因
先确认地址是否写入和状态,再用可用地址做对照。若只有特定地址为 Duplicate,应在重新添加该地址的 DAD 瞬间抓 ARP,不能仅用 ping 判定“无人使用”。
问题定性
- 类型:环境问题(Windows DAD/客户二层网络)。
- 已知问题:否;TIC-6141 是 Closed/Done 的现场案例,不是产品 Bug。
- 直接原因:Windows 在 DAD阶段收到冲突性 ARP并将地址标记 Duplicate。
- 尚未抓包时不能断言真实重复 IP;也可能是 Proxy ARP/ARP suppression陈旧绑定、瞬时占用、重复 MAC或报文反射。
- 置信度:对“DAD阻止地址生效”为高;对冲突来源为低,直到抓包定位 MAC。
排查步骤
检查一:读取地址状态
- 只读 PowerShell:
Get-NetIPAddress -AddressFamily IPv4 |
Format-Table InterfaceIndex,InterfaceAlias,IPAddress,PrefixLength,AddressState,PrefixOrigin -Auto
Get-NetIPConfiguration
- 目标 IP存在且为 Duplicate:配置已写入,直接原因是 DAD冲突判定。
- 目标 IP完全不存在:属于配置未写入/接口匹配分支,不适用本篇。
检查二:读取网卡和当前邻居信息
- 只读 PowerShell:
Get-NetAdapter -IncludeHidden | Format-Table Name,ifIndex,Status,MacAddress,InterfaceDescription -Auto
arp -a
- ARP表出现目标 IP对应 MAC:可按 MAC继续定位,但仍需确认不是网关代理。
- ARP表无记录:只能说明当前无持续普通 ARP邻居,不能回溯 DAD瞬间。
检查三:抓取DAD阶段ARP
- 检查目的:识别谁对目标 IP发出冲突信号。
- 由网络人员在 KVM对应 vnet/tap或交换机镜像口执行只读抓包:
tcpdump -eni <vm-vnet-interface> arp
- 捕获到不同源 MAC声明/回应目标 IP:按该 MAC查 VM网卡、bridge FDB、交换机 MAC表、Proxy ARP/ARP suppression。
- 抓到本机报文反射回来:排查二层环路/端口聚合。
- 未抓到冲突报文但 Windows仍 Duplicate:收集 Windows System事件和完整抓包,升级人工。
处理建议
Note:
本节操作须由具备权限的管理员人工执行。
使用已验证为 Preferred且网关可达的备用地址,并暂时从地址池排除问题地址。不要关闭 Windows DAD,也不要强制使用 Duplicate地址。恢复原地址前需完成抓包和冲突源清理。
长期方案
按响应 MAC清理真实重复、网关代理/EVPN抑制陈旧项、重复 MAC或二层环路;再次添加地址后确认状态为 Preferred,再恢复地址池。
补充信息
升级人工条件
- 需要重新添加生产地址并抓包。
- 找到 MAC但无法定位设备。
- 多个地址同时 Duplicate。
- 没有冲突报文但 Windows持续判定 Duplicate。
需要收集的信息
Windows/ZSphere版本、网卡MAC/ifIndex、地址状态输出、备用地址对照结果、Windows System事件、DAD阶段pcap、bridge FDB和交换机/网关表项。
相关问题
- TIC-6141,Closed/Done。
- 状态核验日期:2026-08-06。
