DNS子域授权描述:
DNS服务器不仅可以为属于本域的客户端用户提供解析服务,也可以授权给某个域,让其也可以提供相应的DNS解析服务,称为子域授权。
假如本地的DNS服务域为magedu.com,对应的服务器IP地址为172.16.24.1,要为其建立子域委派,两个子域分别为tech.magedu.com和market.magedu.com,
对应的子域服务器IP地址分别为172.16.24.6、172.16.24.7.
注:父域为某一个域授权,被授权的域就称为子域,子域和父域可以不在同一个网段内。
此文档只介绍正向的子域委派,反向的暂不介绍!

1.首先配置好yum源,安装配置DNS服务,先在DNS服务器172.16.24.1上配置
#yum install bind -y
#yum install caching-nameserver
#vim /etc/named.conf
acl ourslaves {               --为主DNS服务器定义访问控制
        127.0.0.1;
        172.16.24.100;
};
acl ourclients {              --为主DNS服务器定义客户端访问控制
        172.16.0.0/16;
        127.0.0.0/8;
};
options {
      directory "/var/named";
      statistics-file "/var/named/data/stats";
      listen-on { 127.0.0.1;172.16.24.1; }; 
      allow-recursion { ourclients; };       --只允许为ourclients中定义的网络进行递归查询
};
zone "." IN {
      type hint;
      file "named.ca";
};
zone "localhost" IN {
      type master;
      file "localhost.zone";
};
zone "0.0.127.in-addr.arpa" IN {
      type master;
      file "named.local";
};
zone "magedu.com" IN {
      type master;  
      file "magedu.com.zone";
      allow-transfer { ourslaves; };
};
zone "16.172.in-addr.arpa" IN {
       type master;
       file "16.172.zone";
};
保存退出
#cd /var/named
#dig -t NS . > named.ca
#vim localhost.zone
$TTL 600
@          IN       SOA     localhost.     admin.localhost. (
                   2012032903
                     1H
                     10M
                     1W
                     1D )
           IN     NS     localhost.
localhost. IN          A      127.0.0.1
#vim named.local
$TTL 600
@          IN        SOA     localhost.     admin.localhost. (
                   2012032903
                      1H
                      10M
                      1W
                      1D )
           IN         NS     localhost.
1          IN         PTR    localhost.
#vim magedu.com.zone
$TLL 600
$ORIGIN magedu.com
@        IN          SOA     ns.magedu.com.    admin.magedu.com. (
                    2012032903
                      1H
                      10M
                      1W
                      1D )
          IN           NS          ns
ns        IN           A           172.16.24.1
www       IN           A           172.16.24.1
tech      IN           NS          ns.tech
ns.tech   IN           A           172.16.24.6
market    IN           NS          ns.market
ns.market IN           A           172.16.24.7
保存退出
#vim 16.172.zone
$TTL 600
@         IN         SOA      ns.magedu.com.   admin.magedu.com. (
                    2012032903
                       1H
                       10M
                       1W
                       1D )
          IN             NS       ns
1.24      IN             PTR      ns.magedu.com.
1.24      IN             PTR      www.magedu.com.
保存退出
#cd /var/named
#chown :named /etc/named.conf /var/named/*
#rndc-confgen > /etc/rndc.conf
#vim /etc/rndc.conf
切换到末行模式
:.,$w >> /etc/named.conf     --将匹配到的内容追加到/etc/named.conf配置文件中
#vim  /etc/named.conf
key "rndckey" {
        algorithm hmac-md5;
        secret "r4/EjP11twaGz0bwFKEBRg==";
};

controls {
        inet 127.0.0.1 port 953
                allow { 127.0.0.1; } keys { "rndckey"; };
 };

将以上信息所在行首的#去掉即可
保存退出

2.然后在tech.magedu.com子域服务器172.16.24.6上配置
配置好yum源,安装配置DNS服务相关软件和文件
#yum install bind -y
#yum install caching-nameserver
#vim /etc/named.conf
options {
      directory "/var/named";
};
zone "." IN {
      type hint;
      file "named.ca";
};
zone "localhost" IN {
      type master;
      file "localhost.zone";
      allow-transfer { none; };
};
zone "0.0.127.in-addr.arpa" IN {
      type master;
      file "named.local";
      allow-transfer { none; };
     
};
zone "tech.magedu.com" IN {
      type master;
      file "tech.zone";
};
#cd /var/named
#dig -t NS . > named.ca
#vim localhost.zone
$TTL 600
@          IN       SOA     localhost.     admin.localhost. (
                   2012032903
                     1H
                     10M
                     1W
                     1D )
           IN     NS     localhost.
localhost. IN          A      127.0.0.1
#vim named.local
$TTL 600
@          IN        SOA     localhost.     admin.localhost. (
                   2012032903
                      1H
                      10M
                      1W
                      1D )
           IN         NS     localhost.
1          IN         PTR    localhost.
#chown :named /etc/named.conf /var/named/*
#rndc-confgen > /etc/rndc.conf
#vim /etc/rndc.conf
切换到末行模式
:.,$w >> /etc/named.conf     --将匹配到的内容追加到/etc/named.conf配置文件中
#vim  /etc/named.conf
key "rndckey" {
        algorithm hmac-md5;
        secret "r4/EjP11twaGz0bwFKEBRg==";
};

controls {
        inet 127.0.0.1 port 953
                allow { 127.0.0.1; } keys { "rndckey"; };
 };

将以上信息所在行首的#去掉即可
保存退出
#cd /var/named
#vim tech.zone
$TTL 600
$ORIGIN tech.magedu.com.
@        IN          SOA         ns.tech.magedu.com.   admin.tech.magedu.com. (
                       2012032901
                         1H
                         10M
                         1W
                         1D )
         IN        NS          ns
ns       IN        A           172.16.24.6
www      IN        A           172.16.24.200
保存退出
#rndc reload
然后就可以进行测试了
首先在父域服务器上进行测试,让其解析子域服务器的IP地址
#dig -t NS tech.magedu.com@172.16.24.1     在不出错的情况下,会解析成功,出现如下一条记录(这里只列出一条)
ns.tech.magedu.com.   600    IN     A      172.16.24.6

然后再在子域服务器上进行测试,让其解析父域的IP地址
#dig -t NS magedu.com   此时将解析不出父域的DSN服务器IP地址,因为子域是不知道父域所在的DNS服务器IP地址的,如果想让子域也可以解析父域的DNS服务器,可以在子域服务器上定义转发机制。

在子域服务器上进行定义:
#vim /etc/named.conf   在其中添加一个zone即可
zone "magedu.com" IN {
       type forward;
       forwarders { 172.16.24.1; };    --此IP地址是父域服务器的DNS服务器地址
};
保存退出
#rndc reload
再在子域服务器上对父域的DNS服务进行解析
#dig -t NS magedu.com
此时既可以成功解析父域的DNS服务器IP地址
3.在market.magedu.com子域服务器172.16.24.7上的配置与在tech.magedu.com子域服务器172.16.24.6上的配置是一样的,
这里不再赘述。


注:不足之处,请多多指出!