# IPv6: 在 eth0 上 fe80::1 的重复地址检测失败，检测到地址冲突

- **ID:** `networking/ipv6-ndp-dad-failure`
- **领域:** networking
- **类别:** protocol_error
- **验证级别:** ai_generated
- **修复率:** 80%

## 根因

重复地址检测（DAD）失败发生在主机尝试配置 IPv6 地址但收到邻居请求或通告表明该地址已在链路上使用时。

## 版本兼容性

| 版本 | 状态 | 引入 | 弃用 |
|------|------|------|------|
| Linux kernel 6.0+ | active | — | — |
| FreeBSD 13.2+ | active | — | — |
| Windows Server 2022+ | active | — | — |

## 解决方案

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
   ```

## 无效尝试

- **** — 手动分配不同的 IPv6 地址而不检查冲突会忽略根本原因，例如路由器配置错误或重复的静态分配。 (85% 失败率)
- **** — 通过 sysctl net.ipv6.conf.all.dad_transmits=0 完全禁用 DAD 会移除对地址冲突的保护，并可能导致静默失败。 (90% 失败率)
- **** — 重启网络接口或系统可能暂时解决问题，但如果网络中仍存在重复地址，冲突会再次发生。 (95% 失败率)
