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的域進行轉發。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章