親手締造DNS體系,建立DNS私有根:DNS系列之六

打造 DNS 私有根
咱們如今已經從前面的博文中瞭解到了不少DNS的相關知識,今天咱們用一個綜合性的實驗把前面的內容都串起來複習一下,這個有趣的實驗就是DNS的私有根。私有根顧名思義是由我的或企業自行建立的DNS根服務器,這個根服務器屬於建立者私有專用,不能象互聯網上的根服務器那樣爲衆多的網民服務。那麼爲何會有企業搭建私有根呢?直接用互聯網上的根服務器不是很好嗎?須要搭建私有根通常有下列緣由,例若有的單位如警察或軍事部門出於保密須要,必須把單位的網絡和互聯網物理隔離,但又不肯使用IP地址來互相訪問,這樣就必須使用DNS私有根才能保證域名的正常應用;還有的大型企業爲了管理方便,也在企業內設置私有根解析域名,這樣能夠省卻去公網申請域名的麻煩。
對咱們來講,建立私有根的意義在於能夠經過這些操做更好地理解DNS的體系結構,能夠親自體驗一下DNS的誕生過程。下面咱們準備用五臺虛擬機來實現一個DNS的私有根,拓撲以下圖所示,Florence充當私有根的根服務器,根服務器把.com區域的解析權委派給Berlin,把.net區域的解析權委派給Firenze。而後Berlin再把hexun.com的解析權委派給Istanbul,而Firenzehomeway.net的解析權委派給Perth。每臺服務器的徹底合格域名和IP地址都在拓撲圖中進行了標註。
 
負責根域的 DNS 服務器
咱們把建立根服務器這個偉大的任務交給了Florence,私有根服務器的誕生宣佈了咱們使用了另一個域名空間,和公網域名空間徹底平行的另外一個名稱空間,在這個本身建立的域名空間中,咱們可使用任意域名而不用擔憂和公網上的同名區域發生衝突。以下圖所示,咱們在FlorenceDNS管理器中選擇新建區域,準備在Florence上建立出根域。
 
 
出現新建區域嚮導,點擊下一步繼續。
 
 
區域類型固然選擇「主要區域」。
 
 
區域的名稱爲 . ,哈哈,大名鼎鼎的根域原來如此簡單。
 
 
根域的區域數據文件是root.dns,注意,咱們以後要修改這個文件。
 
 
區域建立完畢,這時,私有根已經誕生了。
 
 
咱們在根域中首先檢查NSSOA記錄,都任何區域來講,這兩個記錄都是不可或缺的。首先咱們檢查NS記錄,以下圖所示,NS記錄中描述了根域的DNS服務器是Florence.,因爲Florence.並非一個徹底合格域名,所以咱們要對這個域名進行編輯。
 
 
按照拓撲圖中的設計,咱們把根域的域名服務器改爲了Florence.root.net.IP地址是192.168.11.101
 
 
而後對根域的SOA記錄也進行修改,以下圖所示,咱們把根域的主服務器設置爲Florence.root.net.,這樣,根域的NS記錄和SOA記錄就都設置好了。
 
 
接下來咱們就要在根域中設置區域委派了,按照拓撲要求,咱們應該把com區域委派給Berlin,把net區域委派給Firenze。咱們在根域的區域數據文件root.dns中設置委派,以下圖所示,咱們把com的解析權委派給Berlin.root.net. ,把net的解析權委派給Firenze.root.net.
 
 
修改了根域的區域數據文件後,咱們在DNS管理器中已經能夠看到根域的委派結果了。
 
至此,咱們對根域的設置完成,主要工做是建立了根域以及在根域中設置了委派。
 
  負責 com 區域的 DNS 服務器
根服務器把com區域的解析權委派給了Berlin,接下來咱們就要在Berlin上進行設置了,首先咱們要作的就是讓Berlin信任咱們新建立的根服務器,默認狀況下,Berlin只認可互聯網上的那13個根服務器。以下圖所示,咱們在BerlinDNS管理器中打開服務器屬性中的根提示,發現了Berlin目前認可的13個根服務器。
 
 
以下圖所示,咱們把13個根服務器刪除,把Florence.root.net.做爲惟一的DNS根服務器添加進來,這樣,Berlin就認可咱們新建立的根服務器了。
 
 
Berlin認可了私有根後,咱們在Berlin上建立com區域,以下圖所示,咱們在BerlinDNS管理器中選擇新建區域。
 
 
區域類型選擇主要區域。
 
 
區域名稱是com
 
 
Com區域的區域數據文件是com.dns
 
 
Com區域的建立很是簡單,以下圖所示,咱們已經完成了com區域的建立。
 
 
建立了com區域後,咱們接下來就要在com區域中檢查NS記錄和SOA記錄的設置狀況了。咱們檢查com區域的區域數據文件com.dns,以下圖所示,咱們發現com區域中的NS記錄和SOA記錄都把域名服務器設置爲了Berlin.,但Berlin.並非一個徹底合格域名,所以咱們要對記錄進行修改。
 
 
以下圖所示,咱們經過編輯com.dns完成了兩件工做,首先是把NS記錄和SOA記錄都用Berlin.root.net.這麼個標準的徹底合格域名來表示,其次是在com區域中進行了委派操做,把hexun.com的解析權委派給了Istanbul.hexun.com
 
 
以下圖所示,咱們能夠看到修改了com.dns後的結果。
 
 
至此,咱們在 Berlin 上完成了 DNS 服務器的設置,首先修改了根服務器,而後完善了 com 區域的 NS 記錄和 SOA 記錄,最後在 com 區域中設置了委派。
 
負責 net 區域的 DNS 服務器
咱們在根域中把net區域的解析權委派給了Firenze,接下來咱們在Firenze上進行操做,首先Firenze要認可Florence是根服務器。以下圖所示,咱們在Firenze屬性的根提示中設置了惟一的根服務器,Florence.root.net.
 
 
接下來在Firenze上建立net區域,以下圖所示,咱們在FirenzeDNS管理器中選擇新建區域。
 
 
區域名稱是net
 
 
區域數據文件是net.dns
 
 
以下圖所示,咱們看到net區域的NS記錄和SOA記錄都表示得不恰當,咱們在net的區域數據文件中進行修改。
 
 
以下圖所示,咱們在區域數據文件中把net區域的NS記錄和SOA記錄都進行了修改,改爲了firenze.root.net.,而後把homeway.net的解析權委派給了perth.homeway.net.
 
 
至此, Firenze 的設置完成,基本上和 Berlin 的設置是相同的,也是從新設置了根服務器,建立了 net 區域,修改了區域的 NS SOA 記錄,同時設置了區域委派。
 
負責 hexun.com 的服務器
Istanbul負責hexun.com區域的解析,咱們首先也是要設置Istanbul的根服務器,以下圖所示,咱們設置Florence.root.net.是惟一的根服務器。
 
 
接下來須要在Istanbul上建立區域hexun.com,具體的建立過程再也不贅述,以下圖所示,這是hexun.com區域建立後的結果,顯然,咱們須要對其中的NSSOA記錄進行修改。
 
 
以下圖所示,咱們編輯了hexun.com的區域數據文件hexun.com.dns。咱們把hexun.com區域的NSSOA記錄中的域名服務器都改成了istanbul.hexun.com.,並且在區域中添加了[url]www.hexun.com[/url]mail.hexun.com兩條A記錄。
 
 
修改後的結果以下圖所示。
 
 

Istanbul 上的設置相對簡單一些,只是把根服務器從新設置了一下,同時對 hexun.com 區域中的記錄進行了一些修改,沒有涉及到區域委派。
 
負責 homeway.net 的服務器
負責homeway.net的是Perth,咱們首先也是要在perth上修改根服務器,以下圖所示,咱們把根服務器修改成florence.root.net.
 
 
接下來在perth上建立區域homeway.net,具體過程再也不贅述,以下圖所示就是homeway.net剛建立完的結果。
 

咱們修改區域數據文件homeway.net.dns,以下圖所示,咱們修改了homeway.netNSSOA記錄,用徹底合格域名來表示DNS服務器。而後還建立了兩條A記錄,[url]www.homeway.net[/url]ftp.homeway.net
 

修改後的結果以下圖所示。
 

Perth的設置也比較簡單,和Istanbul相似,只是簡單地改了一下根服務器,同時對homeway.net的區域數據進行了一下修改。
 
私有根測試
咱們費了半天力氣終於搭好了私有根,如今咱們來測試一下效果,理論上咱們使用任何一個DNS服務器均可以把私有名稱空間內的任何域名都解析出來。咱們在perth上進行一個測試,用perth做爲DNS服務器來解析[url]www.hexun.com[/url]。理論上分析,以hexun.com結尾的域名應該由Istanbul來解析,perth若是能解析出來,那確定是經過私有根找到了istanbul。測試結果以下圖所示,咱們發現perth已經成功地解析了[url]www.hexun.com[/url]
 
 
咱們用抓包工具記錄一下perth的解析過程,咱們能夠很清楚地看到,perth先是向私有根的根服務器192.168.11.101發出了查詢請求,而後又向負責com區域的192.168.11.108發出了查詢請求,最後向負責hexun.com192.168.11.107申請查詢,此次終於如願以償,查到了正確結果,過程和之前在公網上的解析徹底同樣,咱們設置私有根成功了!
 
相關文章
相關標籤/搜索