1276541SdesThe DNS64 code was written by Viagenie, 2009, by Simon Perrault as part
2276541Sdesof the Ecdysis project.  The code is copyright by them, and has the BSD
3276541Sdeslicense (see the dns64/dns64.c file).
4276541Sdes
5276541SdesTo enable DNS64 functionality in Unbound, two directives in unbound.conf must
6276541Sdesbe edited:
7276541Sdes
8276541Sdes1. The "module-config" directive must start with "dns64". For example:
9276541Sdes
10276541Sdes    module-config: "dns64 validator iterator"
11276541Sdes
12276541SdesIf you're not using DNSSEC then you may remove "validator".
13276541Sdes
14276541Sdes2. The "dns64-prefix" directive indicates your DNS64 prefix. For example:
15276541Sdes
16276541Sdes    dns64-prefix: 64:FF9B::/96
17276541Sdes
18276541SdesThe prefix must be a /96 or shorter.
19276541Sdes
20276541SdesTo test that things are working right, perform a query against Unbound for a
21276541Sdesdomain name for which no AAAA record exists. You should see a AAAA record in
22276541Sdesthe answer section. The corresponding IPv6 address will be inside the DNS64
23276541Sdesprefix. For example:
24276541Sdes
25276541Sdes    $ unbound -c unbound.conf
26276541Sdes    $ dig @localhost jazz-v4.viagenie.ca aaaa
27276541Sdes    [...]
28276541Sdes    ;; ANSWER SECTION:
29276541Sdes    jazz-v4.viagenie.ca.        86400   IN      AAAA    64:ff9b::ce7b:1f02
30276541Sdes
31