Domain IP Lookup

反向 DNS 是反过来查询

IP 地址

93.184.216.34

起点

PTR 查询

in-addr.arpa,是对方的区域,不是您的

主机名

答案

反向区域归 IP 地址段的所有者所有,而非域名所有者

实用指南

什么是反向 DNS?PTR 记录详解

3 分钟阅读

普通的 DNS 回答的是“这个名称对应哪个地址?”,而反向 DNS 回答的恰恰相反:“这个地址对应哪个名称?”提供这一答案的记录类型是 PTR,即 pointer(指针)的缩写。

反向 DNS 是反过来查询

IP 地址

93.184.216.34

起点

PTR 查询

in-addr.arpa,是对方的区域,不是您的

主机名

答案

反向区域归 IP 地址段的所有者所有,而非域名所有者

正向与反向是两种各自独立的查询,发生在不同的区域,由不同的主体控制。

为什么它不只是把查询倒过来

这两个方向其实是相互独立的。正向记录位于您域名的区域中,由您掌控。反向记录则位于一个由 IP 地址本身推导出来的特殊区域中,这个区域属于地址段的所有者。

反向区域名称是如何构造的
Address:  93.184.216.34
IPv4 zone: 34.216.184.93.in-addr.arpa

八位字节顺序被反转,因为 DNS 从右向左
读取层级:网络部分排在最前面。

IPv6 沿用同样的思路,使用 ip6.arpa,并把每一位十六进制数字单独反转,生成的名称虽然很长,但构造方式机械而简单。

核心要点

您无法在自己域名的 DNS 中设置 PTR 记录。反向区域属于 IP 地址段的所有者,也就是您的托管服务商或 ISP,因此 PTR 的变更要通过他们来申请。

邮件服务器为什么在意它

反向 DNS 真正举足轻重的地方只有一处:邮件投递。当您的服务器连接过去投递邮件时,收件服务器经常会对发起连接的地址进行一次反向查询,作为初步的合法性检查。

  • 完全没有 PTR 记录:这是很强的垃圾邮件信号。合法的邮件服务器几乎都有,而被入侵的家用机器通常没有。
  • 服务商的通用 PTR:类似 93-184-216-34.dynamic.isp.net 的名称,会把该地址标记为家庭宽带或动态地址,许多服务器会直接拒收来自这类地址的邮件。
  • PTR 与正向记录不匹配:看起来像是配置错误或伪造的。
验证两个方向是否一致
dig +short -x 93.184.216.34
# -> mail.example.com.

dig +short mail.example.com
# -> 93.184.216.34   (these must match)

如何设置

  1. 确认您拥有独享地址

    共享主机地址无法设置对您有意义的 PTR 记录,因为它与同一地址上的所有其他人共用。请参阅共享 IP 与独享 IP。

  2. 先创建正向记录

    为您的邮件主机名添加一条 A 记录,例如让 mail.example.com 指向该地址。请在申请 PTR 之前完成这一步,这样两条记录就能立刻匹配。

  3. 向地址的所有者申请 PTR

    云服务商会在控制台中提供这一功能:AWS 需要提交支持工单,DigitalOcean 根据 Droplet 名称自动生成,Hetzner 和 Linode 提供直接填写的字段。传统的主机服务商通常需要提交工单。

  4. 让主机名与邮件服务器的 HELO 一致

    邮件服务器在连接时会通报一个主机名。这个名称、PTR 和正向记录三者应当一致。HELO 与 PTR 不一致,本身就是一个垃圾邮件信号。

  5. 验证两个方向

    运行上面的两条命令,确认结果一致。然后向一个能报告认证结果的服务发送一封测试邮件。

反向 DNS 不重要的场景

在这上面很容易投入过度。反向 DNS 在以下场景中基本无关紧要:

  • 网站。浏览器从不进行反向查询。缺少 PTR 对您的网站没有影响,对 SEO 也没有影响。
  • 通过服务商发送的邮件。如果由 Google、Microsoft 或 SendGrid 代您发信,建立连接的是它们的服务器,适用的也是它们的 PTR,您自己的并不相关。
  • CDN 之后的地址。访客访问的是边缘节点,该反向记录由服务商控制。

把反向查询当作调查工具

反向 DNS 也是识别某个地址身份的快速方法。服务商拥有的地址,反向解析出的几乎都是带有描述性的主机名:

反向名称模式它说明了什么
*.amazonaws.comAWS 基础设施
*.cloudflare.comCloudflare 边缘节点
*.googleusercontent.comGoogle Cloud
*.dynamic.*.isp.net家庭宽带或动态地址
完全没有 PTR通常是云主机或尚未配置,来自这里的邮件值得怀疑

这是判断您解析出的地址属于 CDN 而非源站服务器的最快方法,参见为什么 CDN 会隐藏源站 IP。

需要查看某个域名的公网 DNS 地址?使用 Domain IP Lookup 工具。

本主题的免费工具

常见问题