> 文章列表 > PTR反向解析原理详解

PTR反向解析原理详解

PTR反向解析原理详解

PTR 反向解析是从 IP 地址域名的映射,相对于将域名映射到 IP 地址的正向解析。

因为一个 IP 可能被多个域名使用,所以在进行反向解析时要先验证一个 IP 地址是否对应一个或者多个域名。若从 IP 出发遍历整个 DNS 系统来验证,将会因工程浩大而无法实现。因此,RFC1035 定义了 PTR(Pointer Record)记录。PTR 记录将 IP 地址指向域名。

PS C:\\Users> nslookup.exe -qt=ptr  123.125.81.6   #反向解析360公共DNS 123.125.81.6
服务器:  public-dns-a.baidu.com
Address:  180.76.76.76非权威应答:
6.81.125.123.in-addr.arpa       name = pub1.sdns.360.cn    #注意6.81.125.123.in-addr.arpa 这里IP的顺序是反的

用途:如邮件安全

当收件人从某个公网IP收到一封邮件,通过PTR就能解析出该公网IP指向哪些域名。举例:12345@qq.com这个发件人的邮箱域是qq.com,如果PTR解析出的域名包含了发件人的域qq.com,则认为邮件通过了PTR安全检查,收件流程继续正常往后进行。如果没通过PTR安全校验,可能会丢弃邮件或放到垃圾邮件目录中。

PTR的解析为什么IP顺序是反着的

ICANN互联网名称与数字地址分配机构)组织新增了一个tld(通用顶级域)“.arpa.”用来负责将IP映射为域名。

用法
ip6.arpa 用于将 IPv6 地址映射到互联网域名
in-addr.arpa 用于将 IPv4 地址映射到互联网域名

prt的原理同域名查IP的dns原理

当我们解析:www.baidu.com. 时,dns根是点,顶级域名是com,二级域名是百度,三级域名是www。先从根找到com谁解析,再从com找到baidu.com谁解析,再从baidu.com找到www.baidu.com谁解析,最后找到对应的解析值。

当我们解析123.125.81.6这个IP的PTR时,可以理解要先从in-addr.arpa找到123.in-addr.arpa谁解析,再从123.in-addr.arpa找到125.123.in-addr.arpa谁解析,再从125.123.in-addr.arpa找到81.125.123.in-addr.arpa谁解析,再从81.125.123.in-addr.arpa找到6.81.125.123.in-addr.arpa谁解析,最后找到解析的域名。

因此可以把6.81.125.123.in-addr.arpa理解为域名,当用PTR解析时会先自动把IP变成in-addr.arpa的域名然后解析出值。

PTR解析由谁来添加

公网IP:反向解析是无法由 DNS 服务商提供的,因为IP地址的管理权限属于运营商,所以需要向运营商(ISP)进行申请添加反向解析。用公有云的话通常提单问公有云客服或查看官方文档有添加PTR解析的步骤。

内网IP:PTR解析可自行配置。

很好理解,谁的谁负责。常规的域名是由DNS服务商来管理的,所以DNS解析找它。公网IP是由运营商(ISP)来管理的,所以PTR找它解析。

域名没换公网IP换了,要重新添加PTR解析吗

答:要

参考:.ARPA Domain (iana.org)

参考:反向解析及PTR记录 (aliyun.com)

参考:《DNS与BIND》(第五版)