上一步 回到第一頁 下一步

設定 /etc/named.conf檔案

Bind 的主要設定檔為 named.conf,因此Bind執行時會去讀取此執行檔。而 named.conf的功能是由於每部 name server 主要是負責某些特定 zone 中有關機器的 domain name,IP 的查詢、127.0.0.1 本機 IP 的查詢,除此之外,name server 也需要知道要怎樣去找 root name server。因此 named.conf 便會指出該 name server 管轄的網域名稱及相關檔案存取的位置及名稱。

named.conf 檔案主要的內容包含4個部分,分別為:

我們先看一個完整的 named.conf 的檔案:

acl internals { 192.168.10.0/24; };				
options {
directory "/var/named";
allow-transfer{ 192.168.11.7;
                internals;
};
};
controls {
inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};
zone "." {                         //.(root) 的內容
type hint;
file "named.ca";                 
};
zone "localhost"{                  //localhost 的正解
type master;
file "localhost.zone";            
};
zone "0.0.127.in-addr.arpa"{       //localhost 的反解
type master;
file "named.local";                
};
zone "twnic.com.tw"{               //使用者domain的正解
type master;
file "twnic.hosts";                
};
zone "10.168.192.in-addr.arpa"{    //使用者domain的反解
type master;
file "twnic.rev";                  
};

				

由上例關於 named.conf 的設定檔中可分為許多不同的類型,不同類型皆由{}包起來,以下說明不同設定的類型。

1. acl : 定義一份IP位址對應清單,以利存取時的控制。

e.g.

acl internals { 192.168.10.0/24; };
					

定義IP位址清單範圍為192.168.10.0/24,而"internals"為使用者可自行定義的 acl 名稱,設定acl後對於之後相關存取設定時 (e.g. allow-query、allow-transfer...等等),便可直接使用 acl 名稱來代表之前所設定的IP範圍。

2. options :控制通用的伺服器組態,設定其他選項的預設值。

e.g.

options {
directory “/var/named”;
allow-transfer{ 192.168.11.7;
                internals;
};
					

表示將 named 的區域紀錄檔(zone file)儲存在 /var/named 的目錄中,也就是Bind伺服器中所有DNS紀錄檔案都集中於此。此外,在往後的"DNS Server型態"中會提到的forwarder,其設定也是加在options內。

至於 allow-transfer 選項,它指定 DNS 對於特定 IP 位址的 zone transfer。 舉例來說, 我們允許 IP 位址為192.168.11.7和 IP 範圍192.168.10.0/24(由acl定義名稱為"internals",於之後介紹acl)的主機(可能是我們網域上的一個次要 DNS伺服器)請求 zone transfer。如果您漏了這個選項,位於 Internet 的任何人都可以請求這個轉換。

3. controls :宣告使用ndc程式時控制的方式。

e.g.

controls {
inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};
					

其中”inet”表示利用TCP/IP Socket來存取Internet資源,它是由指定的”ip_addr”(IP address)和”ip_port”(ip_port)所產生,而此處表示可允許本機(localhost)利用鍵值(rndckey)進行存取,此設定會在"DNS server 安全防護"中有詳細的說明。

4. zone :定義zone,所謂zone是只DNS伺服器管理時的邏輯單位, 例如 *.twnic.net或 *.dns.twnic.net在每個區域中至少須存在一部DNS伺服器。

e.g.

zone "." {  
type hint;
file "named.ca";
};
					

定義“.”,Internet DNS 最上層的位置,而 file "named.ca"指定了其記錄檔(zone file)名稱。記錄檔都存放在 /var/named 這個目錄下面,也就是前面 options 指定的 directory。
e.g.

zone "twnic.com.tw"{
type master;
file "twnic.hosts";
};
					

定義 twnic.com.tw 這個網域,是網域的正解設定,而其型態(type)是master DNS server,指定區域紀錄檔(zone file)為”twnic.hosts”。
e.g.

zone "10.168.192.in-addr.arpa"{
type master;
file "twnic.rev";
};
					

這個部份就和上述的設定是相互配合的,是網域的反解設定。要特別注意的是 in-addr.arpa 是固定的定義格式,不可改變。而在設定反查詢區域的時候﹐您一定要將您的 net ID 部份反過來寫。例如﹕本地網路為192.168.0.0/24 ﹐它的反查詢區域名則是﹕“0.168.192.in-addr.arpa”﹔如果我將 netmask 改為16bit﹐即192.168.0.0/16﹐它的反查詢區域名就會變成﹕“168.192.in-addr.arpa”。

上一步 回到第一頁 下一步