1、 主从复制

    /etc/resolv.conf

    nameserver MASTER_DNS_IP:只要主DNS不当机,就一直使用这个DNS服务

    nameserver SLAVE_DNS_IP

    

    主:bind版本可以低于从的,


向区域中添加从服务器的关键:

         在上级获得授权

         在区域数据文件中为从服务器添加一条NS记录和对应的A或PTR记录

1、在主DNS服务器上区域数据文件中添加wKioL1X_t6KBxZkMAAFCnUAOk-w169.jpg

wKioL1X_yfPhQg0dAAEkLjtJKxM482.jpg


2、在从DNS服务器上主配置文件中添加一个区域

wKioL1X_ygSC78MEAAD-_RNepc4973.jpg#定义区域数据文件保存的位置


注意:从服务器第一次配置好后会从自动主服务上同步区域数据文件

      然后按SOA中定义好的每隔多久后检查一次更新也可以在更改主DNS服务器后,通过更改SOA中序列号来通知从服务器立刻更新区域数据文件,主DNS服务器加载配置文件后才会开始通知

[root@BAIYU_110 slaves]# ls /var/named/slaves/
magelinux.com.zone
[root@BAIYU_110 slaves]# dig -t A www.magelinux.com @192.168.100.110

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6 <<>> -t A www.magelinux.com @192.168.100.110
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 8455
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;www.magelinux.com.             IN      A

;; ANSWER SECTION:
www.magelinux.com.      6000    IN      A       192.168.100.22

;; AUTHORITY SECTION:
magelinux.com.          6000    IN      NS      dns2.magelinux.com.
magelinux.com.          6000    IN      NS      sbsb.magelinux.com.

;; ADDITIONAL SECTION:
sbsb.magelinux.com.     6000    IN      A       192.168.100.20
dns2.magelinux.com.     6000    IN      A       192.168.100.23

;; Query time: 0 msec
;; SERVER: 192.168.100.110#53(192.168.100.110)
;; WHEN: Mon Sep 21 15:51:58 2015
;; MSG SIZE  rcvd: 121
[root@BAIYU_110 slaves]# dig -x 192.168.100.28 @192.168.100.110

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6 <<>> -x 192.168.100.28 @192.168.100.110
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 31649
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;28.100.168.192.in-addr.arpa.   IN      PTR

;; ANSWER SECTION:
28.100.168.192.in-addr.arpa. 6000 IN    PTR     iimg.magelinux.com.

;; AUTHORITY SECTION:
100.168.192.in-addr.arpa. 6000  IN      NS      dns2.magelinux.com.
100.168.192.in-addr.arpa. 6000  IN      NS      sbsb.magelinux.com.

;; ADDITIONAL SECTION:
sbsb.magelinux.com.     6000    IN      A       192.168.100.20
dns2.magelinux.com.     6000    IN      A       192.168.100.110

;; Query time: 0 msec
;; SERVER: 192.168.100.110#53(192.168.100.110)
;; WHEN: Mon Sep 21 17:08:26 2015
;; MSG SIZE  rcvd: 147


区域传送安全控制:

      在定义区域的主配置文件中对要限制的相应的区域添加:

               allow-transfer { 允许同步的IP; };

                 allow-update { none; }不允许传送(就是不允许别的机器同步本机上的相应的区域资源文件

用dig模拟完全区域传送:

         dig -t axfr 区域名称 @server



rndc:Remote Name Domain Controller

     远程管理BIND的工具

     rndc:密钥

          rndc:持有一半密钥,保存于rndc的配置文件中

          BIND:持有一半密钥,保存于主配置文件中

     rndc的配置文件/etc/rndc.conf

         CentOS,RHEL:密钥文件/etc/rndc.key

     

     rndc:

          reload

          reload zone

          reconfig:重读配置文件并加载新增的区域

          querylog:关闭或开启查询日志 

          flush:清空服务器的缓存

          flushname nam;清空指定名称的区域


          trace:打开debuf,debug有级别的概念,每执行一次提升一次级别

          trace Leve了:指定debug的级别


如果rndc无法正常工作,可尝试使用rndc-confgen生成/etc/rndc.conf配置文件,并将配置文件后半部分复制到BIND的主配置文件中并按指示启用即可




二、bind子域授权

在父域的配置文件中添加如下项:

      授权的子区域名称

      子区域的名称

      子区域的名称服务器的IP地址


1、在DNS服务器区域资源记录上添加一条子区域记录和对应的A记录


wKioL1X_6dby55bpAAHPAsMOou8457.jpg


2、在子域DNS服务器上配置主配置文件,添加区域wKiom1X_7l2CGco6AABe5x-vpro221.jpg


3、在子域DNS服务器上创建区域资源记录文件

wKioL1X_8WSSkPpJAADVB8ktDqw775.jpg

[root@localhost named]# dig -t NS tech.magelinux.com @192.168.100.30 

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6_7.4 <<>> -t NS tech.magelinux.com @192.168.100.30
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 56350
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; QUESTION SECTION:
;tech.magelinux.com.            IN      NS

;; ANSWER SECTION:
tech.magelinux.com.     600     IN      NS      dns.tech.magelinux.com.

;; ADDITIONAL SECTION:
dns.tech.magelinux.com. 600     IN      A       192.168.100.30

;; Query time: 1 msec
;; SERVER: 192.168.100.30#53(192.168.100.30)
;; WHEN: Sun Sep 20 12:39:24 2015
;; MSG SIZE  rcvd: 70

[root@localhost named]# dig -t A WWW.tech.magelinux.com @192.168.100.30   

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6_7.4 <<>> -t A WWW.tech.magelinux.com @192.168.100.30
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43160
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:
;WWW.tech.magelinux.com.                IN      A

;; ANSWER SECTION:
WWW.tech.magelinux.com. 600     IN      A       192.168.100.31

;; AUTHORITY SECTION:
tech.magelinux.com.     600     IN      NS      dns.tech.magelinux.com.

;; ADDITIONAL SECTION:
dns.tech.magelinux.com. 600     IN      A       192.168.100.30

;; Query time: 0 msec
;; SERVER: 192.168.100.30#53(192.168.100.30)
;; WHEN: Sun Sep 20 12:39:39 2015
;; MSG SIZE  rcvd: 90

[root@localhost named]# dig -t A WWW.magelinux.com @192.168.100.30  #此时子域不能解析父域,而父域可以解析子域    
^C[root@localhost named]#


三、区域转发:转发域

    # 反向解析转发这里没说以后学习

     转发非本机负责解析的所有区域

      options{

        forward only|frist

        forwarders{ ip; }

       }

      转发某特定区域

       zone"特定区域" IN{

       type forward;

        forwarders{ ip; }

        forward only|frist

       }

       转发必须对方服务器支持递归



  解析某本机不负责的区域内的名称时不转发给根,而是转给指定主机:

   zone "ZONENAME" IN {               #在子域中配置,只转发一个区域

         type forward;

          forwarders { DNS_SERVER; };

          forward only|first;   #转发服务器不应答也不找根|不应答就找根

    };


 在主配置文件的全局选项options添加:

     forward first;

     forwarders {192.168.100.7; };

 表示转发所有的域,除了已经定义好的域


    wKiom1X_967R9k8nAABvrtlRtns580.jpg

[root@localhost named]# dig -t A www.magelinux.com @192.168.100.30

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6_7.4 <<>> -t A www.magelinux.com @192.168.100.30
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 40147
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
      # 现在可以解析父域了,因为是转发的,所以这里是非权威解答
;; QUESTION SECTION:
;www.magelinux.com.             IN      A

;; ANSWER SECTION:
www.magelinux.com.      5915    IN      A       192.168.100.22

;; AUTHORITY SECTION:
magelinux.com.          5915    IN      NS      dns2.magelinux.com.
magelinux.com.          5915    IN      NS      sbsb.magelinux.com.

;; ADDITIONAL SECTION:
dns2.magelinux.com.     5915    IN      A       192.168.100.110
sbsb.magelinux.com.     5915    IN      A       192.168.100.20

;; Query time: 0 msec
;; SERVER: 192.168.100.30#53(192.168.100.30)
;; WHEN: Sun Sep 20 13:15:03 2015
;; MSG SIZE  rcvd: 121



四、DNS安全控制选项

   allow-transfer {};  允许转发主机,通常需要启用

    allow-query {};  允许查询的主机

                   此项通常仅用于服务器是缓存名称服务器,只开放查询给本地客户端

    allow-recursion {}; 定义递归白名单

    allow-update { none; }; 定义允许动态更新区域数据文件的主机白名单


ACL:bind支持使用访问控制列表

   acl ACL_NAME {

       192.16.0.0/16;

       192.168.0.0/24;

       127.0.0.0/8;

};

访问控制列表只有定义后才能使用,通常acl要定义在named.conf的最上方


bind有4个内置的ACL:

     any:任何主机

     none:无一主机

     local:本机

     localnet:本机所在的网段




有点乱,以后有时间再整理了,,,,,,,,,,,,,,