11.2 Configuring a Name Server to Listen for Queries on an IPv6 Interface

11.2.1 Problem

You want a BIND 9 name server to
listen for queries on an IPv6 interface.

11.2.2 Solution

Use the listen-on-v6
options substatement to instruct the name server to listen
on any of the host's IPv6 interfaces for queries.
For example:

options {
directory "/var/named";
listen-on-v6 { any; };
};

Don't
specify the particular IPv6 address of one of the
host's interfaces: listen-on-v6
only supports any or none
as an argument. The default, as of BIND 9.1.0, is
none; that is, don't listen for
queries on any IPv6 interfaces.

11.2.3 Discussion

Before BIND 9.1.0, BIND 9 name servers listened on any of the
host's IPv6 interfaces by default. BIND 8 name
servers can't handle queries received via IPv6 at
all.

As with its IPv4 counterpart, you
can use listen-on-v6 to tell a name server to
listen on an alternate port, too. For example, you could configure
the name server to listen on port 1053 for IPv6 queries with:

options {
directory "/var/named";
listen-on-v6 port 1053 { any; };
};

Note that none of the root name
servers have IPv6 interfaces, which makes it difficult to run an
IPv6-only name server on the Internet. Typically, name servers with
IPv6 interfaces also have at least one IPv4 interface, or forward to
a name server that has both kinds.