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
I also defined as
NS record in the zone file and have a
A that tie to that
Like the defintion made here:
I can query this DNS server locally with
nslookup server1.example.com ::1
This is working as it is authoritative for zone
If I want to use a recursive DNS server such as
126.96.36.199 instead instead of targeting my local DNS directly (which is also authoritative for example.com):
The process will be:
- The recursive DNS queries a DNS root nameserver (.).
- 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.
- The TLD server then responds with the IP address of the domain’s nameserver, example.com.
- The recursive resolver sends a query to the domain’s nameserver.
- 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?
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.
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.