公众号旧文
大部分人都知道 DNS,但可能很少有人知道还有反向 DNS(rDNS)
很多人对 DNS(域名系统)已经不陌生了。
当你在浏览器里输入一个域名,比如 example.com,DNS 会帮你把这个域名解析成服务器的 IP 地址,例如 93.184.216.34。
这个过程叫做正向解析(Forward DNS)。
简单来说就是域名 → IP 地址
但其实还有一个相反的过程:
IP 地址 → 域名
这就是今天要说的主角:反向 DNS(Reverse DNS,rDNS)。
一、什么是 rDNS?
反向 DNS(rDNS)就是通过 IP 地址查出对应的域名。
举个例子:
8.8.8.8 → dns.google
也就是当拿到一个 IP 地址时,可以通过 rDNS 查询出这个 IP 的名字。
这个名字通常被称为Hostname(主机名)
例如:
| IP地址 | Hostname |
|---|---|
| 8.8.8.8 | dns.google |
| 1.1.1.1 | one.one.one.one |
| 17.253.144.10 | apple.com |
这些名字并不是 DNS 自动生成的,而是由 IP 地址的拥有者主动设置的。
二、rDNS 是怎么实现的?
在 DNS 系统里,实现反向解析依靠一种特殊的记录类型:
PTR 记录(Pointer Record)
PTR 记录的作用就是指定一个 IP 地址对应的域名。
例如:
8.8.8.8 → PTR → dns.google
当服务器查询这个 IP 的反向 DNS 时,DNS 就会返回 dns.google。
三、为什么 rDNS 的域名长得很奇怪?
如果你用工具查询 rDNS,例如在 Linux 上执行:
host 8.8.8.8
你会看到类似这样的结果:

很多人第一次看到都会疑惑:
为什么 IP 会变成 8.8.8.8.in-addr.arpa?
原因是 DNS 系统是按域名结构设计的,而 IP 地址不是域名,因此需要一种特殊的转换方式。
规则是:
- 把 IP 地址倒过来
- 加上后缀
.in-addr.arpa
四、谁负责设置 rDNS?
和 DNS 不同,rDNS 不由域名持有人控制,而由 IP 地址持有人控制。
也就是说:
| 资源 | 谁控制 |
|---|---|
| 域名解析(A记录) | 域名所有者 |
| 反向DNS(PTR记录) | IP地址拥有者 |
举个例子:
如果你租了一台云服务器,IP 属于云厂商,比如:
- AWS
- 阿里云
- 腾讯云
那么 PTR 记录默认是云厂商控制的。
有些云服务允许用户自定义 rDNS,但很多服务商是不允许随便改的。
五、rDNS 有什么用?
很多人以为 rDNS 没什么意义,但实际上它在互联网中非常重要。
1.邮件服务器反垃圾
这是 rDNS 最重要的用途。
很多邮件服务器都会检查:
- IP 的 PTR 记录
- Hostname 是否存在
- Hostname 是否能正向解析回 IP
如果这些检查不通过,邮件很可能被判定为垃圾邮件。
典型检查流程:
IP → PTR → hostname
hostname → A记录 → IP
如果两个 IP 不一致,就会被怀疑是伪造邮件服务器。
2.网络日志和安全分析
很多服务器日志里都会显示 Hostname。
例如:
crawl-66-249-66-1.googlebot.com
通过 rDNS,管理员可以更容易识别访问来源。
例如:
| Hostname | 可能来源 |
|---|---|
| googlebot.com | Google爬虫 |
| amazonaws.com | AWS服务器 |
| cloudflare.com | Cloudflare节点 |
3.网络诊断
很多网络工具也会自动查询 rDNS,例如:
pingtraceroutewhoishost
这样在排查网络问题时更容易识别节点。
六、一个 IP 可以有多个 PTR 吗?
理论上 可以配置多个 PTR,但在实际互联网中通常只设置一个。
因为很多系统只会读取第一个结果。
七、rDNS 是互联网身份证
可以这样理解:
| 内容 | 类比 |
|---|---|
| IP地址 | 电话号码 |
| 域名 | 联系人名字 |
| rDNS | 反查通讯录 |
DNS 是输入名字找电话。
而 rDNS 是输入电话找名字。
虽然普通用户几乎感觉不到它的存在,但在互联网基础设施里,rDNS 是非常重要的一环。
很多网络系统、邮件系统、安全系统,都依赖它来判断一台服务器是否可信。
请在微信客户端打开