rDNS 是什么?一篇讲清楚反向解析和 PTR 记录的关系

前段时间帮一个朋友挑 VPS,他盯着几家服务商的配置页看了半天,回过头问我:为啥这家写着支持自定义 rDNS,那家压根没提这回事?这东西是不是很重要,没有会不会有问题?

其实很多人第一次接触服务器的时候都会撞上这个词。你在后台设置里翻着翻着,突然冒出来一个 rDNS 或者 PTR 记录的选项,说明里也没解释清楚,也知道填什么,挺让人犯嘀咕的。

那 rDNS 是什么?它有什么用?为什么有的 VPS 把它当卖点,有的却没有?

先搞懂正向解析

要弄明白 rDNS 是什么,得先从正向解析(DNS 解析)说起。

我举个最简单的场景。你想打开一个网站,比如在浏览器里敲了个域名回车,页面就出来了。但你不知道的是,网络里那些机器之间其实根本不认识域名,它们只认一串数字:就是 IP 地址。

那问题就来了:你输入的是域名,机器要的是 IP,这中间是谁在帮忙翻译?答案就是 DNS。

例如你想给一个朋友打电话,脑子里记的是张三,但手机真正拨出去要的是那串号码。而 DNS 干的就是这么个活儿,负责找到这个域名对应的 IP 地址,你的电脑再拿着这个 IP 去连服务器。

这个“域名 → IP”的查询过程,就叫正向解析

rDNS 是什么?有什么用?

前面咱们说了正向解析,是从域名查到 IP。那 rDNS 是什么?

rDNS 就是从 IP 反查回域名。所以它的全名叫反向 DNS 解析(Reverse DNS),rDNS 就是这个的缩写。正向是我知道名字,想要地址,反向是我手里有 IP 地址,想知道这是谁。

举个我自己遇到过的场景你就明白了。

我在检查服务器的访问日志,看到一堆 IP 在频繁请求,根本分不出谁是谁。如果 IP 配了 rDNS,我就就能反查出域名,比如这个 IP 是某个搜索引擎爬虫。这样我就知道这不是什么恶意扫描。

你看,光是一串 IP 我判断不了好坏,但反查出域名之后,这个 IP 的身份一下就清楚了。

不过这里有个地方得提醒你,反向解析并不一定有。一个 IP 有没有对应的域名,取决于这个 IP 的持有方有没有专门去设置。没设置的话,你反查过去就是一片空白。

那 rDNS 为什么会存在?它有什么用

讲到这儿你可能会想:从 IP 反查域名,听着有点小众,这功能是谁没事发明出来的,平时到底用在哪?其实它的存在很有必要,我挑几个最实在的用途说说。

  • 第一个,也是最要命的一个,是邮件。现在的邮件服务器会去查发件方 IP 有没有配 rDNS。要是没配,或者配得不对,你发出去的邮件很可能直接被人家判成垃圾邮件扔掉。
  • 第二个,是日志分析和排查问题。 就像我上面说的翻日志那个例子。运维平时看见满屏的 IP 是很难读的,如果这些 IP 能查出主机名,一眼就能识别出恶意 IP 的扫描动作。
  • 第三个,是建立一种“可信度 网络世界里,一个配了 rDNS、能反查出规整域名的 IP,会显得更正式一些。这虽然不是什么硬性规定,但确实是行业里心照不宣的软标准。

说到底,rDNS 存在的意义,就是给 IP 地址补上一个身份标签。有了这个标签,机器之间打交道的时候多了一层可以核对的信息,无论是防垃圾邮件、查日志还是建立信任,都用得上它。

rDNS 和 PTR 记录是什么关系

很多人提到 rDNS 就会说到 PTR 记录,那么 rDNS 和 PTR 记录是什么关系。

可以回想一下正向解析。你要根据域名查到 IP 地址,这个动作叫 DNS;而怎么用来记录域名和 IP 关联关系的叫 A 记录。反过来,通过 IP 查回域名叫 rDNS,记录关联关系的就是 PTR 记录

所以它俩的对应关系可以这么记:

  • 正向解析(域名 → IP),靠的是 A 记录
  • 反向解析(IP → 域名),靠的是 PTR 记录

一正一反,一个 A 一个 PTR,对称得很。你以后再看到 PTR 这个词,脑子里直接把它和反向解析划等号就行,它就是给某个 IP 指定你反查过去应该显示成哪个域名的那条记录。

这里稍微多说一句它的实现方式,你了解个大概就够了,不用记。

反向解析用的是一个专门的特殊区域,叫 in-addr.arpa(IPv6 是 ip6.arpa)。系统在做反查的时候,会把 IP 地址按一定规则倒过来拼进这个区域里去找对应的 PTR 记录。

真正需要你留意的,是下面这一点:PTR 记录通常不是你在自己域名后台设置的。你可能会想:A 记录我在域名管理后台就能加,那 PTR 记录是不是也一样,我自己加一条不就完了?

还真不是。原因在于,PTR 记录的管理权,跟着 IP 地址走,而不是跟着域名走。

你的域名是你花钱注册的,你当然说了算;但 IP 地址不一样,它是分配给你的,IP 的相关权限是握在把这个 IP 分给你的人手里:也就是你的 VPS 服务商、机房或者上游网络商。

所以想给一个 IP 配 PTR 记录、设置它的反向解析,得由持有这个 IP 的一方来操作,或者由他们在后台开放一个入口,允许你自己填。例如搬瓦工的 KiwiVM 就能自行修改。

总结

聊到这儿,rDNS 是什么这个问题,答案其实已经很清楚了。我再帮你用一句话串起来:

正向解析是从域名查 IP,靠的是 A 记录;rDNS 也就是反向解析,方向反过来,从 IP 查回域名,靠的是 PTR 记录。这俩一正一反,A 对 PTR,是一对对称的兄弟。

同 A 记录和域名绑定不同, PTR 记录是跟着 IP 走的,所以你想配 rDNS 得看服务商。

至于它有什么用,最要紧的就是邮件。如果发件方 IP 没配好 rDNS,邮件大概率进垃圾箱或者被拒收。除此之外,它还能帮你在看日志的时候把 IP 翻译成看得懂的主机名,增加 IP 可信度。

rDNS 本质就是给 IP 挂上一个域名身份牌。平时你可能感觉不到它,但真需要的时候,尤其是自建邮件那会儿——它能不能配、配得对不对,直接决定你的服务能不能正常运行起来。

常见问题解答(FAQ)

Q1:rDNS 和普通 DNS 到底有啥区别?一句话能说清吗?

能。普通 DNS 是通过域名找到 IP 地址,rDNS 是通过 IP 地址,找到域名。

Q2:我买了 VPS,但用不到邮件,rDNS 是不是可以不管?

大多数情况下,是的。

如果你只是拿服务器建个网站、挂个应用、跑点小服务,没有自建邮件服务器发信的需求,那 rDNS 配不配,对你日常使用基本没影响,不用纠结。

Q3:我怎么知道自己看中的 VPS 支不支持自定义 rDNS?

最直接的办法是看服务商的产品说明或者控制面板,支持的一般会明确写出来,或者在后台给你留一个填 rDNS 的入口。要是说明里没提,你也可以开工单直接问客服。

Q4:配了 rDNS 之后,是不是马上就生效?

不一定,反向解析也有缓存,改完之后可能要等一小段时间才全网生效,有时候几分钟,有时候要等上更久。所以你改完先别急,隔一会儿再用工具查一下确认。

Q5:怎么查一个 IP 有没有配 rDNS?

用在线工具查最省事。我一般推荐 MXToolbox 的反向查询工具,打开之后把你要查的 IP 填进去,点一下查询,它就会告诉你这个 IP 反解出来的域名是什么。

发表评论