大家好,今天51开源接着给大家介绍DNS子域委派是怎么配置的。那么什么是子域委派呢,其实没什么复杂,就是将子域的查询工作交给子域的DNS服务器。我以一个案例说明,大家能明白得更好。
案例:假如现有父域51osos.com,DNS服务器地址为192.168.1.2,其下面有一子域为sub.51osos.com,现想将sub.51osos.com的查询解析工作交给委派给子域的DNS服务器192.168.1.200。那么怎么实现呢,可能有人看过本站我的其他关于DNS配置的文章,想到用forward来定义,其实不需要这么做。具体实现如下:
一、 配置sub.51osos.com的DNS服务器
安装bind这里不详述了,本站有详细文章介绍。
#rpm bind-9.3.6-4.P1.e15
#rpm caching-nameserver-9.3.6-4.P1.e15
#rpm bind-chroot--9.3.6-4.P1.e15
--修改配置文件
#vi /var/named/chroot/etc/named.conf
options {
directory “/var/named”;
recursion yes;
allow recursion {192.168.1.0/;};
}
zone “sub.51osos.com” {
type master;
file “sub.51osos.zone”;
allow-updata {none;};
};
#vi /var/named/chroot/var/named/sub.51osos.zone
$TTL
$ORIGIN sub.51osos.com.
sub.51osos.com. IN SOA ns.sub.51osos.com. admin.sub.51osos.com. (
1H
10M
1W
1D)
@ IN NS ns.sub.51osos.com.
ns.51osos.com. IN A 192.168.1.200
www.sub.51osos.com. IN A 192.168.1.200
--启动服务
#service named start
二、配置51osos.com的DNS服务器
#rpm bind-9.3.6-4.P1.e15
#rpm caching-nameserver-9.3.6-4.P1.e15
#rpm bind-chroot--9.3.6-4.P1.e15
#vi /var/named/chroot/etc/named.conf
options {
directory “/var/named”;
recursion yes;
allow recursion {192.168.1.0/;};
}
zone “51osos.com” {
type master;
file “51osos.zone”;
allow-updata {none;};
};
#vi /var/named/chroot/var/named/51osos.zone
$TTL
$ORIGIN 51osos.com.
51osos.com. IN SOA ns.51osos.com. admin.51osos.com. (
1H
10M
1W
1D)
51osos.com. IN NS ns.51osos.com.
sub IN NS ns.sub.51osos.com //添加这两行,很重要噢
ns.sub IN A 192.168.1.200
ns.51osos.com. IN A 192.168.1.2
www.51osos.com. IN A 192.168.1.2
--启动服务
#service named start
三、 测试
#nslookup www.sub.51osos.com
如果是由192.168.1.200解析的,则表示委派成功了噢。
追加
###################
DNS的委派 很多资料并没有写什么是DNS委派。而DNS委派又是一个比较重要的概念。到底什么DNS委派?就是把解析某个区域的权利转交给另外一台DNS服务器。 比如说,A主机可以解析.com 域而A主机上还需要解析.com 的一个子域.test.com 如果全部由A主机解析的话,那很可能A主机的负载会过重。如何解决这个问题,人们通常会找另外一台主机B来专门解析.test.com域。这样A主机的负载就会减小从而加快解析速度。这很合理,也很容易实现。 可是这里存在一个问题。我们再次回顾解析一个完整域名的过程。假设我们现在需要解析www.test.com 。DNS肯定先找根域,然后再找A主机,因为.com 域的都由A主机解析,但是A主机只解析.com域,并不解析.test.com 这个子域。如何解决这个问题,其实很简单。只需要在A主机的/etc/named.conf文件中声明.test.com域。
zone "com" IN {
type master;
file "com";
};
zone "test.com" IN {
type master;
file "test.com";
};
意思是说我可以解析test.com 这个域 然后在test.com的配置文件中添加一条NS纪录和一个A纪录 vi /var/named/chroot/var/named/test.com
$TTL
@ SOA test.test.com. admin.test.com. (
; Serial
; Refresh
; Retry
; Expire
) ; Minimu
test.com. IN NS B.test.com.
B IN A 192.1681.
图中NS纪录是说有需要解析.test.com域的去找B.test.com主机 而下一行的A纪录是说B.test.com主机所对应的IP地址为192.168.1.99 如此一来,A主机就把解析test.com域的权利全部转交给了B主机 这个过程就是靠一条NS纪录和一条A纪录实现的 这条NS纪录也称为委派纪录 由此可见A主机为了减少自己的负载,做了一个权利下放的过程,把权力下放给主机B。这就像村长管理一个村子一样,如果村子人比较少,一个村长就够了,但是如果村子大了,人多了 ,一个人可就管不过来了,那怎么办,权力下放,任命几个村*来分担管理工作。DNS也是如此。父级DNS把解析子域的权力下放,这个过程就叫委派。 委派的应用环境 区域委派适用于许多环境,常见的场景有: 1、将某个子区域委派给某个对应部门中的DNS服务器进行管理; 2、DNS服务器的负载均衡,将一个大区域划分为若干小区域,委派给不同的DNS服务器进行管理; 3、将子区域委派给某个分部或远程站点。 这是有问题的 应该在com.zone文件里声明子域test.com
test.com IN NS B.test.com
B.test.com IN A 192.168.1.99
在B.test.com的主机上声明test.com.zone这个域
test.com IN NS B.test.com
B.test.com IN A 192.168.1.99
www.test.com IN A 192.168.1.99 就可以了
|