IPv4-literal mapping service for NAT64

dns64.name provides a mapping service for making arbitrary IPv4 literal addresses available via NAT64 translation.

Because NAT64 relies on an IPv4 address being already embedded in an IPv6 prefix (conventionally 64:ff9b::/96, defined in RFC 6052), this embedding is usually done by a special DNS recursor at the NAT64 site.

When attempting to connect to a literal IPv4 address without an accompanying DNS name, there is no DNS lookup step at which the normal DNS64 insertion of a synethsized AAAA record might happen, so normally this connection would fail on a NAT64 network.

The dns64.name DNS service allows ad-hoc mapping of literal IPv4 addresses in to their counterpart conventional NAT64 address without needing a hostname to be configured in the DNS. This is intended to make transitional troubleshooting and temporary access to legacy systems easier, and should not be used as part of any permanent solutions to NAT64 problems :)

Example usage

In the general case where software can accept a DNS name in place of an IPv4 address, simply appending .dns64.name to the address should be sufficient.

For instance, to ssh to the host at, one might:

$ ssh

The name will be mapped automatically to the NAT64 address 64:ff9b::c000:201, as can be seen in this output from the dig tool:

$ dig AAAA

; <<>> DiG 9.9.5-9+deb8u11-Debian <<>> AAAA
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 17328
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

; EDNS: version: 0, flags:; udp: 4096

;; ANSWER SECTION:	39	IN	AAAA	64:ff9b::c000:201

;; Query time: 0 msec
;; SERVER: 2001:db8::#53(2001:db8::)
;; WHEN: Tue May 30 18:16:22 NZST 2017
;; MSG SIZE  rcvd: 77

About the service

If you'd like to run your own instance of dns64.name, the source code to the PowerDNS backend is available.