DNS篇之五 dns子域的搭建过程


DNS子域授权

随着公司业务的发展,当初申请的那个域名已经不够用了。

zledu.com    任何一个子域必须经过父域的授权;

www.zledu.com

www.zledu.com/fin     #通过这个目录访问的都是财务部的;

www.zledu.com/maket   #通过这个目录访问的都是市场部的;

刚开始通过这两个路径都能对其进行访问,后来过了一段时间发现这两个部分都能单独独立出去了。

但是我们希望访问财务部的网站,使用如下方式访问:

www.fin.zledu.com.

www.market.zledu.com.

我们要划分新的区域,需要得到父域的支持;而在正向区域里面如何授权呢?

SUB_ZONE_NAME IN  NS   NSSERVER_SUB_ZONE_NAME

NSSERVER__SUB_ZONE_NAME  IN   A    IP


.com

zledu.com.    IN NS   ns1.zledu.com.

ns1.zledu.com.  IN  A    172.16.100.1


在后台页面里面,可以修改两个a记录;・





只需要在父域上进行授权即可,父域里面添加几条ns记录即可。

zledu.com.

fin.zledu.com. IN NS ns1.fin.zledu.com.

fin.zledu.com. IN NS ns2.fin.zledu.com.

ns1.fin.zledu.com. IN A 172.16.100.8        (注意子域跟父域不一定是在一个网站里面)

ns2.fin.zledu.com. IN A 172.16.100.9


market.zledu.com. IN NS ns1.market.zledu.com.

ns1.market.zledu.com. IN A 172.16.100.108





下面编辑父域文件:同时将序列号加1;

$TTL 600

zledu.com.  IN  SOA  ns1.zledu.com.   admin.zledu.com. (

        20150524

        1H

        5M

        2D

        6H )


            IN  NS     ns1

            IN  NS     ns2

            IN  MX  10 mail

ns1         IN  A     172.16.100.1

ns2         IN  A     172.16.100.2

mail        IN  A     172.16.100.2

pop         IN  A     172.16.100.4

www         IN  A     172.16.100.1

www         IN  A     172.16.100.3

ftp         IN    CNAME    www

imap        IN  A     172.16.100.5

hello       IN  A     172.16.100.6


fin         IN  NS    ns1.fin

ns1.fin     IN  A     172.16.100.8


market      IN  NS    ns1.market

ns1.market  IN  A     172.16.100.108


在父域上面建立完成之后,还是无法解析子域的ns记录;原因真实的服务器还不存在;


在172.16.100.108的主机上进行如下配置;

[root@localhost named]# cat /etc/named.conf

options {


      directory "/var/named";

};


zone "." IN {

        type hint;

        file "named.ca";

};


zone "localhost" IN {

        type master;

        file "named.localhost";

};

zone "0.0.127.in-addr.arpa" IN {

        type  master;

        file "named.loopback";

};

zone "fin.zledu.com" IN {

        type master;

        file "fin.zledu.com.zone";

};


[root@localhost named]# cat fin.zledu.com.zone 

$TTL 600

fin.zledu.com.  IN  SOA  ns1.fin.zledu.com.   admin.fin.zledu.com. (

        20150524

        1H

        5M

        2D

        6H )


            IN  NS     ns1

            IN  MX  10 mail

ns1         IN  A     172.16.100.8

mail        IN  A     172.16.100.9

www         IN  A     172.16.100.10




更新完这一切之后,就可以在父域的服务器上面进行查询:且会有查询结果返回。

[root@localhost named]# dig -t NS fin.zledu.com @172.16.100.1

 flags: qr rd ra; 

在自己上面也可以进行查询;

[root@localhost named]# dig -t NS www.zledu.com @172.16.100.8

同时查询结果里面只看flags那个参数即可;

 flags: qr aa rd ra;

 

注意此时,子域不知道父域的位置,没法对数据进行转发。如果想让父域实现转发,需要做如下配置:


forward {only|first} # only的意思是,如果我这里解析不能进行,就将其转发出去;

first就是我先转发给你,你要是不给我转发我就找根服务器;


forwarders {};#指定转发器;




options {

      directory "/var/named";

      forward first;

      forwarders { 172.16.100.1; };

};

这个是全局转发的效果,如果只想父域转发就需要另外做配置。

此时在windows客户端做检查就能查找到父域对应的结果。虽然也能解答出来,但是结果是非权威应答。

zone "ZONE_NAME" IN {

type forward;

};

如果我们只是想对其父域进行转发,可以新建一个域,表示只对父域进行转发。

zone "zledu.com" IN {

        type forward;

        forward first;

        forwarders { 172.16.100.1; };

};


我们在父域里面也可以指定,.com的域名,将所有.com的域进行转发。


你可能感兴趣的:(dns,搭建,子域名)