How Top Level Domain DNS server is aware of the IP address of the domain’s nameserver

scoulomb asked:

I try to understand DNS recursion.

Assumed I have deployed a local DNS on my machine using bind.
I defined the zone file a A record for server1.example.com.
I also defined as NS record in the zone file and have a A that tie to that NS record.

Like the defintion made here:

https://web.mit.edu/rhel-doc/5/RHEL-5-manual/Deployment_Guide-en-US/s1-bind-zone.html

I can query this DNS server locally with

nslookup server1.example.com ::1

This is working as it is authoritative for zone example.com

If I want to use a recursive DNS server such as 8.8.8.8 instead instead of targeting my local DNS directly (which is also authoritative for example.com):

The process will be:

  1. The recursive DNS queries a DNS root nameserver (.).
  2. The root server then responds to the resolver with the address of Top Level Domain (TLD) DNS server (com)
    2.The resolver then makes a request to the .com TLD.
  3. The TLD server then responds with the IP address of the domain’s nameserver, example.com.
  4. The recursive resolver sends a query to the domain’s nameserver.
  5. The IP address for server1.example.com (or example.com) is then returned to the resolver from the nameserver.

I am wondering what is the configuration made in TLD DNS server to know the IP of domain’s nameserver, example.com in step 3.
How do we do it in practice? Is it is possible to make it point to my machine where named service is running?

How do we ensure that only the owner of the domain name can make this configuration in TLD DNS?

My answer:


Your domain’s nameservers are set through your domain registrar, and only the registrars can change them. Thus the nameserver addresses returned in "Step 2" were sent to the root nameservers by your domain registrar when you change them at their web site. The root nameservers will only accept updates from the domain’s listed registrar.


View the full question and any other answers on Server Fault.

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.