詳解
DNS
的經常使用記錄(上)
在上篇博文中,咱們介紹了DNS服務器的體系結構,從中咱們瞭解到若是咱們但願註冊一個域名,那麼必須通過頂級域名服務器或其下級的域名服務器爲咱們申請的域名進行委派,把解析權委派到咱們的DNS服務器上,這樣咱們才能夠得到對所申請域名的解析權。本文中咱們將再進一步,假設咱們已經爲公司成功申請了一個域名hexun.com,如今hexun.com的解析權被委派到公司的DNS服務器202.99.16.1,那咱們在202.99.16.1服務器上該進行什麼樣的配置呢?
一
安裝
DNS
服務器
首先咱們要在服務器上安裝DNS組件,服務器的TCP/IP配置以下圖所示。
安裝DNS組件很是簡單,依次點擊 控制面板-添加或刪除程序-添加/刪除Windows組件-網絡服務,以下圖所示,選擇「域名系統」便可。
二
建立區域
DNS服務器建立完畢以後,咱們接下來就要建立DNS區域了,區域是DNS服務器所負責的名稱空間,DNS服務器有正向區域和反向區域,正向區域負責把域名解析爲IP,而反向區域負責把IP解析爲域名。
DNS區域有三種類型,正向區域,反向區域和存根區域。要理解區域類型,先要明白DNS服務器有主服務器和輔助服務器的區別。通常狀況下,企業申請域名時會考慮配備兩個DNS服務器,一個是主服務器,另外一個是輔助服務器。通常的解析請求由主服務器負責,輔助服務器的數據是從主服務器複製而來的,輔助服務器的數據是隻讀的,當主服務器出現故障或因爲負載過重沒法響應客戶機的解析請求時,輔助服務器會自告奮勇擔負起域名解析的任務。如今咱們回過頭來解釋一下什麼是主要區域,主服務器使用的區域就是主要區域,一樣,輔助服務器使用的區域是輔助區域。存根區域能夠看作是一個特殊的,簡化的輔助區域,具體區別咱們在後續博文中會加以介紹。
通常咱們使用較多的是正向區域,並且從邏輯上考慮,必然是先建立主要區域,由於輔助區域和存根區域都須要從主要區域複製數據,所以咱們如今的任務是要爲區域hexun.com建立一個正向的主要區域。以下圖所示,咱們在DNS服務器上選擇建立一個正向區域。
出現新建區域嚮導,點擊下一步繼續。
選擇建立一個主要區域。
區域名稱和申請的域名是同樣的,hexun.com。
區域數據文件是hexun.com.dns,區域內的全部記錄都存儲在這個文件裏,注意,這個文件咱們之後會用到的。
嚮導詢問是否容許區域動態更新,通常來講,若是DNS區域在企業內網使用,咱們會容許動態更新;若是用於Internet,那麼通常不須要動態更新。
以下圖所示,區域建立完畢。
區域建立完畢以後,以下圖所示,區域中只有一個NS記錄和一個SOA記錄,咱們接下來要作的工做就是在區域中建立適當的DNS記錄。
三
建立記錄
DNS記錄是DNS區域數據的具體表現形式,咱們接下來爲你們介紹幾種最多見的DNS記錄,你們掌握了這些記錄就能夠基本掌握DNS的基本應用了。
一、
A
記錄
A記錄也稱爲主機記錄,是使用最普遍的DNS記錄,A記錄的基本做用就是說明一個域名對應的IP是多少,例如,咱們想經過A記錄說明一臺主機的域名是bbs.hexun.com,IP是202.99.16.185,那麼咱們就能夠進行下列操做。以下圖所示,咱們在hexun.com區域中選擇「新建主機」。
以下圖所示,咱們在A記錄中說明了域名bbs.hexun.com對應的IP是202.99.16.185。其中提到了一個徹底合格域名的概念,這裏咱們介紹一下。徹底合格域名指的是點結尾的域名,例如bbs.hexun.com.就是一個徹底合格域名。在通常的網絡應用中,咱們能夠省略徹底合格域名最右側的點,但DNS對這個點不能隨便省略。由於這個點表明了DNS的根,有了這個點,徹底合格域名就能夠表達爲一個絕對路徑,例如bbs.hexun.com.就能夠表示爲DNS根下的com子域下hexun.com域中一個名爲bbs的主機。若是DNS發現一個域名不是以點結尾的徹底合格域名,就會把這個域名加上當前的區域名稱做爲後綴,讓其知足徹底合格域名的形式需求。例如DNS會把域名bbs處理爲bbs.hexun.com.。所以,若是要求輸入徹底合格域名,咱們應該注意讓域名以點結尾。
A記錄的基本用法是描述域名和IP的對應關係,其實A記錄還有一個高級用法,A記錄有負載平衡的做用。DNS常常被用做一個低成本的負載平衡解決方案,主要就是依靠A記錄來實現的。舉個例子加以說明,例如咱們有四個Web服務器共同負責[url]www.hexun.com[/url]這個網站,四個Web服務器的IP地址分別爲202.99.16.81,202.99.16.82,202.99.16.83和202.99.16.84,那麼咱們就應該建立以下的主機記錄。
以上咱們用四條A記錄分別描述了[url]www.hexun.com[/url]對應的四個IP,那麼,到底如何利用這些IP來實現負載平衡呢?原理是這樣的,客戶機訪問Web服務器通常都使用域名,所以須要利用DNS服務器把域名解析爲IP。第一個客戶機查詢[url]www.hexun.com[/url]時,DNS服務器會告訴客戶機這個域名對應的IP是202.99.16.81,第二個客戶機來查詢時DNS服務器就會把答案改成202.99.16.82,依此類推,DNS使用了「輪詢」的技術把不一樣的訪問用戶導向了四個不一樣的Web服務器,這樣就達到了一個簡易負載平衡的效果。
咱們能夠經過一個簡單的實驗來驗證一下DNS輪詢的效果,以下圖所示,咱們在客戶機上用ping [url]www.hexun.com[/url]的方式來查詢域名對應的IP,但奇怪的是,客戶機兩次查詢域名獲得的是同一個結果,這時爲何呢?難道DNS輪詢不起做用了嗎?
其實並不是DNS輪詢出了問題,而是因爲客戶機有DNS緩存機制,當客戶機第一次查詢DNS服務器得到了域名對應的IP地址,客戶機會把查詢結果放入緩存,這樣下次查詢時就直接從緩存獲取結果而不用去問DNS服務器了。明白了這個道理,咱們只要用IPCONFIG/FLUSHDNS清除客戶機的DNS緩存就能夠繼續實驗了,實驗結果以下圖所示,咱們能夠看到DNS輪詢已經發揮了做用。
二、
NS
記錄
NS記錄和SOA記錄是任何一個DNS區域都不可或缺的兩條記錄,NS記錄也叫名稱服務器記錄,用於說明這個區域有哪些DNS服務器負責解析,SOA記錄說明負責解析的DNS服務器中哪個是主服務器。所以,任何一個DNS區域都不可能缺乏這兩條記錄。
假設hexun.com區域有兩個DNS服務器負責解析,ns1.hexun.com是主服務器,ns2.hexun.com是輔助服務器,ns1.hexun.com的ip是202.99.16.1,ns2.hexun.com的ip是202.99.16.2。那麼咱們應該建立兩條NS記錄,固然,NS記錄依賴A記錄的解析,咱們首先應該爲ns1.hexun.com和ns2.hexun.com建立兩條A記錄,建立的A記錄以下圖所示。
有了兩條主機記錄的支持,咱們就能夠編輯ns記錄了,以下圖所示,當前區域的ns記錄是建立hexun.com區域時系統自動建立的。這條ns記錄並不能正常工做,由於nsserver並非一個能夠解析的徹底合格域名,所以咱們刪除這條記錄,從新再建立兩條NS記錄。
以下圖所示,咱們建立一條ns記錄,ns服務器的徹底合格域名是ns1.hexun.com..,解析出的IP是202.99.16.1,這條記錄說明有一個服務器ns1.hexun.com負責hexun.com的域名解析。
用一樣方法建立ns2.hexun.com的ns記錄,建立完成的結果以下圖所示。
三、
SOA
記錄
NS記錄說明了有兩個DNS服務器負責hexun.com的域名解析,但哪一個是主服務器呢?NS記錄並無說明,這個任務由SOA記錄來完成。SOA記錄也稱爲起始受權機構記錄,SOA記錄中負責說明哪一個DNS服務器是主服務器,以及主服務器和輔助服務器之間的一些關聯參數。以下圖所示就是hexun.com的SOA記錄,咱們逐一進行分析。
首先咱們要分析序列號,序列號反映了DNS服務器數據變化的次數,DNS服務器的數據每更新一次,序列號就加大一位。但咱們仔細想一想,對管理員來講,瞭解這個參數意義不大,由於DNS服務器究竟是更新了10000次仍是9999次對管理員來講並無實質性的影響。實際上,這個參數是給輔助服務器使用的。咱們前面提到,輔助服務器的數據都是從主服務器複製而來的,那麼輔助服務器怎麼判斷主服務器的數據有沒有進行更新呢?輔助服務器只要簡單地檢查一下主服務器的序列號就明白了,若是主服務器的序列號比輔助服務器的序列號大,那麼輔助服務器就應該去主服務器進行增量更新了。
主服務器這個參數的重要性不言而喻,目前的SOA記錄中主服務器參數是nsserver.,這並非一個能夠解析的徹底合格域名,咱們應該把主服務器改成ns1.hexun.com.,以下圖所示,這纔是正確的主服務器參數。可能你們會有疑問,爲何NS記錄和SOA記錄默認都是nsserver.,主要是由於nsserver.是這臺DNS服務器的NETBIOS名稱。
從上圖可知,咱們把SOA記錄中的負責人蔘數改成了admin.hexun.com.,看起來象個主機的徹底合格域名,其實意思是[email]admin@hexun.com[/email],是一個郵箱地址。那麼爲何負責人這個參數不直接寫成[email]admin@hexun.com[/email]呢?畢竟這樣就好理解多了,這時由於@符號在DNS中有特殊含義,@在DNS中表明當前區域,也就是表明hexun.com,所以咱們被迫把郵件地址寫成了徹底合格域名的格式。
刷新間隔指的是輔助服務器每隔15分鐘聯繫一下主服務器,查看主服務器有無數據更新。重試間隔10分鐘值的是若是輔助服務器和主服務器失去了聯繫,那麼輔助服務器每隔10分鐘聯繫一下主服務器,在此期間由輔助服務器負責當前區域的域名解析。過時時間是1天指的是若是輔助服務器過了一天尚未聯繫上主服務器,輔助服務器就會認爲主服務器永遠不會再回來了,本身的數據也沒有保存的意義了,所以會宣佈數據過時,並拒絕爲用戶繼續提供解析服務。TTL一個小時指的是記錄在DNS緩存中的生存時間是一個小時。
在本篇博文中咱們介紹了DNS的三種記錄,A記錄,NS記錄和SOA記錄,從內容來看,顯然對任何一個DNS區域來講都是必備的,下篇博文中咱們將介紹MX,Cname,SRV和PTR記錄。