One of the nice things that the IPv6 protocol was supposed to do for us was
to eliminate the need for network address translation (NAT). The address
space is large enough that many of the motivations for the use of NAT (lack
of addresses, having to renumber networks when changing providers) are no
longer present. NAT is often seen as a hack which breaks the architecture
of the Internet, so there has been no shortage of people who would be happy
to see it go; the IPv6 switch has often looked like the opportunity to make
So it is not surprising that, when Terry Moës posted an IPv6 NAT implementation for Linux, the
first response was less than favorable. Anybody wanting to see the end of
NAT is unlikely to welcome an implementation which can only serve to
perpetuate its use after the IPv6 transition. The sad fact, though, is
that NAT appears to be here to stay. David Miller expressed it in a typically direct manner:
People want to hide the details of the topology of their internal
networks, therefore we will have NAT with ipv6 no matter what we
think or feel.
Everyone needs to stop being in denial, now.
Like it or not, we will be dealing with NAT indefinitely. For those who
are curious about how it might work in Linux, Terry's implementation can be
SourceForge along with a paper describing the design of the code. Both
stateless (RFC 6296) and
stateful NAT are supported.
to post comments)