zoukankan      html  css  js  c++  java
  • Linux DNS 服务器配置与管理

    一、环境介绍:

      运行软件:VMware Workstation Pro 14

      系统环境:CentOS-7-x86_64-1810

    二、操作配置:

    1、基础知识简介

    (1)域名空间

    域和域名:

    DNS树的每个节点代表一个域,通过这些节点,对整个域名空间进行划分,成为一个层次结构。域名空间的每个域的名字通过域名进行表示。域名通常由一个完全正式域名(FQDN)标识。

    Internet域名空间:

    DNS根域下面是顶级域,也由Internet域名注册授权机构管理。共有3种类型的顶级域 (组织域、地址域、反向域)。

    区(Zone):

    区是DNS名称空间的一个连续部分,其包含了一组存储在DNS服务器上的资源记录。

    (2)DNS 服务器分类

    DNS服务器分为4类:

    .主DNS服务器(Master或Primary)

    .辅助DNS服务器(Slave或Secondary)

    .转发DNS服务器

    .唯高速缓存DNS服务器(Caching-only DNS server)

    (3)DNS 查询模式

    .递归查询

    DNS 客户端送出查询要求后,如果DNS服务器内没有需要的数据,则DNS服务器会代替客户端向其他的DNS服务器查询,客户机只需接触一次DNS服务器。

    .迭代查询

    DNS 客户端送出查询后,如果DNS服务器内没有需要的数据,则返给客户机另一个DNS服务器地址,将客户机转向另一个DNS服务器。

    (4)域名解析过程

    .DNS 域名解析的工作原理

     

    .DNS 域名解析的工作过程

    ① 客户机提交域名解析请求,并将该请求发送给本地的域名服务器。

    ② 当本地的域名服务器收到请求后,就先查询本地的缓存。如果有查询的DNS信息记录,则直接返回查询的结果。如果没有该记录,本地域名服务器就把请求发给根域名服务器。

    ③ 根域名服务器再返回给本地域名服务器-个所查询域的顶级域名服务器的地址。

    ④ 本地服务器再向返回的域名服务器发送请求。

    ⑤ 接收到该查询请求的域名服务器查询其缓存和记录,如果有相关信息则返回客户机查询结果,否则通知客户机下级的域名服务器的地址。

    ⑥ 本地域名服务器将查询请求发送给返回的DNS服务器。

    ⑦ 域名服务器返回本地服务器查询结果(如果该域名服务器不包含查询的DNS信息,查询过程将重复⑥、⑦步骤,直到返回解析信息或解析失败的回应)。

    ⑧ 本地域名服务器将返回的结果保存到缓存,并且将结果返回给客户机。

    .正向解析与反向解析

    正向解析:正向解析是指域名到IP地址的解析过程。

    反向解析:反向解析是从IP地址到域名的解析过程。反向解析的作用为服务器的身份验证。

    2、主 DNS 服务器配置

    (0)DNS 服务器IP地址配置

    (1)安装 DNS 服务

    .认识 BIND

    BIND 是一款实现DNS服务器的开放源码软件。BIND经历了第4版、第8版和最新的第9版,第9版修正了以前版本的许多错误,并提升了执行时的效能,BIND能够运行在当前大多数的操作系统平台之上。目前BIND软件由Internet软件联

    合会(Internet Software Consortium,ISC)这个非营利性机构负责开发和维护。

    .安装 bind 软件包

    使用yum命令安装bind服务

    yum clean all //安装前先清除缓存
    
    yum install bind* -y
    
    rpm -qa|grep bind

    (2)配置主配置文件 named.conf

    [root@localhost ~]# vim /etc/named.conf

    (3)配置正向解析区域 qftm.com.zone

    [root@localhost ~]# vim /var/named/qftm.com.zone

    (4)配置反向解析区域 2.168.192.in-addr.arpa.zone

    [root@localhost ~]# vim /var/named/2.168.192.in-addr.arpa.zone

    (5)将 /etc/named.comf、正反向区域文件属组有root改为named

    [root@localhost ~]# chgrp named /etc/named.conf
    [root@localhost ~]# chgrp named /var/named/qftm.com.zone
    [root@localhost ~]# chgrp named /var/named/2.168.192.in-addr.arpa.zone

    (6)检查各个配置文件是否正确

    .检查主配置文件 named.conf

    [root@localhost ~]# named-checkconf

    .检查正向解析区域 qftm.com.zone

    [root@localhost ~]# named-checkzone "qftm.com" /var/named/qftm.com.zone

    .检查反向解析区域 2.168.192.in-addr.arpa.zone

    (7)重启 DNS 服务

    [root@localhost ~]# systemctl restart named

    (8)在Linux客户端测试配置效果

    [root@localhost ~]# nslookup
    > server                                         //查询DNS服务器地址
    Default server: 192.168.2.129
    Address: 192.168.2.129#53
    > dns.qftm.com                              //解析dns.qftm.com
    Server:         192.168.2.129
    Address:        192.168.2.129#53
    
    Name:   dns.qftm.com
    Address: 192.168.2.129
    > blog.qftm.com                            //解析blog.qftm.com
    Server:         192.168.2.129
    Address:        192.168.2.129#53
    
    Name:   blog.qftm.com
    Address: 192.168.2.111
    > 192.168.2.129                           //反向解析192.168.2.129
    Server:         192.168.2.129
    Address:        192.168.2.129#53
    
    129.2.168.192.in-addr.arpa      name = dns.qftm.com.
    > 192.168.2.111                         //反向解析192.168.2.111
    Server:         192.168.2.129
    Address:        192.168.2.129#53
    
    111.2.168.192.in-addr.arpa      name = blog.qftm.com.
    > exit                                        //退出测试
    
    [root@localhost ~]#

    3、辅助 DNS 服务器配置

    (1)辅助域名服务器

    .DNS划分若干区域进行管理,每个区域由一个或多个域名服务器负责解析。对于存在多个域名服务器的区域,必须选择一台主域名服务器(master),保存并管理整个区域的信息,其他服务器称为辅助域名服务器(slave)。

    .管理区域时,使用辅助域名服务器有如下几点好处:

      ① 辅助DNS服务器提供区域冗余,能够在该区域的主服务器停止响应时为客户端解析该区域的DNS名称。

      ② 创建辅助DNS服务器可以减少DNS网络通信量。采用分布式结构,在低速广域网链路中添加DNS服务器能有效地管理和减少网络通信量。

      ③ 辅助服务器可以用于减少区域的主服务器的负载。

    (2)区域传输

    .为了保证DNS数据相同,所有服务器必须进行数据同步,辅助域名服务器从主域名服务器获得区域副本,这个过程称为区域传输。

    .区域传输存在两种方式:完全区域传输(AXFR)和增量区域传输(IXFR)。

    .满足发生区域传输的条件时,辅助域名服务器向主服务器发送查询请求,更新其区域文件。   

    .区域传输过程:

     

    ① 区域传输初始阶段,辅助服务器向主DNS服务器发送完全区域传输(AXFR)请求。

    ② 主服务器做出响应,并将此区域完全传输到辅助服务器。该区域传输时会一并发送SOA资源记录。SOA中“序列号”(serial) 字段表示区域数据的版本,“刷新时间”(refresh)指出辅助服务器下一次发送查询请求的时间间隔。

    ③ 刷新间隔到期时,辅助服务器使用SOA查询来请求从主服务器续订此区域。

    ④ 主域名服务器应答其SOA记录的查询。该响应包括主服务器中该区域的当前序列号版本。

    ⑤ 辅助服务器检查响应中的SOA记录的序列号,并确定续订该区域的方法,如果辅助服务器确认区域文件已经更改,则它会把IXFR查询发送到主服务器。若SOA响应中的序列号等于其当前的本地序列号,那么两个服务器区域数据都相同,并且不需要区域传输。然后,辅助服务器根据主服务器SOA响应中的该字段值重新设置其刷新时间,续订该区域。如果SOA响应中的序列号值比其当前本地序列号要高,则可以确定此区域己更新并需要传输。

    ⑥ 主服务器通过区域的增量传输或完全传输做出响应。如果主服务器可以保存修改的资源记录的历史记录,则它可以通过增量区域传输(IXFR) 做出应答。如果主服务器不支持增量传输或没有区域变化的历史记录,则它可以通过完全区域传输(AXFR)做出应答。

    (3)配置辅助域名服务器

    .DNS 服务器IP地址配置

    .安装 bind 软件包

    使用yum命令安装bind服务

    yum clean all //安装前先清除缓存
    
    yum install bind* -y
    
    rpm -qa|grep bind

    .配置主配置文件 named.conf

    [root@localhost ~]# vim /etc/named.conf
     

    PS:辅助DNS服务器只需要设置主配置文件,正反向区域解析文件会在辅助DNS服务器设置完成主配置文件重启DNS服务时又主DNS服务器同步到辅助DNS服务器。只不过路径是/var/named/slaves而已。

    .数据同步测试

    ① 重启辅助服务器named服务,使其与主域名服务器数据同步,然后我们在主域名服务器上执行tail命令查看系统日志,辅助域名服务器通过完整无缺区域复制(AXFR)获取qftm.com区域数据。

     

    ② 通过ls命令查看辅助域名服务器/var/named/slaves目录下是否存在qftm.com区域文件,若存在说明复制成功。

    PS:配置区域复制时主DNS服务器和辅助DNS服务器一定要关闭防火墙

    ③ 在客户端测试辅助DNS服务器

    [root@localhost ~]# nslookup
    > server
    Default server: 192.168.2.128
    Address: 192.168.2.128#53
    > www.qftm.com
    Server:         192.168.2.128
    Address:        192.168.2.128#53
    
    Name:   www.qftm.com
    Address: 192.168.2.100
    > dns.qftm.com
    Server:         192.168.2.128
    Address:        192.168.2.128#53
    
    Name:   dns.qftm.com
    Address: 192.168.2.129
    > 192.168.2.100
    Server:         192.168.2.128
    Address:        192.168.2.128#53
    
    100.2.168.192.in-addr.arpa      name = www.qftm.com.
    > 192.168.2.129
    Server:         192.168.2.128
    Address:        192.168.2.128#53
    
    129.2.168.192.in-addr.arpa      name = dns.qftm.com.
    > exit
    
    [root@localhost ~]#
  • 相关阅读:
    HTTP状态码
    python 连接 MySQL 数据库
    JS事件基础和绑定
    7月13号:2D的转换和过渡,动画效果设置
    JS事件流
    7月14日:JS的基础语法
    JS对表单的操作
    7月16日:DOM总结
    DOM样式表
    7月9号
  • 原文地址:https://www.cnblogs.com/qftm/p/10851741.html
Copyright © 2011-2022 走看看