DNS DNAME Records Explained
DNS DNAME (Delegation Name) records provide a way to redirect an entire subtree of the DNS name space to another domain. Unlike CNAME records which create aliases for individual names, a single DNAME record can redirect all names under a given domain to a corresponding name under a different domain.
What is a DNAME record?
A DNAME record creates a substitution rule for an entire subtree of the domain name space. When a DNS resolver encounters a DNAME record, it rewrites the queried name by replacing the DNAME owner name with the target name, effectively redirecting all queries for names under that domain.
For example, if you set up a DNAME record at example.com pointing to example.net, then a query for foo.example.com would be rewritten to foo.example.net. This applies to any name under example.com, making it a powerful tool for domain migrations and delegation.
How do DNAME records work?
When a resolver queries for a name that falls under a DNAME record's owner, the authoritative server returns the DNAME record along with a synthesized CNAME record. The resolver then follows the CNAME to resolve the rewritten name. This process is transparent to the end user.
DNAME records are defined in RFC 6672 and are particularly useful when migrating services from one domain to another, or when you need to create a consistent mapping between two domain subtrees. Unlike CNAME records, DNAME records can coexist with other record types at the same name and do not apply to the owner name itself — only to names beneath it.
Example
Here's what a DNAME record looks like for the domain example.com: