BIND 名稱伺服器本身的所有設定都儲存於檔案 /etc/named.conf
。不過,要處理之網域的區域資料,包括主機名稱、IP 位址等,儲存於 /var/lib/named
目錄中的不同檔案中。詳細資訊會在稍後說明 。
/etc/named.conf
粗略分為兩個部分。其中一個是一般設定的 options
區段,另一個則是由個別網域的 zone
項目組成。logging
區段和 acl
(存取控制清單) 項目是選擇性的。註解行的開頭是 #
符號或 //
。在 範例 33.2 「基本的 /etc/named.conf」 中顯示了最基本的 /etc/named.conf
。
範例 33.2. 基本的 /etc/named.conf
options { directory "/var/lib/named"; forwarders { 10.0.0.1; }; notify no; }; zone "localhost" in { type master; file "localhost.zone"; }; zone "0.0.127.in-addr.arpa" in { type master; file "127.0.0.zone"; }; zone "." in { type hint; file "root.hint"; };
filename
";
指定 BIND 可以在其中找尋包含區域資料之檔案的目錄。通常是 /var/lib/named
。
ip-address
; };
指定無法直接解析 DNS 要求時應該將其轉遞至哪個名稱伺服器 (一般屬於提供者)。以 10.0.0.1
之類的 IP 位址取代 ip-address
。
將會在嘗試透過根名稱伺服器解析 DNS 要求之前先加以轉遞。除了 forward first
,可以寫入 forward only
以轉遞所有要求,且不會有任何要求傳送到根名稱伺服器。這對於防火牆組態是可以理解的。
ip-address
; };
告訴 BIND 哪個網路介面和哪個連接埠要接受用戶端查詢。port 53
不需要明確指定,因為 53
是預設連接埠。輸入 127.0.0.1
將允許來自本地主機的要求。如果完全省略此項目,預設會使用所有介面。
告訴 BIND 哪個連接埠應該傾聽 IPv6 用戶端要求。除了 any
外只能使用 none
。就 IPv6 而言,伺服器僅接受萬用字元位址。
如果防火牆封鎖 DNS 要求外送,則需要這個項目。這樣會告訴 BIND 從外部的連接埠 53 張貼要求,而不是從任何高於 1024 的連接埠張貼。
告訴 BIND 哪個連接埠用於 IPv6 查詢。
net
; };
定義用戶端可以張貼 DNS 要求的網路。使用如 192.168.1/24
的位址資訊取代 net
。尾端的 /24
是網路遮罩的縮寫表示式,在此例中為 255.255.255.0
。
控制哪些主機可以要求區域傳輸。在範例中,這類要求是使用 ! *
. 如果沒有這個項目,就可以從任一處要求區域傳輸,沒有限制。
如果沒有這個項目,BIND 每小時都會在 /var/log/messages
中產生數行統計資訊。指定 0 則完全不會顯示這些統計數字,或設定以分鐘為單位的間隔時間。
此選項定義 BIND 清除其快取記憶體的時間間隔。這樣每次清除時會觸發 /var/log/messages
中的項目。時間規格單位為分鐘。預設值是 60 分鐘。
BIND 會定期搜尋網路介面,尋找新的或不存在的介面。如果此值設定為 0
,就不會執行這個動作,且 BIND 僅會傾聽啟動時偵測到的介面。如果不想出現這種情況,請以分鐘為單位定義間隔時間。預設值是 60 分鐘。
當變更區域資料或重新啟動名稱伺服器時,no
會防止通知其他名稱伺服器。
範例 33.4. my-domain.de 的區域項目
zone "my-domain.de" in { type master; file "my-domain.zone"; notify no; };
在 zone
之後,指定要管理的網域名稱 (my-domain.de
),後面跟上 in
以及大括號包住的相關選項區塊,如範例 33.4 「my-domain.de 的區域項目」中所示。若要定義 slave zone,切換 type
為 slave
並指定管理此區域的名稱伺服器為 master
(也可能成為另一個主要的從屬),如 範例 33.5 「other-domain.de 的區域項目」 中所示。
範例 33.5. other-domain.de 的區域項目
zone "other-domain.de" in { type slave; file "slave/other-domain.zone"; masters { 10.0.0.1; }; };
區域選項:
藉由指定 master
,可以告訴 BIND 區域由本地名稱伺服器處理。這假設區域檔案已經以正確格式建立。
此區域傳輸自另一部名稱伺服器。必須與 masters
一起使用。
區域 .
屬於 hint
類型,可用來設定根名稱伺服器。此區域定義可以維持原狀。
my-domain.zone
or file 「slave/other-domain.zone」;
此項目可指定網域之區域資料所在的檔案。從屬區域並不需要此檔案,它們從另一部名稱伺服器取得此資料。若要分別主要和從屬檔案,請為從屬檔案使用目錄 slave
。
server-ip-address
; };僅從屬區域需要此項目。它指定應該傳輸區域檔案的名稱伺服器。
此選項可控制外部寫入存取,將允許用戶端產生 DNS 項目 — 出於安全性考量,通常不應使用此項目。如果沒有此項目,將禁止區域更新。以下項目會產生相同的結果,因為 ! *
可有效地禁止任何這類活動。