DNS Server 子域的授权

场景:
   父域:yayu.com DNS Server: linux.yayu.com (主) 和
mysql.yayu.com (从) linux.yayu.com 192.168.106.3
mysql.yayu.com 192.168.106.4
   我们现在想让我们的父域yayu.com下创建两个子域:
1 tech.yayu.com DNS主机 ns.tech.yayu.com 192.168.106.4
    www.tech.yayu.com 192.168.106.5
    ftp.tech.yayu.com 192.168.106.6
2 market.yayu.com DNS主机 ns.market.yayu.com 192.168.106.5
    www.market.yayu.com
    ftp.makrket.yayu.com
 
以上的概念大家能够理解吧?,也就是说我们的父域中有一台管理父域域名解析的服务器linux.yayu.com(这个父域的DNS服务器也是有FQDN的),让它在下面分两个tech.yayu.com  market.yayu.com,其中给管理tech.yayu.com的DNS服务器是ns.tech.yayu.com而管理market.yayu.com的DNS服务器是ns.market.yayu.com
 
下面我就讲讲如何在父域中解析授权的,这里我们只讲正向授权,而反方向的是很麻烦的。不过在做之前,我想让大家考虑一个问题,我们的子域中有多台服务器,那么我们在父域的记录文件中要写几个NS记录呢?答案是每个都要写上! 下面只演示tech.yayu.com 的授权
 
服务器上配置ns.tech.yayu.com 192.168.106.4先在父域的DNS服务器上配置一条对tech.yayu.com的声明至于父域yayu.com这么配,前面的blog已经讲明了,这里就不介绍了
 
linux.yayu.com 这台DNS服务器上 ,先在主域名服务器上授权配置文件/etc/named.conf不用修改,只要在正向解析的记录文件var/named/yayu.com.zone中 声明对子域的记录
]#vim /var/named/yayu.com.zone
$TTL 86400
$ORIGIN yayu.com.
@     IN    SOA linux.yayu.com. yayu89.yayu.com. (
               2011112312 ;
                 3H        ;  
                15M        ;  
                 1W        ;  
                 1D        ;  
                  )  
      IN    NS    linux
      IN    NS    mysql
      IN    MX 10 mail1
      IN    MX 20 mail2
linux IN    A     192.168.106.3
mysql IN    A     192.168.106.4
www   IN    A     192.168.106.3
www   IN    A     192.168.106.6
mail2 IN    A     192.168.106.4
mail1 IN    A     192.168.106.3
ftp   IN    A     172.16.4.2
bbs   IN    A     192.168.106.7
pop3 IN    A     192.168.106.8
samba IN    A     192.168.106.9
 
tech       IN    NS   ns.tech
ns.tech    IN    A   192.168.106.4 这是我们要添加的内容,注意每一个NS记录要对应一个
market     IN    NS   ns.market     A记录,并且如果子域中有多个服务器,每个服务器的
ns.market IN    A   192.168.106.5 的都要写上
]#rndc reload
 
我们到子域的DNS服务器 ns.tech.yayu.com 192.168.106.4
 
]#yum install bind
bind is already installed 我们这里的bind 和rndc已经是配好的,
    如果有同学不清楚怎么安装,可以看我前面DNS的blog
]#vim /etc/named.conf
//
options {
    directory "/var/named";
    version "1.1";
};
 
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 "tech.yayu.com" IN {
      type master;
      file "tech.yayu.com.zone";
};
 
key "rndckey" {
        algorithm hmac-md5;
        secret "Jsdl0CqTy/XDjXx+svb2tA==";
};
 
controls {
        inet 127.0.0.1 port 953
                allow { 127.0.0.1; } keys { "rndckey"; };
};
]#vim tech.yayu.com.zone
$TTL 86400
$ORIGIN tech.yayu.com.
@     IN    SOA   ns.tech.yayu.com. yayu89_3_2.hotmail.com. (
                      2011112401
                      3H
                      5M
                      1W
                      1D
                      )
      IN    NS    ns.tech.yayu.com.
ns    IN    A     192.168.106.3
ftp   IN    A     192.168.106.6
www   IN    A     192.168.106.5
]#named-checkconf
]#named-checkzone "tech.yayu.com" tech.yayu.com.zone
OK
]#rndc reload
]vim /etc/resolv.conf
nameserver 192.168.106.4
]#dig -t NS tech.yayu.com     
]#dig -t A www.tech.yayu.com   我们查处结果后会发现有:
 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
   其中flags: aa 表示权威记录,也就是说是我自己给你解析的
 
这时我们在切换成到父域DNS服务器linux.yayu.com 192.168.106.3上
]#dig -t NS tech.yayu.com
 这时我们查询到结果,不过有一条
 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
 这里的flags: 中没有aa说明这是一个非权威答案,表示这条记录不是我解析出来的
 
至此我们的子域授权也就完成了!
不过我想给大家一个思考,就是我们在子域的DNS服务器上
]#dig –t NS yayu.com 能查询的到吗?
呵呵! 这就要引出下面要讲的内容forward区域!