何为子域授权
每一个大域,里面都会有若干个小域。比如lnsjb.com就是一个大域,里面会有www域(即www.lnsjb.com),会有bbs域,会有movies域,会有data域等等等等。如果是壕企业,可以不用域名服务商提供的DNS服务器,而自己搭建企业DNS服务器,但是需要把自己的DNS服务器的NS指向域名服务商的DNS服务器。如果这个企业壕的过分,壕的惨无人道。可以专门给自己的子域配上DNS服务器。关系图如下:
按照上面的设计图可以看出,bbs域dns、www域dns、news域dns都必须要在企业总域主从两台dns服务器上进行授权。然后bbs域内的网址就应该由172.16.100.10这台服务器专门进行解析,而总域的网址还是由172.16.100.1\172.16.100.2这两台服务器进行解析。
子域的授权其实非常简单,就是在父域上进行声明,然后把NS和IP地址都输入进去即可。而且子域服务器的IP地址与父域服务器的IP地址可以不在一个网段内,但是要注意,dns服务器不可以使用动态地址,即dhcp。
子域的授权的操作步骤
首先先查看自己系统内的named.conf,#vim named.conf,已知里面的父域就是lnsjb.com。
现在就要在父域对应的文件----lnsjb.com.zone里把bbs、games、news这三个子域写上。
同样,这里的#注释在实际的文件是不能有的,这里只是告诉各位每句话的意思,bind文件并不认识#。
如果bbs域有两个dns服务器,其中从服务器ns叫ns2.bbs.lnsjb.com,IP地址是172.16.100.8,那么只需要在上面如法炮制,把NS和A按规定形式写进去即可。
保存退出之后, 登陆172.16.100.10这台服务器。#yum install bind -y,安装bind软件,然后在手动编写一份具备"根节点+localhost+反向解析"能力的named.conf,如果懒得写就直接从主域DNS服务器scp一下。
然后就是rndc的步骤,#rndc-confgen > /etc/rndc.conf,把后面的内容拷贝到named.conf里。然后编辑这个named.conf,在域名声明那里添加如下内容:
保存退出之后,就可以写这个bbs.lnsjb.com.zone了。
:wq保存退出之后,#rndc reload一下,然后#dig -t A www.bbs.lnsjb.com @ 172.16.100.10应该可以获得aa答案,其中ip地址就是172.16.100.9。而#dig -t NS bbs.lnsjb.com @ 172.16.100.10,获得的应该是172.16.100.3。这样在bbs子域的服务器上测试成功。
而在172.16.100.1这个父域DNS服务器上也#rndc reload一下,然后解析bbs域的www.bbs.lnsjb.com应该也是得到答案的,因为父域知道子域,但是子域是不知道父域的,如果要让子域知道父域,就定义一个forward的zone 。