# IPv6: Duplicate Address Detection failed for fe80::1 on eth0, address conflict detected

- **ID:** `networking/ipv6-ndp-dad-failure`
- **Domain:** networking
- **Category:** protocol_error
- **Verification:** ai_generated
- **Fix Rate:** 80%

## Root Cause

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.

## Version Compatibility

| Version | Status | Introduced | Deprecated |
|---------|--------|------------|------------|
| Linux kernel 6.0+ | active | — | — |
| FreeBSD 13.2+ | active | — | — |
| Windows Server 2022+ | active | — | — |

## Workarounds

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** (80% success)
   ```
   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** (70% success)
   ```
   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** (75% success)
   ```
   Temporarily disable IPv6 privacy extensions to avoid address conflicts from temporary addresses: sysctl -w net.ipv6.conf.eth0.use_tempaddr=0
   ```

## Dead Ends

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