I was thinking that I might be able to get away with simplifying DNS by foregoing the usual delegation setup and not operating DNS for my domain, instead relying only on the glue records in the TLD root.
Of course if I do this, it isn’t possible to do things like have many subdomains, a prioritized MX record, delegated subdomains, and such, but will it work at all?
I tested that, and it didn’t work (I don’t remember where I got this information in the first place). Why?
You can’t create NS/glue records at your registrar, point them to the IP of your web server, and have users on the internet resolve your domain name properly. That’s not how it works. You need a DNS server in the mix to host the
A records for your domain – whether you self-host it or your registrar hosts it, or you have a third party host it is immaterial, it still needs to exist somewhere.
I feel the need to update this, because you have some crazy ideas about how DNS works that you’ve revealed throughout the comments. I’d like to address them here so that it will be useful to future visitors.
First read the Wikipedia DNS article before you do anything else. It’s full of good information.
Next, I’ll post the content of a comment on Joel’s answer:
You have to have an authoritative server for your zone somewhere. When you register NS records for DNS servers, those servers are designated as authoritative for the zone by the registrar. Then, your A records and other records in that zone are what is used by recursive DNS resolvers like Google, your ISP, and others across the Internet. You still need an authoritative source of information for your zone. It is entirely possible to host this whole zone at your registrar instead of on your web server – but that’s not how you asked your question
What is likely happening is that your registrar also has a DNS hosting service that they offer for you. This is not required and is not available across all registrars. There is no requirement that your web server should host your DNS, and in fact web servers do not act as DNS servers in large organizations. So, in a sense, you’re on the right track by not hosting your DNS zones on your web server. Where you fall off of the rails are statements like this:
The glue DNS that point to my website will be hosted on your internet provider, Google DNS and on every DNS server on the world
That statement betrays your lack of understanding. What happens is addressed in my earlier comment. Most likely, you’ve created an A record for your domain on your registrar’s DNS hosting, which is authoritative for your zone, since you haven’t specified alternate DNS servers. There’s no magic here. DNS lookups are still happening. They’re just happening against your registrar’s servers instead of your own.
When I try to resolve
example.com what happens is I ask my DNS server for
example.com. If it has the record cached, then it will answer immediately. If not, it must locate your authoritative DNS servers or another DNS server on the internet with your records cached. This happens by either root hints or forwarders. These responses are typically only cached for as long as you’ve set the TTL field on the record being queried. After that period of time, that record’s cache is invalidated and my DNS servers have to go through the process of locating your DNS servers again for the record.
So, no, google and my ISP don’t “host” your records. They cache copies of it that they retrieve from your authoritative servers – which appear to be configured at your registrar without your knowledge/understanding. There must be a DNS resource record for your domain hosted by authoritative DNS servers somewhere on the Internet, otherwise name resolution for your domain simply will not work
The end, for real this time.