An AAAA DNS record links a domain name to an IPv6 address. It's the response from this record that allows the browser to reach the correct server over IPv6 to visit a website. For an IPv4 address, you use an A DNS record. A PTR record for IPv6 does the opposite and associates an IPv6 address with a name.
An AAAA record, also called an AAAA record, consists notably of a name, a type, a value, and a TTL. The TTL indicates how long the response stays cached in the local resolver.
| Name | Type | IPv6 address | TTL in seconds |
|---|
| www | AAAA | 2001:db8::10 | 3600 |
In this example, the name www designates a subdomain. To target the domain root, use the at sign. The value must be a valid IPv6 address that is routable on the Internet. A TTL of 3600 corresponds to one hour.
Publishing several AAAA records for the same name is possible. The local resolver receives a list and picks one. This provides simple load distribution.
| Name | Type | IPv6 address | TTL in seconds |
|---|
| www | AAAA | 2001:db8::10 | 3600 |
| www | AAAA | 2001:db8::11 | 3600 |
This rotation does not replace true automatic failover. In the event of an outage, some visitors may still receive the offline IPv6 address for a short time.
A short TTL speeds up the visibility of a change. Using a TTL of 60 seconds during a migration can help.
A medium or long TTL reduces queries to the authoritative DNS servers, which is particularly suitable for a stable service.
It is recommended to lower the TTL a few hours before a switchover, then raise it again once the migration is complete.
Good to know
TTL is not a promise of immediate propagation. Caches honor the specified duration. The update appears when the counter reaches zero on the resolver's side.
At the root of a domain name, called the apex, you publish AAAA records. Placing a CNAME there is not compliant.
For www, you can use an AAAA record when you control the address. Otherwise, it is appropriate to use a CNAME if you point to another name, often managed by a third-party provider.
AAAA and A can coexist on the same name. Modern systems use IPv6 when available and fall back to IPv4 if necessary.
For other subdomains such as api, cdn, or blog; you can use CNAME, A, or AAAA records. Each service keeps its own address. Changes remain simple.
To avoid
Mixing CNAME and AAAA on the same name is not RFC-compliant.
Publishing a non-routable address in a public zone.
Leaving an old AAAA record after a migration.
An online DNS lookup lets you enter a domain name to obtain the list of IPv6 addresses associated with an AAAA record, as well as the TTL as seen from the Internet. This is a useful first check. Then, it is always helpful to perform a local test from your machine.
Windows provides nslookup. You can use it in interactive mode.
nslookup
set q=aaaa
www.example.com
nslookup
set q=aaaa
server 1.1.1.1
www.example.com
The first part queries an AAAA record according to the machine's network configuration. The second part forces the use of a third-party resolver, here Cloudflare's.
On these systems, the dig command is handy and easy to use.
dig aaaa www.example.com
dig aaaa www.example.com
The presence of IPv6 addresses alongside one or more IPv4 address(es) is called a dual-stack configuration.
A TTL that remains high can imply a delay after a change.
An empty response or a resolution failure often signals a typo or an IPv6 address removed too early.
- Prepare the new IPv6 service with its new address.
- Lower the TTL to 300 seconds, or even down to 60 seconds, on the relevant name a few hours before the switchover.
- Publish the IPv6 address in the AAAA record while keeping the A record; services generally should remain accessible over IPv4.
- Verify with the
nslookup or dig command from multiple networks. - Raise the TTL to a comfortable value once everything is stable.
Practical tip
Keep a tracking sheet for each domain name and change. It should indicate the person in charge, the date, the chosen TTL, and the reason for the change. This tracking sheet prevents oversights and makes a rollback easier if needed.
Use a CNAME for www to follow provider changes and keep A and AAAA records at the domain root, depending on the features offered by the platform used.
Publish several addresses close to visitors. The local resolver picks one from the list. For precise routing based on location, you need advanced features on the DNS side or the application network side.
Hosts referenced by MX records can publish AAAA records. The IPv6 reverse PTR improves deliverability. The information must match.
- If the site does not respond over IPv6, first check local resolution.
- If the response shows an unreachable address, fix the public zone or the network route.
- If the response alternates between an active address and an offline address, remove the failing address.
- If the response remains old despite the update, wait for the TTL to expire and purge the local resolver's cache if possible.
To summarize, an AAAA record associates a name with an IPv6 address. The TTL controls cache duration in the local resolver. A and AAAA can coexist to offer dual-stack access. CNAME does not coexist with AAAA on the same name. At the apex, you publish A and AAAA records as needed. Verification is done with an online tool, then with nslookup on Windows and with dig on Linux and on Mac.
With these guidelines, management remains simple. Changes proceed without stress. Visitors access the site without incident.