This question is 13 years old, but things haven't changed. The accepted answer is useful, but here's a greater look at what's going on behind the scenes, just to help dot all the i's and cross all the t's...
I had the same problem and contacted GoDaddy Customer Support. Essentially, GoDaddy can't find the host based on the Internet's nameservers. I'm told it can take 24-48 hours for the new DNS records to propagate through the DNS resolve system that they use.
This can get confusing because there are two DNS nameservers we're dealing with:
- The DNS nameserver you are trying to create at
ns1.mynameserver.tld
- The DNS nameserver for your nameserver (
ns1.mynameserver.tld
): they can't be the same, of course.
Non-GoDaddy solution & prerequisites:
You need a host
AKA A
record, and in the IP6 world also the AAAA
record for ns1
, and the second probably ns2
. These can be any host
, but ns1
, ns2
, ns3
, etc is common practice.
Normally, this would need to be an FQDN. There are two ways to do this:
- Enter the
host
or A
and AAAA
records in the DNS zone settings.
- Use custom nameservers at GoDaddy for
mynameserver.tld
, pointing to DigitalOcean, Vultr, Linode, or wherever you park your domain DNS zone and enter the host
or A
and AAAA
records there.
...Again, the host
AKA A
and AAAA
records are ns1
and ns2
et al.
Once those host
/ A
& AAAA
DNS zone records have been entered for mynameserver.tld
, it will need time to propagate throughout the Internet. GoDaddy tells me this can take 24-48 hours.
There can be other factors. If you are using DigitalOcean for DNS records, in order to be an FQDN, your "droplet" must have the full name ns1.mynameserver.tld
. If you are using a GoDaddy-registered domain, but create an FQDN via DNS parking on DigitalOcean, this may be enough.
But, GoDaddy DNS-parked domains needs something different...
GoDaddy solution & prerequisites:
If you registered mynameserver.tld
and/or park your DNS (the default) with GoDaddy, then the above might not work!
You need to go to follow the steps at this article on GoDaddy's Help section.
The site navigation currently is:
mynameserver.tld
> Manage DNS > Host Names > Add
Then, you add only the host (ns1
, ns2
, etc) and the IP where you host it.
This somehow works with GoDaddy's backend so that ns1.mynameserver.tld
can have the requirements that an FQDN normally would, or something like that. GoDaddy isn't clear about what's happening on their back end.
But, if you want your GoDaddy-registered domain to serve your nameserver, this is how you need to "register" the ns1
part.
Additional considerations
Additionally, risking TMI, here are some things you might consider. On your installation, assuming that you are using bind
, ensure that:
bind
is installed, working
- Port
53
is allowed in the firewall
- The FQDN and hostname of the server is actually
ns1.mynameserver.tld
or ns2.mynameserver.tld
/etc/hostname
should contain this
- Check it is working with:
cat /proc/sys/kernel/hostname
/etc/hosts
may also have some bearing on this
I added this because, if I had written the software where these nameservers were entered, I would not only look for A
and AAAA
records; I'd try to ping bind
through port 53
et al. I'm probably not the only one to think that way.
Separately, it is also possible that you may need in-addr.arpa
rDNS records also. Not all domain parking offers this. But, maybe that doesn't actually matter.
So, if the problem is happening within the first 48 hours, it is probably just waiting to propagate. If it persists after that, it could be that bind
is not working properly on the server, which is another question.