There are many cases in which you may need to create an "empty" DNS record. Empty records have no associated answer — simply, they point to another DNS record. Using empty records can help simplify system configuration and expedite maintenance. For example, if you have a particularly complex record configuration or if you need to implement a new service (e.g., a new CDN), you can create a CNAME record, for example, that mirrors the configuration of the parent record instead of having to manually configure both records.
There are several ways to point one DNS record to another—each optimized for a specific use case. Before configuration, it’s important to understand each option to identify the record type best suited to your specific needs.
Below are a few key terms and concepts relevant to understanding different record types:
Source: the indirect record or child record (i.e., the CNAME, ALIAS, or linked record)
Target: the resulting endpoint or parent record
Advanced configuration: an NS1-specific record configuration using filters or metadata
Zone apex: the root domain name to which the SOA record refers; the zone with no further hostnames attached (e.g. example.com)
CNAME is the most well-known way to “symlink” one DNS record to another. It works by answering queries that ask for the source with a simple referral (by domain name) to the target, which can be anywhere else on the internet. If the target record exists in the same zone, NS1 will automatically add the target answer to the query result, eliminating additional round trips. Otherwise, full CNAME resolution may involve the DNS recursor making additional requests.
When queried, a CNAME will always include a CNAME record in the response and, as described, might also include the resolved record pointing to the target—typically, an A or AAAA record. The biggest challenge with CNAME records is that, according to the DNS RFC, they cannot be used at the zone apex level. If you wish to point your zone apex to another record, use an ALIAS record.
Use: |
Use CNAME records to implement simple indirection via referrals |
Don't use: |
Do not use CNAME records when the source is the zone apex, or when the target is in a different zone in NS1 and has an advanced configuration. |
Source record type: |
CNAME (part of DNS specification) |
Target record type: |
Any (typically A or AAAA) |
Query result: |
CNAME record Note: If the target exists in the same zone, it’s possible for the query result to be the target record as well. |
Chaining allowed? |
Yes |
Can point to domains outside of NS1? |
Yes |
ALIAS is a pseudo-record that works like a CNAME record but can be used safely at the zone apex because it always resolves to A (or AAAA) record(s). Resolution to the target is a completely internal process—DNS recursors making the query will not be able to differentiate between an ALIAS record and a “real” A (or AAAA) record. When queried, an ALIAS record will always return one or more A or AAAA records. Since ALIAS is a pseudo-record, the query result will never contain ALIAS.
There is no good reason to use an ALIAS record outside of the zone apex. Since it requires an extra external lookup, resolution can be slower than a CNAME or linked record.
Use: |
Use an ALIAS record to achieve the same functionality as a CNAME record at the zone apex. |
Don't use: |
Do not use an ALIAS record outside of the zone apex. |
Source record type: |
NS1-specific ALIAS pseudo-record Note: Not in DNS specification. |
Target record type: |
A or AAAA |
Query result: |
A or AAAA record(s) |
Chaining allowed? |
Yes (inefficient) |
Can point to domains outside of NS1? |
Yes |
NS1 allows for advanced DNS record configuration far beyond traditional tools and capabilities. Using a linked record avoids the timely and error-prone tasks of manually creating and maintaining identical configurations across multiple records. Linked records tell the NS1 authoritative server to use the full configuration from a target record that exists somewhere else on the NS1 platform. Note: The target record does not need to be in the same zone as the linked record.
For example, a CDN using NS1 DNS services can instruct its customer (who is also using NS1) to use a linked record to point to the customer’s domain at the CDN, instead of a CNAME. This eliminates DNS round trips and (for A or AAAA records) allows direct resolution at the zone apex. A linked record can be any record type (A, MX, CNAME, etc.), but it must be the same type as a target or it will not resolve.
Compared to a CNAME record, a linked record typically requires one less DNS lookup—often shortening the response time for the requesting resolver or user to receive the final answer.
Linked records are specific to NS1, and their resolution is a completely internal process. During resolution, the full configuration from the target record (including advanced configuration options) is duplicated into the source record such that (other than the name of the record) they resolve identically. DNS recursors making the query will not be able to differentiate between a linked record and the “real” target to which it points.
Linked records support all NS1 features and capabilities used by the target record—including real-time data feeds.
Use: |
Use linked records to reuse an existing NS1 record that has an advanced configuration. |
Source record type: |
Any |
Target record type: |
(same as source) |
Query result: |
Based on target |
Chaining allowed? |
Yes |
Can point to domains outside of NS1? |
No |