如何为 DNS 服务器添加反向解析记录

前一篇文章我们介绍了如何快速搭建 DNS 服务器,本文将向大家介绍如何向 DNS 服务器添加反向解析记录,支持将指定的 IP 解析到对应的域名。

什么是反向域名解析

DNS 服务器里面有两种类型的 zone,即“正向查找区域”和“反向查找区域”,正向查找区域记录域名到 IP 的映射关系,反向查找区域记录 IP 到域名的映射关系,通过反向查找我们可以得到指定 IP 对应的域名信息,这个过程我们称之为反向域名解析,而 IP 映射到域名的信息记录我们称之为 PTR 记录。

反向解析的用途

邮件交换记录中有 A 记录和 PTR 记录两种,A 记录解析域名到 IP,PTR 记录解析 IP 到域名。反向域名解析主要用于确保邮件交换记录的有效性,用于拦截邮件服务系统中的垃圾邮件。

一般情况下,垃圾邮件发送者使用动态分配的 IP 地址或者没有注册域名的 IP 地址来发送垃圾邮件,通过反向解析可以判断邮件的合法性。当邮件服务器收到邮件时,邮件服务器会查看邮件由哪个 IP 地址发出,然后根据这个 IP 地址进行反向解析,如果反向解析得到的域名与发送方邮件的域名不一致则认为邮件发送者不是从真正的邮件服务器发出,则可以拒绝接收此邮件。比如当anonymous@qq.com 收到一份来自 simulate@163.com 的邮件时,qq邮件服务器会查看邮件来源的 IP,根据 IP 进行反向解析,如果解析到的域名和 163.com 一致则接收邮件,否则认为邮件来源的 IP 伪造拒绝这封邮件。

反向解析记录在域名系统中的实现

我们知道域名系统中正向解析是通过域名出发去寻找 IP 地址的,整个域名系统层次结构就是一个从根开始的域名树,但是反向解析是从 IP 出发查找域名,而一个 IP 地址可以对应多个域名,在域名树中查找 IP 对应的所有域名就需要遍历域名树,这样实现基本不可能。为了完成反向域名解析,域名系统提供了一个特别的域名,称之为反向解析域 in-addr.arpa,需要被解析的 IP 地址会被表达成类似域名的可显示串的形式,后缀为 in-addr.arpa。比如 IP 地址 61.129.7.47 的反向解析域名表达式为:47.7.129.61.in-addr.arpa,从而利用地址作为索引的域名空间完成快速的反向解析。

添加反向解析记录

我们以 IP 地址为 139.199.199.225 的 DNS 服务器为例(假设 139.199.199.225 已经搭建了 DNS 服务器,如何搭建 DNS 服务可以查考之前的文章,这里不在阐述。),介绍如何添加反向解析记录:

  • 修改 /etc/named.rfc1912.zones 文件,假设需要反向解析的 IP 为 61.129.7.47,如下加入反向解析域配置;
zone "7.129.61.in-addr.arpa" IN {
        type master;
        file "data/61.129.7.zone";
};
  • 新增 /var/named/data/61.129.7.zone 配置文件,配置文件如何所示;
$TTL 1D
@       IN SOA  dns.qq.com. webmaster.qq.com. (
                                        20181125      ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
@               IN      NS         dns.qq.com.
@               IN      MX 10      mail.qq.com.
4               IN      PTR        mail.qq.com.
88              IN      PTR        ptr.qq.com.
  • 通过命令 systemctl  restart  named.service 重启 DNS 服务器,通过 netstat -npl|grep named 截图如下所示;

验证 DNS 服务器有效性

  • 通过修改 PC 电脑的 /etc/resolv.conf 配置文件指定 nameserver,将 PC 的默认 DNS 服务器设置为我们搭建的 DNS 服务器;
  • 通过 PC 电脑执行命令 dig -x 61.129.7.4,查看反向解析情况是否生效,结果如下图所示则反向记录生效;
  • 通过 PC 电脑执行命令 dig -x 61.129.7.88,查看反向解析情况是否生效,结果如下图所示则反向记录生效;

至此,我们搭建了具备反向解析能力的 DNS 服务器。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏LIN_ZONE

laravel + vue +element + vux 初使用遇见的问题

之前,参加一个项目,中用的是 laravel5.4+vue+element+vux 刚开始用的时候,有点懵,记录下来与大家共勉

921
来自专栏从零开始学自动化测试

Selenium2+python自动化40-cookie相关操作

前言 虽然cookie相关操作在平常ui自动化中用得少,偶尔也会用到,比如登录有图形验证码,可以通过绕过验证码方式,添加cookie方法登录。 登录后换账号登录...

3078
来自专栏python爬虫实战之路

CentOS7.0安装/卸载MySQL

在MySQL官网中下载YUM源rpm安装包:http://dev.mysql.com/downloads/repo/yum/

1132
来自专栏c#开发者

OLEDB adapter for Biztalk server 2006更新[源码]

前一个阶段做一个<<General Database Adapter for Biztalk Server 2006 介绍>>主要功能实现对OLEDB数据库的访...

2857
来自专栏java系列博客

【redis】安装与运行:Creating Server TCP listening socket 127.0.0.1:6379: bind: No error

3605
来自专栏前端之心

如何搭建主从架构的 DNS 服务器

前面我们介绍了如何搭建 DNS 服务器以及如何往 DNS 服务器添加反向解析记录,本文将在前面的基础上告诉大家如何搭建主从架构的 DNS 服务器。

5782
来自专栏北京马哥教育

如何使用logrotate管理Linux的日志文件

日志文件包含系统内部执行情况的有用信息。在排除故障或服务器性能分析时往往需要检查日志。对于繁忙的服务器,日志文件可能会在短时间内变得非常大。这将成为一个问题,...

3224
来自专栏小狼的世界

SSH连接服务器并且拷贝文件

” Remote Host Identification Has Changed“

2845
来自专栏Debian社区

如何更改 Linux 的 I/O 调度器

Linux 的 I/O 调度器是一个以块式 I/O 访问存储卷的进程,有时也叫磁盘调度器。Linux I/O 调度器的工作机制是控制块设备的请求队列:确定队列中...

582
来自专栏Python、Flask、Django

flask项目使用第三方实现上传文件/图片的功能

1452

扫码关注云+社区

领取腾讯云代金券