FreeBSD下 DNS的體系結構(轉)

ba發表於2007-08-15
FreeBSD下 DNS的體系結構(轉)[@more@]  通常,一臺計算機只需要配置域名解析就可以了,不需要自己執行名字伺服器守護程式,然而有些時候需要設定自己的名字伺服器,這就需要FreeBSD下配置名字伺服器BIND(Berkeley Internet Name D omain)。BIND也是由伯克利開發的一個著名軟體,它的執行程式為named,執行在Internet上幾乎所有的名字伺服器上,構成Internet的名字系統。

  由於普通的客戶計算機並不需要執行named,因此在其/etc/rc.conf配置檔案中,named_enable 應為NO。當需要執行named以提供DNS服務的時候,就要將這個引數的值改為”YES”。


DNS的體系結構

  Internet上的DNS名字服務為一種分散式的體系,由分佈在Internet各地的DNS伺服器上的named 守護程式為整個Internet提供本域內計算機的名字解析服務。DNS域名結構為分級方式,例如 中最後面的cn為頂級域名,由後向前分別劃分為不同級別的域。

  Internet上的頂級域名有兩種,一種象cn這樣的國別程式碼,另一種是如同edu、org、net、com 等分類程式碼。國別頂級域下的次級域名同樣可以按照地域或組織結構來分類劃分。

  那麼要進行名字解析,就需要從域名的後面向前,一級級查詢這個域名。因此Internet上就有一些DNS伺服器為Internet的頂級域提供解析任務,這些DNS伺服器稱為根DNS伺服器。知道了根DNS伺服器的地址,就能按級查詢任何具有DNS域名的主機名字,BIND程式碼中就包括了這些根DNS伺服器的地址。

  名字服務使用zone的概念來表示一個域內的主機,然而zone與域也有所區別,zone只是域的一部分,而不是整個域。因為zone中不包括域下的子域。例如域名的域為example.org.cn ,這是一個獨立的zone。這個域下可由子域組成,例如就屬於其子域sub.example.org.cn,子域也是一個獨立的zone,並不包括在example.org.cn 這個zone之內,作為域的example.org.cn中就包括sub.example.org.cn子域。

  除了從名字查詢主機的IP地址這種正向的查詢方式之外,另外還有從IP地址反查主機域名的解析方式。很多情況下網路中使用這種反向解析來確定主機的身份,因此也很重要。查詢名字的反向解析是從前面的網路地址向後面的節點地址,逐級查詢,因此IP地址zone是IP地址的前面部分。然而由於一個主機的域名可以任意設定,並不一定與IP地址相關,因此正向查詢和反向查詢是兩個不同的查詢過程,需要配置不同的zone。

使用DNS查詢工具

  用來進行DNS查詢的一個非常有用的工具是nslookup,可以使用它來查詢DNS中的各種資料。除了可以在命令列下直接進行基本的DNS查詢之外,直接啟動nslookup將進入一個互動模式,這裡能查詢各種型別的DNS 資料。

  的名字解析資料可以有各種不同的型別,有設定這個zone的引數的SOA型別資料,有設定名字對應的IP地址的A型別資料,有設定從IP地址反向解析DNS名字的PTR資料,有定義服務與這個zone的DNS伺服器的NS資料,以及定義主機別名的CNAME資料。這些不同型別的資料均可以透過nslookup的互動模式來查詢,需要使用 set type命令設定相應的查詢型別。

$ nslookup

Default Server: ns.hazzptt.net.cn

Address: 202.102.224.68



> set type=ns

> yahoo.com

Server: ns.hazzptt.net.cn

Address: 202.102.224.68



Non-authoritative answer:

yahoo.com nameserver = NS2.DCA.yahoo.com

yahoo.com nameserver = NS5.DCX.yahoo.com

yahoo.com nameserver = NS.EUROPE.yahoo.com

yahoo.com nameserver = NS1.yahoo.com



Authoritative answers can be found from:

NS2.DCA.yahoo.com internet address = 209.143.200.34

NS5.DCX.yahoo.com internet address = 216.32.74.10

NS.EUROPE.yahoo.com internet address = 195.67.49.25

NS1.yahoo.com internet address = 204.71.200.33

>

  這個例子就使用nslookup來查詢yahoo.com這個zone的名字伺服器,需要將型別設定為ns來執行查詢。用來幫助獲得DNS資料的工具還有很多,如dig能迅速返回整個zone的名字解析資料,dnswalk可以用來幫助查詢名字伺服器的設定。這些工具都可以用來幫助查詢DNS的設定問題。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617731/viewspace-958218/,如需轉載,請註明出處,否則將追究法律責任。

相關文章