TCP/IP 與 Internet 網路:第十三章 網域名稱系統 上一頁 下一頁
13-8 DNS 客戶端設定 – resolv.conf
一般 Unix/Linux 系統上,都有一只『解址器』(Resolver)程式負責 DNS 查詢工作,而它是在 /etc/resolv.conf 檔案上設定的(也可以由 netconf 或 linuxconf 來設定)。Resolver 並非一個獨立明確的處理程序,而是提供網路程式呼叫的程式庫。如果主機有設定 resolv.conf 檔案,網路程式每次開始使用 Resolver 時,都會讀取這個檔案。如果主機沒有 resolv.conf 檔案,則會企圖連接本地的 named 程式(DNS 的守護程式),雖然如此也可以達到查詢的目的,但除非本地主機也是名稱伺服器(才會有 named),才能連結得到。另一方面,某些系統的 named Daemon 設定方式不同,也許無法查詢到所需的資料。因此,無論一般主機或伺服器都必須安裝有 /etc/resolv.conf 檔。我們以 linux-2 主機上的 /etc/resolv.conf 為範例如下:
[root@linux-2 root]# cat /etc/resolv.conf search cu.edu.tw nameserver 163.15.2.30 nameserver 210.17.1.1 nameserver 202.145.138.200 |
上述範例中,cu.edu.tw 為本身網域名稱;163.15.2.30 是本書 DNS 伺服器範例的位址;210.17.1.1 和 202.145.138.200 兩者是由 linux-1 主機(NAT 路由器)上抄錄過來的。以下說明 /etc/resolv.conf 各欄位之功能:
(1) domain:domain 設定預設網域名稱。
(2) serach:search 紀錄用來記錄要搜尋的網域。例如紀錄是 cu.edu.tw,則關於 liunx-1 的搜尋會以 linux-1.cu.edu.tw 來進行。
(3) nameserver:nameserver 指定給 Resolver 詢問網域資料的伺服器 IP 位址。詢問的順序就按照名稱伺服器在設定檔裡排列的順序。如上檔案中,首先查詢 210.17.1.1,如查詢不到,再往 202.145.138.200 上查詢,依此類推。
(4) option:option 是用來設定 Resolver 的某些選項。Option:debug 用來啟動除錯功能;option ndots:n 用來設定主機名稱內的點號數目,以決定是否使用預設網域,預設值是 1。若指定 option ndots:2,包含一個點號的主機名稱就有預設網域,但包含兩個點號的位址則沒有。
範例檔案表示 linux-2 設定了三個預定名稱伺服器,最前面的伺服器(163.15.2.30)優先權最高,當 linux-2 主機以客戶端身分查詢網域資料時,首先到 163.15.2.30 查詢,如果失敗,再到 210.17.1.1 查詢,如再失敗,則到 202.148.138.200 伺服器上查詢,如果還是失敗,再由 163.15.2.30 向根網域查詢。