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区域!