假設這樣一種場景,假設公司的規模擴展,有兩個部門都希望實現自己服務器的管理。如test.com這個域名,以前所有頁面都位於www.test.com這台主機上,若每個部門都需要自己的Web頁面,因此可做如下處理:
www.test.com/fin 財務部
www.test.com/market 市場部
但過一段時間,它們又希望使用自己的DNS主機,如:
www.fin.test.com 財務部
www.market.test.com 市場部
此時該如何做呢?由此就引出子域授權的話題了。
正向區域授權:
SUB_ZONE_NAME(子域區域名稱) IN NS NSSERVER_SUB_ZONE_NAME(服務器子域區域名稱)
NSSERVER_SUB_ZONE_NAME IN A IP(服務器IP地址)
例:.com服務器之下,有人注冊了test.com這個域,因此需要在.com上建立:
test.com. IN NS ns1.test.com.
ns1.test.com. IN A 192.168.241.10
若再建立一個輔助DNS服務器ns2,ns2對應192.168.241.11,那么ns2是否能在互聯網上被使用呢?
分析過程:dig -t A www.baidu.com @192.168.241.10
因為192.168.241.10與www.baidu.com不在同一個域,所以此時需要查找根:
. --> .com --> test.com.,而前面已經定義過,test.com在.com上對應192.168.241.10,因此192.168.241.11不能被找到,即在互聯網上無法被識別。
因此,在子域中有幾個DNS服務器,就應該建幾條記錄,如下:
所以說假如test.com.已經由我們自己管理,我們有所有的操作權限,而且已經建立好一主一從服務器,現在期望能夠授權子域,一個叫fin,一個叫market,並且子域可以自我管理,那么如何實現呢?
在父域授權:即可,在服務區域數據文件添加記錄:
fin.test.com. IN NS ns1.fin.test.com.
fin.test.com. IN NS ns2.fin.test.ocm.
ns1.fin.test.com. IN A 192.168.241.8 ;注意:子域與父域無需在同一網段中
ns2.fin.test.com. IN A 192.168.241.9
market.test.com. IN NS ns1.market.test.com.
ns1.market.test.com. IN A 192.168.241.108
具體實現如下:
編輯父域服務器中的主DNS服務器:
查看從域名服務器:
配置子域服務器:
配置IP地址為192.168.241.8,搜索域為fin.test.com
安裝bind
配置:
測試:
子域服務器:
父域主服務器:(聯系子域,讓子域提供真正的信息)
父域自己解析:
Windows端使用nslookup測試:
配置子域可找到父域在哪(通過轉發即可實現):
子域服務器:
forward {only|first}; #指定為only時若解析不了,轉發給指定的服務器;
#first則表示先轉發給指定的服務器,若無結果,自己找根。
forwarders {}; #指定轉發給誰
zone "ZONE_NAME" IN{
type forward;
};
如實現全局轉發:
#會轉發給父域處理
只轉發父域服務器: