前几天贴的博客上没有子域授权的实验,这里补上。


子域授权的概念:

         在原有的域上再划分出一个小的区域并指定新DNS服务器。在这个小的区域中如果有客户端请求解析,则只要找新的子DNS服务器。这样的做的好处可以减轻主DNS的压力,也有利于管理。一般做正向区域的子域授权即可。

 

正向解析区域子域方法:

假设父域stu13.com,子域是ops.stu13.com,子域内有2台名称服务器ns1

要注意在父域定义好子域的ns1A记录,不然子域不知道如何去×××器。

例如:

         ops.stu13.com.                 IN     NS    ns1.ops.stu13.com.

         ns1.ops.stu13.com.         IN     A       192.168.2.100

                 

注意:子域和父域的域名服务器可以不在同一个网络内,只要彼此能通信即可。

2. 定义转发服务器【2种方式】

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

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

                   Options {

                            forward{first|only}

                            forwarders{IP_address ; };

                   }

 

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

                   zone"ZONE_NAME" IN  {

                            typeforward;

                            forward{first|only}

                            forwarders{IP_address ; };

                   }

 

#说明:

         first表示先转发指定的区域服务器,如果没结果再去找根。

         only是只转发给指定的区域服务器,有没有结果,都不会去找根。

 

注意:配置子域授权时候,需要关闭dnssec功能,即设置:

         dnssec-enableno;

         dnssec-validationno;


下面正式开始配置

环境搭建:

Server1:192.168.2.7父域

Server2:192.168.2.12子域

 

父域的DNS配置:(192.168.2.7上)

步骤概要:将其配置成缓存服务器,关闭dnssec,添加本区域,编写本区域解析库文件(其中要加入子域的NS记录、A记录)

 

vi /etc/named.conf 修改如下:

options {

// listen-on port 53 { 127.0.0.1; };

// listen-on-v6 port 53 { ::1; };

    directory  "/var/named";

    dump-file   "/var/named/data/cache_dump.db";

        statistics-file"/var/named/data/named_stats.txt";

        memstatistics-file"/var/named/data/named_mem_stats.txt";

// allow-query     { localhost; };

    recursion yes;

 

         dnssec-enable no;                      //改为no

         dnssec-validation no;                //改为no

//  dnssec-lookasideauto;              //注释掉这句

 

    /* Path to ISC DLV key */

// bindkeys-file "/etc/named.iscdlv.key";

 

// managed-keys-directory "/var/named/dynamic";

};

 

logging {

        channel default_debug{

                file"data/named.run";

                severitydynamic;

        };

};

 

 

zone "." IN {

    type hint;

    file "named.ca";

};

 

include "/etc/named.rfc1912.zones";

include "/etc/named.root.key";

 

service named start

 

vi /etc/named.rfc1912.zones,在最后添加如下4行内容

zone "stu13.com" IN {

         typemaster;

         file"stu13.com.zone";

};

 

cd /var/named

 

vi stu13.com.zone内容如下:【注意FQDN中的注意点号

$TTL 1D

$ORIGIN stu13.com.

@     IN     SOA  ns1.stu13.com.        admin.stu13.com. (

                                                                 2015093212

                                                                  1M

                                                                 5M

                                                                 1H

                                                                 1D)

 

               IN     NS    ns1

               IN     NS    ns2

ns1            IN     A     192.168.2.7

ns2            IN     A     192.168.2.8

www            IN     A     192.168.2.7

*              IN     A     192.168.2.7     ;加了一条泛域名解析记录

 

;下面加的两条是子域授权要用到的,否则父域找不到子域

ops      IN      NS       ns1.ops

ns1.ops  IN      A        192.168.2.12  ; 子域的dns地址


named-checkzone"stu13.com"  stu13.com.zone              # 检查区域文件


# 修改区域配置文件的权限

chown .named stu13.com.zone

chmod 640 stu13.com.zone

 

service named restart    #重启dns服务

 

子域的DNS配置:(192.168.2.12上)

步骤概要:将其配置成缓存服务器,关闭dnssec,添加本区域和父区域,编写本区域解析库文件。

 

vi /etc/named.conf # 注释掉下面红色字体部分的代码,使其变成缓存服务器

options {

// listen-on port 53 { 127.0.0.1; };

// listen-on-v6 port 53 { ::1; };

    directory   "/var/named";

    dump-file   "/var/named/data/cache_dump.db";

        statistics-file"/var/named/data/named_stats.txt";

        memstatistics-file"/var/named/data/named_mem_stats.txt";

// allow-query     { localhost; };

    recursion yes;

 

         dnssec-enable no;                      //改为no

         dnssec-validation no;                //改为no

// dnssec-lookaside auto;

 

    /* Path to ISC DLV key */

//  bindkeys-file"/etc/named.iscdlv.key";

 

// managed-keys-directory "/var/named/dynamic";

};

 

logging {

        channel default_debug{

                file"data/named.run";

                severitydynamic;

        };

};

 

 

zone "." IN {

    type hint;

    file "named.ca";

};

 

include "/etc/named.rfc1912.zones";

include "/etc/named.root.key";

 

service named start       #启动named服务

 

vi /etc/named.rfc1912.zones,在最后添加2个区域:

zone "ops.stu13.com" IN {

         type master;

         file"ops.stu13.com.zone";

};

 

//定义转发到父域

zone "stu13.com" IN {

    type forward;

    forwardonly;

   forwarders { 192.168.2.7 ;};

};

 

vi /var/named/ops.stu13.com.zone    写入如下内容:

$TTL 1D

$ORIGIN ops.stu13.com.

@     IN              SOA           ns1.ops.stu13.com.         admin.ops.stu13.com. (

                                                                 2015093201

                                                                 1M

                                                                 5M

                                                                 1H

                                                                 1D )

 

                IN     NS      ns1

ns1             IN     A       192.168.2.12   ;本机地址

www             IN     A       192.168.2.30

*               IN     A       192.168.2.30

 

# 修改区域配置文件的权限

chown .named ops.stu13.com.zone

chmod 640 ops.stu13.com.zone

 

执行rndc reload或者service namedrestart

 

tail/var/log/messages 查看是否有错误提示。


多次执行dig命令检查:

 

# 在父域dns服务器上执行:

dig -t awww.ops.stu13.com @192.168.2.7  父域能正常解析子域

wKioL1YJ9TWQYrT8AAHKiuf3kNc769.jpg


# 在子域dns服务器上执行:

dig -t awww.stu13.com @192.168.2.12         子域能解析父域

wKioL1YJ9TbxJuCkAAG0d9R5W6c797.jpg


说明我们定义的子域、父域配置成功了。