詳解DNS常用記錄

DNS記錄是DNS區域數據的具體表現形式,我們接下來爲大家介紹幾種最常見的DNS記錄,大家掌握了這些記錄就可以基本掌握DNS的基本應用了。

1、A記錄

A記錄也稱爲主機記錄,是使用最廣泛的DNS記錄,A記錄的基本作用就是說明一個域名對應的IP是多少,例如,我們想通過A記錄說明一臺主機的域名是bbs.hexun.comIP202.99.16.185,那麼我們就可以進行下列操作。如下圖所示,我們在hexun.com區域中選擇“新建主機”。200810201224518322373.jpg

如下圖所示,我們在A記錄中說明了域名bbs.hexun.com對應的IP202.99.16.185。其中提到了一個完全合格域名的概念,這裏我們介紹一下。完全合格域名指的是點結尾的域名,例如bbs.hexun.com.就是一個完全合格域名。在一般的網絡應用中,我們可以省略完全合格域名最右側的點,但DNS對這個點不能隨便省略。因爲這個點代表了DNS的根,有了這個點,完全合格域名就可以表達爲一個絕對路徑,例如bbs.hexun.com.就可以表示爲DNS根下的com子域下hexun.com域中一個名爲bbs的主機。如果DNS發現一個域名不是以點結尾的完全合格域名,就會把這個域名加上當前的區域名稱作爲後綴,讓其滿足完全合格域名的形式需求。例如DNS會把域名bbs處理爲bbs.hexun.com.。因此,如果要求輸入完全合格域名,我們應該注意讓域名以點結尾。

200810201224518334108.jpg

A記錄的基本用法是描述域名和IP的對應關係,其實A記錄還有一個高級用法,A記錄有負載平衡的作用。DNS經常被用作一個低成本的負載平衡解決方案,主要就是依靠A記錄來實現的。舉個例子加以說明,例如我們有四個Web服務器共同負責[url]www.hexun.com[/url]這個網站,四個Web服務器的IP地址分別爲202.99.16.81202.99.16.82202.99.16.83202.99.16.84,那麼我們就應該創建如下的主機記錄。

200810201224518342917.jpg

200810201224518356645.jpg

200810201224518368166.jpg

200810201224518377172.jpg
以上我們用四條A記錄分別描述了[url]www.hexun.com[/url]對應的四個IP,那麼,到底如何利用這些IP來實現負載平衡呢?原理是這樣的,客戶機訪問Web服務器一般都使用域名,因此需要利用DNS服務器把域名解析爲IP。第一個客戶機查詢[url]www.hexun.com[/url]時,DNS服務器會告訴客戶機這個域名對應的IP202.99.16.81,第二個客戶機來查詢時DNS服務器就會把答案改爲202.99.16.82,依此類推,DNS使用了“輪詢”的技術把不同的訪問用戶導向了四個不同的Web服務器,這樣就達到了一個簡易負載平衡的效果。我們可以通過一個簡單的實驗來驗證一下DNS輪詢的效果,如下圖所示,我們在客戶機上用ping [url]www.hexun.com[/url]的方式來查詢域名對應的IP,但奇怪的是,客戶機兩次查詢域名得到的是同一個結果,這時爲什麼呢?難道DNS輪詢不起作用了嗎?200810201224518395585.jpg

其實並非DNS輪詢出了問題,而是由於客戶機有DNS緩存機制,當客戶機第一次查詢DNS服務器獲得了域名對應的IP地址,客戶機會把查詢結果放入緩存,這樣下次查詢時就直接從緩存獲取結果而不用去問DNS服務器了。明白了這個道理,我們只要用IPCONFIG/FLUSHDNS清除客戶機的DNS緩存就可以繼續實驗了,實驗結果如下圖所示,我們可以看到DNS輪詢已經發揮了作用。200810211224518422426.jpg

2、NS記錄

NS記錄和SOA記錄是任何一個DNS區域都不可或缺的兩條記錄,NS記錄也叫名稱服務器記錄,用於說明這個區域有哪些DNS服務器負責解析,SOA記錄說明負責解析的DNS服務器中哪一個是主服務器。因此,任何一個DNS區域都不可能缺少這兩條記錄。假設hexun.com區域有兩個DNS服務器負責解析,ns1.hexun.com是主服務器,ns2.hexun.com是輔助服務器,ns1.hexun.comip202.99.16.1ns2.hexun.comip202.99.16.2。那麼我們應該創建兩條NS記錄,當然,NS記錄依賴A記錄的解析,我們首先應該爲ns1.hexun.comns2.hexun.com創建兩條A記錄,創建的A記錄如下圖所示。

200810211224518433332.jpg有了兩條主機記錄的支持,我們就可以編輯ns記錄了,如下圖所示,當前區域的ns記錄是創建hexun.com區域時系統自動創建的。這條ns記錄並不能正常工作,因爲nsserver並不是一個可以解析的完全合格域名,因此我們刪除這條記錄,重新再創建兩條NS記錄。

200810211224518440829.jpg

如下圖所示,我們創建一條ns記錄,ns服務器的完全合格域名是ns1.hexun.com..,解析出的IP202.99.16.1,這條記錄說明有一個服務器ns1.hexun.com負責hexun.com的域名解析。200810211224518447977.jpg

用同樣方法創建ns2.hexun.comns記錄,創建完成的結果如下圖所示。200810211224518457937.jpg

3、SOA記錄

NS記錄說明了有兩個DNS服務器負責hexun.com的域名解析,但哪個是主服務器呢?NS記錄並沒有說明,這個任務由SOA記錄來完成。SOA記錄也稱爲起始授權機構記錄,SOA記錄中負責說明哪個DNS服務器是主服務器,以及主服務器和輔助服務器之間的一些關聯參數。如下圖所示就是hexun.comSOA記錄,我們逐一進行分析。

200810211224518467726.jpg

首先我們要分析序列號,序列號反映了DNS服務器數據變化的次數,DNS服務器的數據每更新一次,序列號就加大一位。但我們仔細想想,對管理員來說,瞭解這個參數意義不大,因爲DNS服務器到底是更新了10000次還是9999次對管理員來說並沒有實質性的影響。實際上,這個參數是給輔助服務器使用的。我們前面提到,輔助服務器的數據都是從主服務器複製而來的,那麼輔助服務器怎麼判斷主服務器的數據有沒有進行更新呢?輔助服務器只要簡單地檢查一下主服務器的序列號就明白了,如果主服務器的序列號比輔助服務器的序列號大,那麼輔助服務器就應該去主服務器進行增量更新了。主服務器這個參數的重要性不言而喻,目前的SOA記錄中主服務器參數是nsserver.,這並不是一個可以解析的完全合格域名,我們應該把主服務器改爲ns1.hexun.com.,如下圖所示,這纔是正確的主服務器參數。可能大家會有疑問,爲什麼NS記錄和SOA記錄默認都是nsserver.,主要是因爲nsserver.是這臺DNS服務器的NETBIOS名稱。

200810211224518481377.jpg

從上圖可知,我們把SOA記錄中的負責人蔘數改爲了admin.hexun.com.,看起來象個主機的完全合格域名,其實意思是[email protected],是一個郵箱地址。那麼爲什麼負責人這個參數不直接寫成[email protected]呢?畢竟這樣就好理解多了,這時因爲@符號在DNS中有特殊含義,@DNS中代表當前區域,也就是代表hexun.com,因此我們被迫把郵件地址寫成了完全合格域名的格式。刷新間隔指的是輔助服務器每隔15分鐘聯繫一下主服務器,查看主服務器有無數據更新。重試間隔10分鐘值的是如果輔助服務器和主服務器失去了聯繫,那麼輔助服務器每隔10分鐘聯繫一下主服務器,在此期間由輔助服務器負責當前區域的域名解析。過期時間是1天指的是如果輔助服務器過了一天還沒有聯繫上主服務器,輔助服務器就會認爲主服務器永遠不會再回來了,自己的數據也沒有保存的意義了,因此會宣佈數據過期,並拒絕爲用戶繼續提供解析服務。TTL一個小時指的是記錄在DNS緩存中的生存時間是一個小時。


MX記錄MX記錄也被稱爲郵件交換器記錄,MX記錄用於說明哪臺服務器是當前區域的郵件服務器,例如在hexun.com區域中,mail.hexun.com是郵件服務器,而且IP地址是202.99.16.125。那麼我們就可以在DNS服務器中進行下列處理:1、爲郵件服務器創建A記錄如下圖所示,我們首先爲郵件服務器創建一條A記錄,這時因爲MX記錄中描述郵件服務器時不能使用IP地址,只能使用完全合格域名。200810231224771096010.jpg

2、創建MX記錄如下圖所示,在DNS服務器中選擇創建MX記錄。200810231224771106937.jpg

MX記錄如下圖所示,這條MX記錄說明mail.hexun.comhexun.com的郵件服務器,而且優先級是10。注意,如果hexun.com區域有多個MX記錄,而且優先級不同,那麼其他郵局給hexun.com發郵件時會首先把郵件發給優先級最高的郵件服務器,代表優先級的數字越低則優先級越高,優先級最高爲0200810231224771118225.jpg

MX記錄對郵件服務器來說是不可或缺的,兩個互聯網郵局系統在相互通訊時必須依賴DNSMX記錄才能定位出對方的郵件服務器位置。例如163.net郵局給263.net郵局發一封電子郵件,那163郵局的SMTP服務器就需要向DNS服務器發出一個查詢請求,請DNS服務器查詢263.netMX記錄,這樣163郵局的SMTP服務器就可以定位263.netSMTP服務器,然後就可以把郵件發送到263郵局。我們通過一個例子來具體說明一下MX記錄的用途,我們在192.168.0.109上搭建了一個郵件服務器,我們利用這個郵件服務器給[email protected]發送一封電子郵件,當郵件服務器給sohu.com郵局發送郵件時,我們用抓包工具ethereal記錄抓包過程。如下圖所示,我們可以看出郵件服務器192.168.0.109在發送郵件時首先向DNS服務器發出一個查詢請求,請求查詢sohu.comMX記錄,DNS服務器告訴查詢者sohu.com郵局的郵件服務器是sohumx.h.a.sohu.com,這樣192.168.0.109才知道應該把郵件發送到sohumx.h.a.sohu.com200810231224771127506.jpg Cname記錄

Cname記錄也被稱爲別名記錄,其實就是讓一個服務器有多個域名,大致相當於給一個人起個外號。爲什麼需要Cname記錄呢?一方面是照顧用戶的使用習慣,例如我們習慣把郵件服務器命名爲mail,把ftp服務器命名爲ftp,那如果只有一臺服務器,同時提供郵件服務和FTP服務,那我們究竟該怎麼命名呢?我們可以把服務器命名爲mail.hexun.com,然後再創建一個Cname記錄叫ftp.hexun.com就可以兩者兼顧了。另外使用Cname記錄也有安全方面的考慮因素,例如我們不希望別人知道某個網站的真實域名,那我們可以讓用戶訪問網站的別名,例如我們訪問的百度網站的真實域名就是[url]www.a.shifen.com[/url],我們使用的[url]www.baidu.com[/url]只是[url]www.a.shifen.com[/url]的別名而已。好,下面我們舉個創建Cname記錄的例子,假設我們要爲mail.hexun.com創建一個別名ftp.hexun.com,那我們就可以進行下列操作。如下圖所示,我們選擇在DNS服務器中創建Cname記錄。200810231224771141370.jpg

記錄內容如下圖所示,我們爲mail.hexun.com創建了一個別名記錄,別名是ftp.hexun.com200810231224771150233.jpg

ftp.hexun.com進行解析,結果如下圖所示,DNS服務器告訴我們ftp.hexun.com就是mail.hexun.com200810231224771158450.jpg

SRV記錄SRV記錄是服務器資源記錄的縮寫,SRV記錄是DNS記錄中的新鮮面孔,在RFC2052中才對SRV記錄進行了定義,因此很多老版本的DNS服務器並不支持SRV記錄。那麼SRV記錄有什麼用呢?SRV記錄的作用是說明一個服務器能夠提供什麼樣的服務!SRV記錄在微軟的Active Directory中有着重要地位,大家知道在NT4時代域和DNS並沒有太多關係。但從Win2000開始,域就離不開DNS的幫助了,爲什麼呢?因爲域內的計算機要依賴DNSSRV記錄來定位域控制器!微軟的即時通訊服務器Live Communications Server也可以依靠SRV記錄定位即時通訊服務器,有鑑於SRV記錄可以定位特定服務器的位置,我們可以預計,在微軟將來的服務器產品中SRV記錄將發揮越來越多的作用。下面我們舉個例子說明SRV記錄的作用,假設在hexun.com域中web.hexun.com是一個Web服務器,web.hexun.com80端口提供網站服務,那麼我們如何用SRV記錄說明這些信息呢?如下圖所示,我們在DNS服務器中選擇新建“其他新紀錄”。200810231224771166230.jpg

記錄類型我們選擇SRV

200810231224771173777.jpg

下圖是我們創建的SRV記錄,這條記錄的意思是服務器web.hexun.comhexun.com域中提供HTTP服務,此服務基於TCP協議,守護在80端口。

200810231224771180286.jpg

PTR記錄PTR記錄也被稱爲指針記錄,PTR記錄是A記錄的逆向記錄,作用是把IP地址解析爲域名。由於我們在前面提到過,DNS的反向區域負責從IP到域名的解析,因此如果要創建PTR記錄,必須在反向區域中創建。下面我們舉例說明如何創建反向區域以及PTR記錄。如下圖所示,我們在DNS服務器的反向區域中選擇“新建區域”。200810231224771187790.jpg

出現新建區域嚮導,選擇下一步繼續。200810231224771200722.jpg

區域類型選擇“主要區域”。

200810231224771208065.jpg

嚮導要求輸入當前的網絡號,網絡號是IP地址和子網掩碼進行與運算後的結果,反向區域的名稱不能隨便設置,必須是顛倒的網絡號再加上in-addr.arpa後綴。例如當前的網絡號是202.99.16,那反向區域的名稱就應該是16.99.202.in-addr.arpa200810231224771216390.jpg

設置反向區域的數據文件,使用默認值即可。200810231224771223294.jpg

這個區域也不需要動態更新。

200810231224771230148.jpg

如下圖所示,反向區域創建完成。200810231224771237298.jpg

創建了反向區域之後,我們就可以在反向區域中創建PTR記錄了,如下圖所示,我們選擇在反向區域中創建PTR記錄。

200810231224771249216.jpg

如下圖所示,我們創建的PTR記錄把202.99.16.1解析爲域名ns1.hexun.com200810231224771257588.jpg

創建了PTR記錄後,我們就可以把IP解析爲域名了,下圖是我們用nslookup工具測試的結果,我們看到IP地址已經被正確地解析爲域名了。其實當我們運行nslookup後,nslookup所做的第一件事就是把DNS服務器的IP地址202.99.16.1進行反向解析。200810231224771265212.jpg

別名至此,我們把DNS服務器中的幾種常用記錄都簡單進行了介紹,如果大家掌握了,那麼應付一般的應用就基本上沒有問題了。

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