Which address to put onto DNS database?

Jun-ichiro itojun Hagino (Itoh), KAME Project
$Id: index.html,v 1.1.1.1 2001/04/17 03:42:24 itojun Exp $

There are way too many kinds of IPv6 addresses exist in IPv6 specifications. Some of them are not intended to be listed into global address resolution table, like DNS. The document tries to summarize those. NOTE: this note just summarizes personal view and suggestions. Corrections, different opinions are welcome.

Loopback (::1)
Okay to put it in any place as you like. Usually referred to as "localhost." or "localhost.mycompany.com.".
Unspecified (::)
Don't put it into global database.
Link-local address (fe80::/10, like fe80::1)
This address is local to single link. This has no global reachability.
MUST NOT put it into global DNS database.
SHOULD NOT put it into intranet DNS database (only exception is when your intranet has only single link, which is usually untrue).
MAY put it into /etc/hosts.
Site-local address (fec0::/10, like fec0::1)
This address is local to single site (i.e. intranet). Note that specifications are still rather vague about this one.
MUST NOT put it into global DNS database.
MAY put it into intranet DNS database. Note that you may have trouble handling it if you have connectivity to multiple sites.
MAY put it into /etc/hosts.
Global address (2000::/3)
Fine. Put it anywhere you want.
Multicast (ff00::/8)
No opinion, but I would rather not put AAAA records into DNS database (reverse records are okay for me).
Scoped multicast (like node-local, link-local or site-local) does not have global reachability and they MUST NOT be in global DNS database.
Anycast
Since anycast addresses are indistinguishable from normal unicast addresses, putting this into DNS raise troubles if client tries to connect to it. For example, if you have anycast AAAA record for your MX, MTAs may try to connect to your anycast address and fail badly. I would rather not put it into DNS database.
IPv4 mapped address (::ffff:0.0.0.0/96, like ::ffff:10.1.1.1)
This address is internal notation for IPv4 connection on top of AF_INET6 socket. Resolvers will translate A records (or IPv4 entries in /etc/host) as necessary into this form.
MUST NOT put it into global DNS, intranet DNS nor /etc/hosts as IPv6 entry (like AAAA record). Doing this causes lots of trouble.
IPv4 compatible address (::0.0.0.0/96, like ::10.1.1.1)
This one is used for IPv6-over-IPv4 automatic tunnelling, as RFC1933 specifies. Because this address is not routable on top of IPv6 cloud (a node MUST directly connect to the address by itself) this one is very special. I would like to suggest do not use it at all. If you want this feature, use 6to4.

KAME top page
Copyright (c) 1998, 1999, 2000, 2001, 2002, and 2003 by the author (indicated separately). All rights reserved. Freely redistributable. Absolutely no warranty.