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

其他格式: JSON · Markdown 中文 · English
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.

generic

官方文档

https://datatracker.ietf.org/doc/html/rfc4862

解决方案

  1. 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
  2. Increase DAD retries to allow more attempts before failure: sysctl -w net.ipv6.conf.eth0.dad_transmits=3
  3. Temporarily disable IPv6 privacy extensions to avoid address conflicts from temporary addresses: sysctl -w net.ipv6.conf.eth0.use_tempaddr=0

无效尝试

常见但无效的做法:

  1. 85% 失败

    手动分配不同的 IPv6 地址而不检查冲突会忽略根本原因,例如路由器配置错误或重复的静态分配。

  2. 90% 失败

    通过 sysctl net.ipv6.conf.all.dad_transmits=0 完全禁用 DAD 会移除对地址冲突的保护,并可能导致静默失败。

  3. 95% 失败

    重启网络接口或系统可能暂时解决问题,但如果网络中仍存在重复地址,冲突会再次发生。