DNS域名解析服务

一、DNS系统的作用及类型

        用户访问网址一般使用的不是IP地址,而是使用域名代替复杂的IP地址,因为这种形式更容易被用户记忆和使用。

        DNS系统记录了网络中IP地址和域名的映射关系,这种映射关系又分为正向映射和反向映射。

  • 正向映射:根据域名解析IP地址。
  • 反向映射:根据IP地址解析域名。

        每一台DNS服务器都负责一定的区域内的主机域名和IP地址的映射关系,这些特定的DNS域或IP地址段又被称为"zone"(区域),而根据解析方向的不同,DNS区域响应的分为正向区域(包含域名到IP地址的解析记录)和反向区域(包含IP地址到域名的解析记录)。

        根据所管理的区域地址数据的来源不同,DNS系统可以分为不同的类型。在同一台DNS服务器中,相对于不同的区域来说,也拥有不同的身份。常见的身份如下:

  • 缓存域名服务器:只是缓存最近解析过的域名的结果,目的在于提高查询效率,但是没有自己控制的区域地址数据。构建域名服务器时,必须设置根域或指定其他DNS服务器作为解析来源。
  • 主域名服务器:维护某一个特定DNS区域的地址数据库,对数据库中的解析记录具有自主控制权,是指定区域中唯一存在的权威服务器、官方服务器。构建主域名服务器时,需要自行建立所负责区域的地址数据文件。
  • 从域名服务器:通常用于主DNS服务器的热备份。对客户机来说,主、从服务器没有区别。而从服务器角度看,它们之间的区别在于:从服务器的所有解析记录来自主服务器。构建从服务器时,需要指定主域名服务器的位置,以便从服务器能够自动同步主服务器中的地址数据库。

二、BIND的安装

        构建DNS服务器需要安装以下四个软件包:

  • bind-9.9.4-37.el7.86_64.rpm。
  • bind-utils-9.9.4-37.el7.x86_64.rpm。
  • bind-libs-9.9.4-37.el7.x86_64.rpm。
  • bind-chroot-9.9.4-37.el7.x86_64.rpm。

        各软件包的主要作用如下:

  • bind:提供了域名服务的主要程序及相关文件。
  • bind-utils:提供了对DNS服务器的测试工具程序,如nnslookup等。
  • bind-libs:提供了bind、bind-utils需要使用的库函数。
  • bind-chroot:为BIND服务提供一个伪装的根目录(将/var/named/chroot/文件夹作为BIND服务的根目录),以提高安全性。

        也可以使用yum直接安装以bind开头的软件包:

yum install -y bind*

        在安装完bind后,系统会添加一个named的服务,可以通过systemctl来启动该服务:

systemctl start named

四、BIND服务的配置文件

        使用BIND软件构建域名服务时,主要涉及两种类型的配置文件:主配置文件和区域配置文件:

        1. 主配置文件(named.conf):用于设置named服务的全局选项、注册区域及访问控制等各种运行参数,通常位于/etc/目录下。文件中分为全局配置部分区域配置部分

        全局配置部分:包括在形如"option{};"的大括号中,可以设置监听的地址和端口、区域数据文件存放的目录、允许哪些客户机查询等。

        区域配置部分:区域配置参数使用"zone......{};"的配置格式,一台服务器可以为多个区域提供解析。区域的类型按照解析方向分为正向和反向。

         在上述配置内容中,有几个地方需要注意:

         每个zone区域的是可选的(包括根域、回环域、反向域),具体根据实际要求而定。

         反向区域的名称由倒序的网络地址和".in-addr.arpa"组合而成。

         file配置项用于指定实际的区域数据文件。

         区域配置中的部分参数也可以放在全局配置中。       

        2. 区域数据配置文件:位于/var/named/目录下,一个区域文件对应一个DNS解析域。在区域设置文件中,主要包括TTL(生存时间)配置项、SOA(授权信息开始)记录、地址解析记录。

        第一行的TTL配置用于设置缓存解析结果的有效时间。SOA部分用于设置区域名称、管理邮箱,以及从域名服务指定更新参数。

        文件中的@符号表示当前的DNS区域名,相当于"zkk.com"。SOA记录中的更新序列号用来同步主、从服务器的区域数据,若主、从服务器的序列号相同,则从服务器不会从主服务器下载区域数据。

        下面是地址解析记录部分,用来设置DNS区域内的域名、IP地址映射关系,包括正向解析记录和反向解析记录。

        上述配置内容中,用到以下四种常见的地址解析记录。

  • NS:Name Server(域名服务器),记录当前区域的DNS服务器的主机地址。
  • MX:Mail Exchange(邮件交换),记录当前区域的邮件服务器的主机地址,数字10表示选择邮件服务器的优先级,数字越大,优先级越低。
  • A:记录正向解析条目,在反向区域数据文件中,使用PTR记录,反向解析记录的形式为:
    IP地址中的主机部分 IN PTR 域名

    在区域数据配置文件中,凡是不以点号"."结尾的主机地址,系统在查找地址记录时都会
    自动将当前的域名作为后缀。

        修改完主配置文件以后,可以执行“named-checkconf"命令对 named.conf 文件进行语法检查。如果文件中没有语法错误,该命令将不给出任何提示。使用"named-checkzone"命令可以对区域配置文件进行检查,依次指定区域名称、数据文件名作为参数,如果没有错误,系统会给出"OK"的提示信息。

五、使用BIND构建域名服务器

3.1 构建缓存域名服务器

                

         zone项配置参考第四部分中的区域配置部分。

         这个配置是项根域名服务器发送域名解析请求,所以解析过程可能较慢。若用其他主机验证配置是否正确,需要先改变DNS解析服务器的地址为此DNS服务器的地址,再使用"nslookup"命令,指定一个域名,例如www.baidu.com进行测试。

3.2 构建主域名服务器

        

                zone项的配置图示如下:

        在/var/named/目录中创建一个名为"zkk.com.zone"文件(文件名可以随意设置)。具体的配置如下:

$TTL 1D
@       IN SOA  zkk.com. admin.zkk.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
@       IN NS   ns1.zkk.com.
        IN NS   ns2.zkk.com.
        IN MX 10 mail.zkk.com.

ns1     IN A    192.168.10.102
ns2     IN A    192.168.10.103
www     IN A    192.168.10.105
ftp     IN A    192.168.2.149
mail    IN A    192.168.10.106
*       IN A    192.168.10.106

3.3 构建从域名服务器

        从服务器的配置与主服务器一致,需要修改的位置为:

  • 主配置文件中的listen-on port 53花括号中的内容改为从服务器的IP地址。
  • zone项的type项的master改为slave,且将allow-transfer替换为masters并加一个花括号,里面指定主服务器的IP地址(IP地址前后要空一格且在末尾加分号)。
  • 在file一项添加从服务器的区域文件路径保存来自主服务器的区域文件。

        之后关闭防火墙并重启named服务。从服务器会从主服务器复制区域配置文件到/var/named/slaves/目录中。

3.4 反向解析域名服务

        反向解析也需要配置主配置文件中的zone项并创建一个区域文件。

        反向解析的zone项与正向解析的域名的格式不同:

反向网络地址.in-addr.arpa

        且与正向解析条目的"A"不同,反向解析的条目为"PTR"。具体的区域文件配置如下图:

        在配置完成后,按照前面的步骤进行验证即可,需要注意DNS服务器与客户机间的网络连通,以及DNS服务器和客户机都能访问网络。

        若有错误可以查看/var/log/messages文件中的记录。

  • 17
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值