IPv6 is non-trivial
What does IPv6 mean to you?
- A larger address space?
- A different representation? ::, square brackets, %eth0
- More configuration effort everythere, AAAA records ?
In fact, ipv6 is more than just a address system parallel to ipv4. Many fundamental differences of ipv6 make it work very differently from ipv4. And even now some problems it brings are not completely resolved.
Let me introduce two problems I met during my development.
DNS respond address problem: The client queries DNS to your IPv6 public address, but you (a naive server implementation), responds using your privacy address. This is because of the kernel address selection process, and more deeply, because the udp abstractions are for ipv4. There’s no cross platform solution and there’s even no solution on Windows (quic-go leave this unimplemented)
IPv6 bridging problem: If you ever tried to build a linux router, or assign public routable addresses to your containers, without having a PD prefix, you will find it surprizingly difficult. Existing tools, like ndppd or radvd, does not cover all cases. Even doing so in dedicated router systems like openwrt is difficult.
- Title: IPv6 is non-trivial
- Author: Stargazer ZJ
- Created at : 2025-10-29 13:18:07
- Updated at : 2025-10-29 13:43:16
- Link: https://ji-z.net/2025/10/29/IPv6-is-non-trivial/
- License: This work is licensed under CC BY-NC-SA 4.0.