DNS子域授权,区域传送

dig 命令

    +recurse  递归查询 默认
    +norecurse 不递归查询
  dig +recurse  -t A   www.baidu.com @127.0.0.1
  dig  -t axfr  test.com
   dig +trace -t  NS test.com  显示请求过程

/etc/named.conf

  options选项中
   allow-recursion { 192.168.136.0/24; }  给指定网段递归
   allow-query  {}                    定义某些人查询,不常用
   allow-transfer { }  表示允许某些主机传送,也可以填写到区域内,允许某些区域允许某些主 机传送
     allow-transfer { none; } 拒绝传送
       masters { 192.168.136.135; }      定义 主服务器
       notify    yes   如果修改通从服务器知传送
       forward  first/only  only只接受请求NS的结果,firstNS不给答案,自己请求
       forwarders {  } 请求转发的NS的IP    也可以填写到指定的域中,只转发指定的域
    

axfr完全区域传送
ixfr 增量区域传送

主服务器/etc/named.conf添加配置

zone "test.com." IN {              //正向主区域文件配置

type master;                   //定义本机为主服务器     
file "test.com.conf";
allow-transfer { 192.168.136.131; }; //允许哪台主机进行区域传送

};

zone "136.168.192.in-addr.arpa" IN { //反向区域配置
        type  slave;                //定义本机为从服务器
        masters { 192.168.136.131; }; //定义从哪个主服务器上同步数据
        file  "slaves/136.168.192.zone"; //区域数据文件的位置,注意:目录的权限named一定要可读。

};
   

另外从服务器上面的区域数据/var/named/test.com.conf 文件,要添加从服务器的NS记录

  

@   IN    NS    NS2                      //添加从服务器的NS记录
         
ns2    IN   A  192.168.136.131            //添加从服务器的A记录   

 从服务器/etc/named.conf配置

zone "test.com." IN {
        type slave;                                   //定义为 test.com.域的从服务器
        masters { 192.168.136.135; };                //定义主服务器IP
        file "slaves/test.com.conf";                //权限named可读,否则无法同步
};

zone "136.168.192.in-addr.arpa" IN {        //定义方向区域的的主服务器
        type master;
        file "136.168.192.zone";
        allow-transfer { 192.168.136.135; };
};

配置完成后查看日志看是否配置成功/var/log/messages

  

Jul 22 21:43:40 localhost named[4039]: transfer of 'test.com/IN' from 192.168.136.135#53: Transfer completed: 1 messages, 12 records, 288 bytes, 0.003 secs (96000 bytes/sec)
Jul 22 21:43:40 localhost named[4039]: zone test.com/IN: sending notifies (serial 2016)




注意:每次修改添加删除配置中的记录时,  serial加一,方便从服务器获得数据,重新加载reload或者重启


rndc命令

  rndc-confgen>/etc/rndc.conf    //生成rndc配置文件

  -c  指定配置文件
   远程执行 RNDC需要有远程的rndc.conf配置文件


子域授权

  在test.com区域内加,fin.test.com 子域
      先在主NS服务器上配置/var/named/tets.com.conf添加一条NS记录和A记录

fin   IN    NS    ns1.fin

ns1.fin  IN  A  192.168.136.131

然后在192.168.136.131上面配置区域文件和区域数据文件

区域文件配置

zone "fin.test.com." IN {
        type master;
        file "fin.test.com";
}

配置区域数据文件/etc/named/fin/test.com

$ORIGIN .
$TTL 60 ; 1 minute
fin.test.com            IN SOA  ns1.fin.test.com. admin.fin.test.com. (
                                2016       ; serial
                                864000     ; refresh (1 week 3 days)
                                432000     ; retry (5 days)
                                300        ; expire (5 minutes)
                                3600       ; minimum (1 hour)
                                )
                        NS      ns1.fin.test.com.
$ORIGIN fin.test.com.
ns1                     A       192.168.136.131
www                     A       192.168.136.135

测试成功

[root@localhost named]# dig -t A www.fin.test.com @192.168.136.135

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> -t A www.fin.test.com @192.168.136.135
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 13951
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:
;www.fin.test.com.              IN      A

;; ANSWER SECTION:
www.fin.test.com.       60      IN      A       192.168.136.135

注意:selinux  防火墙 的关闭。

  

原文地址:https://www.cnblogs.com/kankanhua/p/4668757.html