我尝试了解DNS 递归。
假设我已经使用绑定在我的机器上部署了本地 DNS。我为区域文件定义了一个 A 记录server1.example.com
。NS
我还在区域文件中定义为记录,并A
与该NS
记录有关联。
就像这里的定义一样:
https://web.mit.edu/rhel-doc/5/RHEL-5-manual/Deployment_Guide-en-US/s1-bind-zone.html
我可以在本地查询这个 DNS 服务器
nslookup server1.example.com ::1
这是有效的,因为它是区域的权威example.com
如果我想使用递归 DNS 服务器,8.8.8.8
而不是直接定位我的本地 DNS(这对于 example.com 来说也是权威的):
该过程将是:
- 递归 DNS 查询 DNS 根名称服务器 (.)。
- 然后,根服务器使用顶级域 (TLD) DNS 服务器 (com) 的地址响应解析器 2.解析器然后向 .com TLD 发出请求。
- 然后,TLD 服务器使用域名称服务器 example.com 的 IP 地址进行响应。
- 递归解析器向域的名称服务器发送查询。
- 然后 server1.example.com(或 example.com)的 IP 地址从名称服务器返回到解析器。
我想知道TLD DNS服务器中的配置是什么,以了解第3步中域名称服务器example.com的IP。 我们如何在实践中做到这一点?是否可以让它指向运行命名服务的我的机器?
我们如何确保只有域名的所有者才能在 TLD DNS 中进行此配置?
您的域的名称服务器是通过您的域注册商设置的,只有注册商可以更改它们。因此,当您在其网站上更改域名注册商时,“步骤 2”中返回的域名服务器地址会被发送到根域名服务器。根域名服务器将只接受来自域列出的注册商的更新。