正向和反向DNS的工作原理

正向和反向DNS的工作原理,dns,Dns,我对DNS工作原理的理解是这样的:首先让我们假设mydomain.com具有IP地址12.34.56.78。现在,当我将url mydomain.com放入浏览器时,浏览器会向其本地dns服务器发送一个dns查找,询问:“嘿,你知道mydomain.com的ip地址吗?”。如果本地dns服务器不知道,它会询问父dns服务器,如果父dns服务器也不知道,那么它会一直询问,直到根dns服务器。根dns服务器将询问负责.comtld的某个服务器。负责.com的dns服务器将了解mydomain.com

我对DNS工作原理的理解是这样的:首先让我们假设
mydomain.com
具有IP地址
12.34.56.78
。现在,当我将url mydomain.com放入浏览器时,浏览器会向其本地dns服务器发送一个dns查找,询问:“嘿,你知道mydomain.com的ip地址吗?”。如果本地dns服务器不知道,它会询问父dns服务器,如果父dns服务器也不知道,那么它会一直询问,直到根dns服务器。根dns服务器将询问负责
.com
tld的某个服务器。负责
.com
的dns服务器将了解
mydomain.com
,因为
mydomain.com
.com
系列。然后答案将返回给最初的询问者。答案很可能会缓存在询问过程中涉及的dns服务器中。如果我的理解是错误的,有人会纠正吗


所以我真正的问题是反向dns查找是如何工作的。假设我想知道ip的域名是什么
12.34.56.78
。我运行命令dig-x12.34.56.78。如果我的本地dns服务器不知道答案,它会进一步询问哪个服务器?是地址arpa中的
12.
,还是地址arpa中的
34.12.
?如果是这种情况,这些名称是否像地址arpa中的
12.
有效域名?应该在哪里部署它们,以便反向查找请求知道向谁询问?

如何完成反向DNS查找:

  • DNS解析程序将IP反转,并将其添加到“.in-addr.arpa”(或“.ip6.arpa”进行IPv6查找),将192.0.2.25转换为25.2.0.192.in-addr.arpa
  • DNS解析器然后查找25.2.0.192.in-addr.arpa的PTR记录。
    • DNS解析程序向根服务器请求25.2.0.192.in-addr.arpa的PTR记录
    • 根服务器将DNS解析程序引用到负责A类范围(192.in-addr.arpa,覆盖以192开头的所有IP)的DNS服务器
    • 在几乎所有情况下,根服务器都会将DNS解析程序引用到“RIR”(“区域Internet注册表”)。这些是分配IP的组织。一般来说,ARIN处理北美IP,APNIC处理亚太IP,RIME处理欧洲IP
    • DNS解析程序将向ARIN DNS服务器请求25.2.0.192.in-addr.arpa的PTR记录
    • ARIN DNS服务器将DNS解析程序引用到最初指定IP范围的组织的DNS服务器。这些通常是ISP的DNS服务器或其带宽提供商
    • DNS解析程序将要求ISP的DNS服务器提供25.2.0.192.in-addr.arpa的PTR记录
    • ISP的DNS服务器将DNS解析程序提交给组织的DNS服务器
    • DNS解析程序将要求组织的DNS服务器提供25.2.0.192.in-addr.arpa的PTR记录
    • 该组织的DNS服务器将响应“host.example.com”

来源。

WOW@Shoikana,非常清楚。非常感谢你。那么所有的事情都可以在一个完全隔离的实验室里用bind9来完成吗?比如说,我有一个完全隔离的实验室,需要多少服务器就有多少服务器。我可以只用bind9完成所有正向和反向查找过程吗?或者RIR仍然使用任何私有协议与ISP对话?原始答案中缺少的一个细微差别是,典型的台式机或笔记本电脑不运行递归DNS服务器。它只有一个解析器,可以联系您的ISP或组织的递归DNS服务器。该DNS服务器可能被预先配置为回答组织IP空间内的*.in-addr.arpa主机名的PTR查询(特别是当它不是全局可路由的IP空间时)。只有当该服务器没有答案时,它才会执行上述解决方案。(假设它已经没有缓存的答案。)