打造DNS私有根
我們現在已經(jīng)從前面的博文中了解到了很多DNS的相關(guān)知識,今天我們用一個(gè)綜合性的實(shí)驗把前面的內容都串起來(lái)復習一下,這個(gè)有趣的實(shí)驗就是DNS的私有根。私有根顧名思義是由個(gè)人或企業(yè)自行創(chuàng )建的DNS根服務(wù)器,這個(gè)根服務(wù)器屬于創(chuàng )建者私有專(zhuān)用,不能象互聯(lián)網(wǎng)上的根服務(wù)器那樣為眾多的網(wǎng)民服務(wù)。那么為什么會(huì )有企業(yè)搭建私有根呢?直接用互聯(lián)網(wǎng)上的根服務(wù)器不是很好嗎?需要搭建私有根一般有下列原因,例如有的單位如警察或軍事部門(mén)出于保密需要,必須把單位的網(wǎng)絡(luò )和互聯(lián)網(wǎng)物理隔離,但又不愿使用IP地址來(lái)互相訪(fǎng)問(wèn),這樣就必須使用DNS私有根才能保證域名的正常應用;還有的大型企業(yè)為了管理方便,也在企業(yè)內設置私有根解析域名,這樣可以省卻去公網(wǎng)申請域名的麻煩。
對我們來(lái)說(shuō),創(chuàng )建私有根的意義在于可以通過(guò)這些操作更好地理解DNS的體系結構,可以親自體驗一下DNS的誕生過(guò)程。下面我們準備用五臺虛擬機來(lái)實(shí)現一個(gè)DNS的私有根,拓撲如下圖所示,Florence充當私有根的根服務(wù)器,根服務(wù)器把.com區域的解析權委派給Berlin,把.net區域的解析權委派給Firenze。然后Berlin再把hexun.com的解析權委派給Istanbul,而Firenze把homeway.net的解析權委派給Perth。每臺服務(wù)器的完全合格域名和IP地址都在拓撲圖中進(jìn)行了標注。
一 負責根域的DNS服務(wù)器
我們把創(chuàng )建根服務(wù)器這個(gè)偉大的任務(wù)交給了Florence,私有根服務(wù)器的誕生宣布了我們使用了另外一個(gè)域名空間,和公網(wǎng)域名空間完全平行的另一個(gè)名稱(chēng)空間,在這個(gè)自己創(chuàng )建的域名空間中,我們可以使用任意域名而不用擔心和公網(wǎng)上的同名區域發(fā)生沖突。如下圖所示,我們在Florence的DNS管理器中選擇新建區域,準備在Florence上創(chuàng )建出根域。
出現新建區域向導,點(diǎn)擊下一步繼續。
區域類(lèi)型當然選擇“主要區域”。
區域的名稱(chēng)為. ,哈哈,大名鼎鼎的根域原來(lái)如此簡(jiǎn)單。
根域的區域數據文件是root.dns,注意,我們之后要修改這個(gè)文件。
區域創(chuàng )建完畢,這時(shí),私有根已經(jīng)誕生了。
我們在根域中首先檢查NS和SOA記錄,都任何區域來(lái)說(shuō),這兩個(gè)記錄都是不可或缺的。首先我們檢查NS記錄,如下圖所示,NS記錄中描述了根域的DNS服務(wù)器是Florence.,由于Florence.并不是一個(gè)完全合格域名,因此我們要對這個(gè)域名進(jìn)行編輯。
按照拓撲圖中的設計,我們把根域的域名服務(wù)器改成了Florence.root.net.,IP地址是192.168.11.101。
然后對根域的SOA記錄也進(jìn)行修改,如下圖所示,我們把根域的主服務(wù)器設置為Florence.root.net.,這樣,根域的NS記錄和SOA記錄就都設置好了。
接下來(lái)我們就要在根域中設置區域委派了,按照拓撲要求,我們應該把com區域委派給Berlin,把net區域委派給Firenze。我們在根域的區域數據文件root.dns中設置委派,如下圖所示,我們把com的解析權委派給Berlin.root.net. ,把net的解析權委派給Firenze.root.net.。
修改了根域的區域數據文件后,我們在DNS管理器中已經(jīng)可以看到根域的委派結果了。
至此,我們對根域的設置完成,主要工作是創(chuàng )建了根域以及在根域中設置了委派。
二 負責com區域的DNS服務(wù)器
根服務(wù)器把com區域的解析權委派給了Berlin,接下來(lái)我們就要在Berlin上進(jìn)行設置了,首先我們要做的就是讓Berlin信任我們新創(chuàng )建的根服務(wù)器,默認情況下,Berlin只承認互聯(lián)網(wǎng)上的那13個(gè)根服務(wù)器。如下圖所示,我們在Berlin的DNS管理器中打開(kāi)服務(wù)器屬性中的根提示,發(fā)現了Berlin目前承認的13個(gè)根服務(wù)器。
如下圖所示,我們把13個(gè)根服務(wù)器刪除,把Florence.root.net.作為唯一的DNS根服務(wù)器添加進(jìn)來(lái),這樣,Berlin就承認我們新創(chuàng )建的根服務(wù)器了。
Berlin承認了私有根后,我們在Berlin上創(chuàng )建com區域,如下圖所示,我們在Berlin的DNS管理器中選擇新建區域。
區域類(lèi)型選擇主要區域。
區域名稱(chēng)是com。
Com區域的區域數據文件是com.dns。
Com區域的創(chuàng )建非常簡(jiǎn)單,如下圖所示,我們已經(jīng)完成了com區域的創(chuàng )建。
創(chuàng )建了com區域后,我們接下來(lái)就要在com區域中檢查NS記錄和SOA記錄的設置情況了。我們檢查com區域的區域數據文件com.dns,如下圖所示,我們發(fā)現com區域中的NS記錄和SOA記錄都把域名服務(wù)器設置為了Berlin.,但Berlin.并不是一個(gè)完全合格域名,因此我們要對記錄進(jìn)行修改。
如下圖所示,我們通過(guò)編輯com.dns完成了兩件工作,首先是把NS記錄和SOA記錄都用Berlin.root.net.這么個(gè)標準的完全合格域名來(lái)表示,其次是在com區域中進(jìn)行了委派操作,把hexun.com的解析權委派給了Istanbul.hexun.com。
如下圖所示,我們可以看到修改了com.dns后的結果。
至此,我們在Berlin上完成了DNS服務(wù)器的設置,首先修改了根服務(wù)器,然后完善了com區域的NS記錄和SOA記錄,最后在com區域中設置了委派。
三 負責net區域的DNS服務(wù)器
我們在根域中把net區域的解析權委派給了Firenze,接下來(lái)我們在Firenze上進(jìn)行操作,首先Firenze要承認Florence是根服務(wù)器。如下圖所示,我們在Firenze屬性的根提示中設置了唯一的根服務(wù)器,Florence.root.net.。
接下來(lái)在Firenze上創(chuàng )建net區域,如下圖所示,我們在Firenze的DNS管理器中選擇新建區域。
區域名稱(chēng)是net。
區域數據文件是net.dns。
如下圖所示,我們看到net區域的NS記錄和SOA記錄都表示得不恰當,我們在net的區域數據文件中進(jìn)行修改。
如下圖所示,我們在區域數據文件中把net區域的NS記錄和SOA記錄都進(jìn)行了修改,改成了firenze.root.net.,然后把homeway.net的解析權委派給了perth.homeway.net.。
至此,Firenze的設置完成,基本上和Berlin的設置是相同的,也是重新設置了根服務(wù)器,創(chuàng )建了net區域,修改了區域的NS和SOA記錄,同時(shí)設置了區域委派。
四 負責hexun.com的服務(wù)器
Istanbul負責hexun.com區域的解析,我們首先也是要設置Istanbul的根服務(wù)器,如下圖所示,我們設置Florence.root.net.是唯一的根服務(wù)器。
接下來(lái)需要在Istanbul上創(chuàng )建區域hexun.com,具體的創(chuàng )建過(guò)程不再贅述,如下圖所示,這是hexun.com區域創(chuàng )建后的結果,顯然,我們需要對其中的NS和SOA記錄進(jìn)行修改。
如下圖所示,我們編輯了hexun.com的區域數據文件hexun.com.dns。我們把hexun.com區域的NS和SOA記錄中的域名服務(wù)器都改為了istanbul.hexun.com.,而且在區域中添加了www.hexun.com和mail.hexun.com兩條A記錄。
修改后的結果如下圖所示。
在Istanbul上的設置相對簡(jiǎn)單一些,只是把根服務(wù)器重新設置了一下,同時(shí)對hexun.com區域中的記錄進(jìn)行了一些修改,沒(méi)有涉及到區域委派。
五 負責homeway.net的服務(wù)器
負責homeway.net的是Perth,我們首先也是要在perth上修改根服務(wù)器,如下圖所示,我們把根服務(wù)器修改為florence.root.net.。
接下來(lái)在perth上創(chuàng )建區域homeway.net,具體過(guò)程不再贅述,如下圖所示就是homeway.net剛創(chuàng )建完的結果。
我們修改區域數據文件homeway.net.dns,如下圖所示,我們修改了homeway.net的NS和SOA記錄,用完全合格域名來(lái)表示DNS服務(wù)器。然后還創(chuàng )建了兩條A記錄,www.homeway.net和ftp.homeway.net。
修改后的結果如下圖所示。
Perth的設置也比較簡(jiǎn)單,和Istanbul類(lèi)似,只是簡(jiǎn)單地改了一下根服務(wù)器,同時(shí)對homeway.net的區域數據進(jìn)行了一下修改。
六 私有根測試
我們費了半天力氣終于搭好了私有根,現在我們來(lái)測試一下效果,理論上我們使用任何一個(gè)DNS服務(wù)器都可以把私有名稱(chēng)空間內的任何域名都解析出來(lái)。我們在perth上進(jìn)行一個(gè)測試,用perth作為DNS服務(wù)器來(lái)解析www.hexun.com。理論上分析,以hexun.com結尾的域名應該由Istanbul來(lái)解析,perth如果能解析出來(lái),那肯定是通過(guò)私有根找到了istanbul。測試結果如下圖所示,我們發(fā)現perth已經(jīng)成功地解析了www.hexun.com。
我們用抓包工具記錄一下perth的解析過(guò)程,我們可以很清楚地看到,perth先是向私有根的根服務(wù)器192.168.11.101發(fā)出了查詢(xún)請求,然后又向負責com區域的192.168.11.108發(fā)出了查詢(xún)請求,最后向負責hexun.com的192.168.11.107申請查詢(xún),這次終于如愿以?xún)?,查到了正確結果,過(guò)程和以前在公網(wǎng)上的解析完全一樣,我們設置私有根成功了!
本文出自 “岳雷的微軟網(wǎng)絡(luò )課堂” 博客,請務(wù)必保留此出處http://yuelei.blog.51cto.com/202879/110700