How Do I Test IPv6 DNS Resolution?

Testing IPv6 DNS resolution is essential for ensuring your network infrastructure properly supports modern internet standards. This guide covers command-line tools, online testing services, and debugging techniques to validate that your DNS servers can resolve IPv6 addresses (AAAA records).

Quick Start: Online Testing

Before diving into command-line tools, you can quickly test your IPv6 connectivity and DNS resolution using test-ipv6.run. This comprehensive testing tool checks:

Simply visit the site and it will immediately run all tests in parallel, providing a scored assessment of your IPv6 readiness. This is the fastest way to identify if you have DNS or connectivity issues with IPv6.

Understanding IPv6 DNS Records

IPv6 uses AAAA records (quad-A) to map domain names to 128-bit IPv6 addresses, while IPv4 uses A records for 32-bit addresses. It's important to understand that:

These are different concepts. Any DNS server (IPv4-only or IPv6-capable) can return AAAA records. However, to query a DNS server over IPv6, your network must support IPv6 connectivity. Learn more about adding IPv6 to DNS for proper configuration.

Testing with dig (DNS Information Groper)

dig is the most powerful and detailed DNS testing tool available on Linux and macOS.

Basic AAAA Query

Query for IPv6 addresses of a domain:

$ dig AAAA google.com

Expected output:

;; ANSWER SECTION:
google.com.		299	IN	AAAA	2607:f8b0:4004:c07::71
google.com.		299	IN	AAAA	2607:f8b0:4004:c07::8a
google.com.		299	IN	AAAA	2607:f8b0:4004:c07::8b
google.com.		299	IN	AAAA	2607:f8b0:4004:c07::65

Short Format Output

Get just the IPv6 addresses without extra information:

$ dig AAAA cloudflare.com +short
2606:4700::6810:85e5
2606:4700::6810:84e5

Query via IPv6 Protocol

Force dig to use IPv6 to contact the DNS server:

$ dig -6 AAAA example.com

This tests both your IPv6 connectivity and DNS resolution capability.

Specify DNS Server

Query a specific DNS server (like Google's public DNS):

$ dig @2001:4860:4860::8888 AAAA github.com

Check DNS Server Response Time

$ dig AAAA netflix.com +stats

Look for the "Query time" field in the output to measure DNS performance.

Testing with nslookup (Name Server Lookup)

nslookup is simpler than dig and available on Windows, Linux, and macOS.

Basic AAAA Query

$ nslookup -type=AAAA github.com

Expected output:

Server:		8.8.8.8
Address:	8.8.8.8#53

Non-authoritative answer:
github.com	has AAAA address 2606:50c0:8000::154
github.com	has AAAA address 2606:50c0:8001::154
github.com	has AAAA address 2606:50c0:8002::154
github.com	has AAAA address 2606:50c0:8003::154

Interactive Mode

Enter interactive mode for multiple queries:

$ nslookup
> set type=AAAA
> facebook.com
> youtube.com
> exit

Query Specific DNS Server

$ nslookup -type=AAAA example.com 2001:4860:4860::8844

Testing with host Command

The host command provides a simplified DNS lookup interface.

Basic AAAA Query

$ host -t AAAA cloudflare.com

Output:

cloudflare.com has IPv6 address 2606:4700::6810:84e5
cloudflare.com has IPv6 address 2606:4700::6810:85e5

Force IPv6 Protocol

Use the -6 flag to force querying via IPv6:

$ host -6 example.com

Verbose Output

Get detailed information about the DNS resolution:

$ host -v -t AAAA github.com

Cross-Platform Testing Methods

Windows

Windows includes nslookup by default. Open Command Prompt or PowerShell:

nslookup -type=AAAA microsoft.com

For more advanced testing, install Windows Subsystem for Linux (WSL) to access dig and host commands.

macOS

macOS includes both dig and host by default. Open Terminal:

dig AAAA apple.com +short

Linux

Most Linux distributions include dig, host, and nslookup. Install if missing:

Debian/Ubuntu:

sudo apt install dnsutils

RHEL/CentOS/Fedora:

sudo dnf install bind-utils

Arch Linux:

sudo pacman -S bind-tools

Online DNS Testing Tools

Several web-based tools can test IPv6 DNS resolution from external servers:

Validating DNSSEC with IPv6

DNSSEC (DNS Security Extensions) adds cryptographic signatures to DNS records, including AAAA records.

Check DNSSEC with dig

$ dig AAAA cloudflare.com +dnssec

Look for the ad (authenticated data) flag in the response header, which indicates successful DNSSEC validation.

Verify DNSSEC Chain

$ dig AAAA example.com +dnssec +multiline

This shows the complete DNSSEC chain including RRSIG (signatures) and DNSKEY records.

Online DNSSEC Validation Tools

Debugging DNS Resolution Issues

Problem: No AAAA Records Found

If you get no results:

$ dig AAAA example.com +short
# (no output)

Diagnosis: The domain doesn't have IPv6 configured. Verify with:

$ dig ANY example.com +noall +answer

Problem: IPv6 DNS Queries Timeout

Test if your DNS server supports IPv6 queries:

$ dig -6 AAAA google.com

If this times out, your DNS resolver may not support IPv6 protocol. Solution:

  1. Check IPv6 connectivity: ping6 2001:4860:4860::8888
  2. Try alternative DNS servers: dig @2001:4860:4860::8888 AAAA google.com
  3. On Linux with systemd-resolved, enable IPv6 DNS:
# Edit /etc/systemd/resolved.conf
DNSStubListenerExtra=[::1]:53

# Restart service
sudo systemctl restart systemd-resolved

Problem: Slow IPv6 Resolution

Compare resolution times:

$ time dig A google.com +short
$ time dig AAAA google.com +short

If IPv6 queries are significantly slower, you may have:

Use test-ipv6.run to identify broken IPv6, which scores you as "0" and highlights the issue prominently.

If you're experiencing DNS-related issues with IPv6, you might want to learn about DNS64 which is a mechanism that allows IPv6-only clients to access IPv4 services.

Problem: Inconsistent Results

Check multiple DNS servers:

$ dig AAAA example.com @8.8.8.8 +short
$ dig AAAA example.com @1.1.1.1 +short
$ dig AAAA example.com @2001:4860:4860::8888 +short

Inconsistent results indicate DNS propagation delays or server-specific issues.

Verify System DNS Configuration

Linux (systemd):

$ resolvectl status

Linux (traditional):

$ cat /etc/resolv.conf

macOS:

$ scutil --dns

Windows:

ipconfig /all

Advanced Testing Scenarios

Test Dual-Stack Preference

Check which protocol your system prefers:

$ dig google.com +short
$ dig AAAA google.com +short

Then use a tool like curl with verbose output:

$ curl -v https://google.com 2>&1 | grep "Trying"

This shows which IP (IPv4 or IPv6) your system attempts first.

Reverse DNS Lookup for IPv6

$ dig -x 2606:4700:4700::1111

This queries the PTR record for the IPv6 address.

Check Authoritative DNS Servers

Find authoritative nameservers for a domain:

$ dig NS example.com +short

Then query them directly for AAAA records:

$ dig @ns1.example.com AAAA example.com

Best Practices

  1. Test regularly - Use test-ipv6.run periodically to ensure your IPv6 configuration remains healthy
  2. Monitor both protocols - Always check both A and AAAA records when troubleshooting
  3. Use multiple DNS servers - Test with Google (2001:4860:4860::8888), Cloudflare (2606:4700:4700::1111), and your ISP's DNS
  4. Check DNSSEC - Ensure security extensions are properly configured
  5. Verify end-to-end - Test from different networks (home, mobile, cloud) to identify network-specific issues
  6. Document baselines - Record normal resolution times and behaviors for comparison when issues arise

Conclusion

Testing IPv6 DNS resolution requires understanding the difference between querying for AAAA records and querying DNS servers via IPv6. The command-line tools dig, nslookup, and host provide detailed diagnostic capabilities, while online tools like test-ipv6.run offer quick, comprehensive assessments of your IPv6 readiness.

Whether you're troubleshooting connectivity issues, validating DNSSEC, or simply ensuring your infrastructure supports modern internet standards, these tools and techniques will help you thoroughly test IPv6 DNS resolution across platforms and environments.

For more detailed troubleshooting steps, see our guide on troubleshooting IPv6 DNS failures.

For the quickest and most comprehensive test, start with test-ipv6.run - it runs parallel tests for IPv4, IPv6, dual-stack support, latency comparison, and protocol preference, giving you an instant score and identifying any broken IPv6 configurations.

When troubleshooting DNS issues, consider checking which best DNS servers with IPv6 support might work better for your network.