DNS服务器以及子域授权

1、安装bind

     [root@www ~]# yum -y install bind

2、查看安装生成的文件      [root@www ~]# rpm -ql bind | less

3、程序路径     /var/named

4、配置文件路径    /etc/named.conf

          全局配置:options {}

          日志子系统配置:logging {}

          区域定义:本机能够为哪些zone进行解析,就是要定义哪些zone

                         zone “ZONE_NAME” IN {}

备份主配置文件   [root@www named]# cp /etc/named.conf{,.bak}

修改配置文件:

Image.png

然后启动该服务    service named start     查看监听端口    ss -tunlp | grep :53

关闭dnssec   注释掉即可

配置主DNS服务器

     1、在主配置文件中定义区域

               zone “ZONE_NAME” IN {

                         type {master|slave|hint|forward}

                         file “ZONE_NAME.zone”;

};

[root@www named]# vim /etc/named.rfc1912.zones

Image.png

     2、定义区域解析库文件

                    出现的内容: 宏定义   资源记录定义

vim /var/named/security00.com.zone

Image.png

[root@www named]# named-checkconf  //检查主配置文件是否有错

[root@www named]# named-checkzone “security00.com” /var/named/security00.com.zone   //检查指定的zone文件是否有语法错误

修改文件权限

[root@www named]# chmod 640 security00.com.zone

[root@www named]# chown :named security00.com.zone

[root@www named]# service named reload

[root@www named]# rndc status    //查看当前状态

使用dig命令来测试解析配置

[root@www named]# dig -t A www.security00.com @192.168.246.129  //使用本机来解析

测试命令:dig的使用

     dig [-t type] name [@SERVER] [query options]

     dig命令用来测试dns系统,因此,不会查询hosts文件进行解析

     查询选项:

                   +[no]trace:跟踪解析过程

                   +[no]recurse:进行递归解析

                    -x:测试反向解析

                    -axfr:测试区域传送

EXAMPLE: 

          [root@www named]# dig -t A www.security00.com +trace

     

     host命令:

          host [-t type] name [SERVER]

          example:  [root@www named]# host -t A www.security00.com 192.168.246.129

         nslookup命令:

               nslookup [-option] [name | -] [server]

     交互式模式:

          nslookup>

                    server IP:指明使用哪个DNS server进行查询

                    set q = RR_TYPE:指明查询的类型

                    NAME:要查询的名称

反向区域:

     

     区域名称:网络地址反写.in-addr.arpa.

                    192.168.246. –> 246.168.192.in-addr.arpa.

     (1) 定义区域

          zone “ZONE_NAME” IN {

                    type {master | slave | forward};

                    file “网络地址.zone”;

}

[root@www named]# vim /etc/named.rfc1912.zones

Image.png

        (2) 区域解析库文件

               PS:不需要MX 和 A,以及AAA记录,以PTR记录为主

vim  /var/named/192.168.246.zone

Image.png

[root@www named]# named-checkconf  //检查主配置文件是否有错

[root@www named]# named-checkzone “246.168.192.in-addr.arpa” 192.168.246.zone   //检查指定的zone文件是否有语法错误

修改文件权限

[root@www named]# chmod 640 192.168.246.zone

[root@www named]# chown :named 192.168.246.zone

[root@www named]# service named reload

[root@www named]# rndc status    //查看当前状态

通过host来测试反向解析:

[root@www named]# host -t PTR 192.168.246.129 192.168.246.129

通过dig来进行反向解析测试:

[root@www named]# dig -x 192.168.246.131 @192.168.246.129

通过dig来测试区域传送漏洞:

[root@www named]# dig -t axfr security00.com @192.168.246.129

[root@www named]# dig -t axfr 246.168.192.in-addr.arpa @192.168.246.129

主从复制:

     1、应该为一台独立的名称服务器

     2、主服务器的区域解析库文件中必须有一条NS记录是指向从服务器

     3、从服务器只需要定义区域,无须提供解析库文件,解析库文件应该放置于/var/named/slaves/目录中

     4、主服务器应该允许从服务器作区域传送

     5、主从服务器时间应该同步,可通过ntp进行

     6、bind版本程序应该保持一致 否则 应该 从高 主低

     定义区域传送的方法:

          zone “ZONE_NAME” IN {

                   type slave;

                   masters { MASTER_IP; };

                   file “slaves/ZONE_NAME.zone”;

              }; 

     一台独立的服务器,安装bind 然后修改配置文件!

     [root@www named]# vim /etc/named.rfc1912.zones

Image.png

     测试配置文件是否有语法错误

     启动named服务

     rndc reload //重读配置文件

     rndc status  //查看当前状态

Image.png

     配置反向:

     [root@www ~]# vim /etc/named.rfc1912.zones

Image.png

   rndc reload  //重读配置文件

     

     PS:在主服务器在更改完资源库文件之后,记录数需要手动+1,否则从服务器不会同步!

     rndc: tcp/953

          reload: 重载主配置文件和区域解析库文件

          reload zone:只重载区域解析库文件

          retransfer zone:手动启动区域传送过程,不管序列号是否增加

          notify zone:重新对区域传送发通知

          reconfig:重载主配置文件

          querylog:开启/关闭查询日志     日志路径: /var/log/messages

          trace Level:指定debug的开启级别

子域授权 —–    分布式数据库

正向解析区域子域授权方法:

     定义一个子区域: 编辑区域配置文件    

                                 [root@www ~]# vim /var/named/security00.com.zone

Image.png

另一台(192.168.246.130)服务器上编辑资源解析库文件:

                               [root@www ~]# vim /etc/named.rfc1912.zones

Image.png

创建子域的的区域解析库文件:

          [root@www ~]# vim /var/named/test.security00.com.zone

Image.png

执行  rndc reload 重新读取配置文件    

查看日志:  tail  /var/log/message

Image.png

本机查询,查看解析结果:

Image.png

定义转发服务器:

     PS:被转发的服务器需要能够为请求者做递归,否则,转发请求不予进行;

(1) 全局转发:凡是对本机所有负责解析的区域的请求,统统转发给指定的服务器

          Option {

                   forward {first | only}

                   forwarders

             }

编辑配置文件:     [root@www ~]# vim /etc/named.conf

Image.png

(2) 区域转发:仅转发对特定区域的请求至某服务器

              zone “ZONE_NAME” IN {

                         type forward;

                         forward {first | only}

                         forwarders

          }

编辑子域的区域资源库文件:     [root@www named]# vim /etc/named.rfc1912.zones

Image.png

原创文章,作者:lishan,如若转载,请注明出处:http://www.178linux.com/77236

(0)
lishanlishan
上一篇 2017-05-31 08:24
下一篇 2017-05-31 19:32

相关推荐

  • 用户和组的简介

     在第二周的学习中,关于用户和组是一个难点,也是重点,本篇博客则是对用户和组的简单阐述,如有错误或不足还请各位大牛指出,在此谢过! 1、用户 # 1.1用户的定义      通过前面对Linux 多用户的理解,我们明白Linux 是真正意义上的多用户操作系统,所以我们能在Linux系统中建若干用户(…

    Linux干货 2017-07-22
  • ansible

    ansible 安装ansible 查看当前的系统版本 yum install redhat-lsb-core -y [root@localhost httpd]# lsb_release -a LSB Version: :core-4.1-amd64:core-4.1-noarch Distributor ID: CentOS Description: C…

    Linux干货 2017-07-09
  • awk用法三

      6、结构化控制语句     6.1 if语句       格式:if(条件) {body} else {else body}         实例1:判断/etc/passwd文件中的UID如果大于500则显示为“common user”,否则显…

    Linux干货 2016-02-14
  • 逻辑卷小结

    逻辑卷 逻辑卷:把不同大小的物理设备,抽象成一个完整的文件系统,方便对物理设备的管理与应用。 其基本步骤为: 1.将指定的设备设置为物理卷     物理卷是指定大小的固定得物理区域 2.用一个或者多个物理卷创建一个卷组 3.创建逻辑卷     在物理卷上创建的逻辑卷由物理区域组成…

    Linux干货 2016-09-01
  • LVS负载均衡WordPress

    LVS:        LVS是四层协议的开源负载均衡器,工作在netfilter框架INPUT链中,它根据不同的算        法将用户的请求调度给后端服务器,它不受sockt套接字文件限制,性能比nginx七层       …

    Linux干货 2017-05-18
  • 马哥教育网络班22期+第5周课程练习

    1、显示当前系统上root、fedora或user1用户的默认shell; [root@rhel677850 ~]# grep "^\(root\|fedora\|user1\)" /etc/passwd|awk -F: '{print $1,$7}&#039…

    Linux干货 2016-09-26