Point nameserver names at A or AAAA records, not CNAMEs
Why it matters
A nameserver name is an alias (CNAME) to another name, which DNS rules forbid for nameservers. Some resolvers fail or behave unpredictably with it.
Staged change. Do this in stages and check each one before the next, so a mistake does not break your site or your mail.
The fix
- Find which nameserver name is a CNAME with the command below.
- Replace that CNAME with A and AAAA records for the same name, or change the delegation so that it lists the final name the CNAME points to.
- If the name belongs to a provider, use the nameserver names the provider documents instead of making aliases for them.
- Confirm that the name now resolves straight to addresses.
bash
dig NS example.com +short # replace ns1.example.net with a nameserver from the delegation dig +noall +answer ns1.example.net CNAME
The examples use example.com. Replace it with your own domain.
Related
- Reported by the Nameservers and delegation check
- Delegate the domain to working nameservers
- Add a second nameserver
- Spread nameservers across more than one network
- Fix nameservers that do not answer for the domain
- Make unreachable nameservers answer, or remove them
- Give each nameserver name an IP address
- Point nameserver names at public IP addresses
- Make the registrar's nameservers match the zone's NS records
- Make all nameservers publish the same NS records
- Add glue records for nameservers inside your own domain
- Update glue records to match the nameserver's real address
- Check that nameservers are in sync
Scan your domain to see whether this applies to you.