命名運行
在大多數機器上提供域名服務的程序通常被命名了(讀為 name-dee )。這原來是被開發了的、為BSD提供
名字服務到顧客的一個服務器程序,並且可能到其它的名字服務器。當前在大多數安裝上被使用了的版本
似乎是 BIND-4.8.3 。新版本, BIND-4.9.3 ,目前被外部測試,並且應該不久就可得到。
這節要求理解一些域名系統工作的方法。如果下列討論對你來講都不明白,你可能要再讀gif這一章,它對
DNS 的基礎知識有一些更多的信息。
命名通常在系統引導時間時被啟動,並且一直運行到機器再次停止。它從一個叫/etc/named.boot的配置文
件中獲得它的信息,並且包含數據映射的各種各樣的文件印射域名到地址等等。者被稱為地區文件。這
些文件的格式和語義將在下一節被解釋。
運行命名,簡單地進入
# /usr/sbin/named
在提示符。命名的願望來,讀 named.boot 文件和任何地區在那裡被指定了的文件。它在 ASCII 中寫它的進
程身份到 /var/run/named.pid ,從主要的服務器下載任何地區文件,如果必要,並且為 DNS 詢問的端口 53
上開始聽。
--------------------------------------------------------------------------------
Named.boot 文件
named.boot 文件通常很小並且包含一些其他的小東西,但是到掌握文件的指示器包含地區文件信息,以及
到其他名字服務者的指示器。在引導文件中的注釋以一個分號開始並且擴大到下一個新行。在我們在更多的
詳細討論 named.boot 的格式以前,我們將看一下在圖中被給的 vlager 樣品文件。
Figure: The named.boot file for vlager.
;
; /etc/named.boot file for vlager.vbrew.com
;
directory /var/named
;
; domain file
;---------------------------------------------------
cache . named.ca
primary vbrew.com named.hosts
primary 0.0.127.in-addr.arpa named.local
primary 72.191.in-addr.arpa named.rev
緩存和在這個例子被顯示出的主要的命令裝載信息進入命名。這個信息來自第二個參數中被指定了的主人文件。
他們包含 DNS 資源記錄的文本表示,我們將在下面看到。
在這個例子中,我們為三個域設置了作為主要名字服務器的命名,在文件末尾由主要的語句顯示了。這些行的第
一行,例如,指示命名為 vbrew.com 充當一個主要的服務者,從文件 named.hosts中找到地區數據。目錄關鍵詞告
訴它所有的地區文件位 /var/named中 。
緩存入口是很特殊的,並且應該出現在所有運行一個名字服務器的機器上。它的功能有兩個:它指示命名啟用它
的緩存,並且從指定的緩存文件中裝載根命名服務器提示(在我們的例子中的 named.ca )。我們將在下面回到名
字服務器提示。
這有你能在 named.boot 中使用的最重要的選擇的一張表:
目錄
這個指定地區文件居住的一個目錄。文件的名字可以相對這個目錄被給出。若幹目錄可以由再三地使用目錄被指定。
根據 Linux 文件系統標準,這應該是 /var/named 。
主要
這個作為一個參數得到一個域名和一個文件名字,聲明本地服務器對命名的域有權威。作為一個主要的服務器,
從給出的主人文件裝載地區信息。通常,這裡總是在每個引導文件中至少有一個主要的入口,也就是為網絡
127.0.0.0的倒轉映射,它是本地的 loopback 網絡。
次要的
這個語句作為一個參數的域名,一張地址表,和一個文件名。它聲明本地服務器為指定領域的一個次要的主人服
務器。一個次要的服務器也在域上保持權威的數據,但是它不從文件中收集它,但是試圖從主要的服務器下載它。
至少一個主要服務器的IP地址必須這樣被給在命名的地址表上。本地的服務器將依次聯系他們每一個直到它成功
地轉移地區數據庫,然它被存儲在作為 第三個參數被給出的備份文件中。如果主要的服務器沒有反應,地區數
據會從從備份文件中重新得到。然命名將試圖在常規的間隔中更新地區數據。這解釋在下面,它與 SOA 資源
記錄類型相關聯。
緩存
這個作為參數得到域和一個文件名。這個文件包含根服務器提示,那是指向根名字服務器的一張記錄表。僅僅 NS
和一個記錄將被認出。域參數通常是根域名“.”。
這個信息是絕對關鍵命名:如果緩存語句不在引導文件中發生,命名根本將不開發本地的緩存。這將嚴重地退化執
行和增加網絡負擔,如果查詢的下一個服務器不在本地的網上。而且,命名將不能到達任何根命名服務器,這樣它
除了那些權威則不會解決任何地址。這條規則的一個例外是當使用運送服務器時( cf forwarders 選擇在下面)。
forwarders
這個語句作為一個參數得到一張地址表。這張表上的IP地址指定一張可查詢的命名服務器表,如果它不能從它的本
地緩存解決詢問。他們有序的經過實驗,直到他們中的一個對查詢做出反應。
奴隸
這個陳述使名字服務器成為一個奴隸服務器。就是說,它決不會自己執行遞歸的詢問,只是把他們提交給
forwarders 語句被指定了的服務器。
有兩個選擇我們將不在這裡描述,是 分類表 和領域。另外,有兩條指令可以在地區數據庫文件中被使用。這些是
$INCLUDE 和 $ORIGIN。因為他們很少被需求,我們也將不在這裡描述他們。
(http://www.fanqiang.com)
進入【UNIX論壇】
|