networking
protocol_error
ai_generated
partial
IPv6: 在 eth0 上 fe80::1 的重复地址检测失败,检测到地址冲突
IPv6: Duplicate Address Detection failed for fe80::1 on eth0, address conflict detected
ID: networking/ipv6-ndp-dad-failure
80%修复率
85%置信度
1证据数
2023-11-20首次发现
版本兼容性
| 版本 | 状态 | 引入 | 弃用 | 备注 |
|---|---|---|---|---|
| Linux kernel 6.0+ | active | — | — | — |
| FreeBSD 13.2+ | active | — | — | — |
| Windows Server 2022+ | active | — | — | — |
根因分析
重复地址检测(DAD)失败发生在主机尝试配置 IPv6 地址但收到邻居请求或通告表明该地址已在链路上使用时。
English
Duplicate Address Detection (DAD) failure occurs when a host attempts to configure an IPv6 address but receives a Neighbor Solicitation or Advertisement indicating the address is already in use on the link.
官方文档
https://datatracker.ietf.org/doc/html/rfc4862解决方案
-
Use ip -6 neigh show to list neighbors and identify the conflicting host, then manually remove the duplicate address: ip addr del fe80::1/64 dev eth0 && ip addr add fe80::2/64 dev eth0
-
Increase DAD retries to allow more attempts before failure: sysctl -w net.ipv6.conf.eth0.dad_transmits=3
-
Temporarily disable IPv6 privacy extensions to avoid address conflicts from temporary addresses: sysctl -w net.ipv6.conf.eth0.use_tempaddr=0
无效尝试
常见但无效的做法:
-
85% 失败
手动分配不同的 IPv6 地址而不检查冲突会忽略根本原因,例如路由器配置错误或重复的静态分配。
-
90% 失败
通过 sysctl net.ipv6.conf.all.dad_transmits=0 完全禁用 DAD 会移除对地址冲突的保护,并可能导致静默失败。
-
95% 失败
重启网络接口或系统可能暂时解决问题,但如果网络中仍存在重复地址,冲突会再次发生。