1. 程式人生 > >RHEL 5服務篇—部署DNS域名解析服務(一)BIND軟體

RHEL 5服務篇—部署DNS域名解析服務(一)BIND軟體

      DNS 系統在網路中的作用就是維護著一個地址資料庫,其中記錄了各種主機域名與IP地址的對應關係,以便為客戶程式提供正向或反向的地址查詢服務,即正向解析和反向解析。

正向解析:根據域名查詢IP地址,即將指定的域名解析為相應的IP地址。

反向解析:根據IP地址查詢域名,即將指定的IP地址解析為相應的域名。

每一臺DNS伺服器都只負責一個有效的範圍(一個域或幾個域)內的主機域名和IP地址的對應關係,這些特定的DNS域或IP地址段稱為“zone(區域)”。根據地址解析的方向不同,DNS區域相應地分為正向區域和反向區域。根據DNS伺服器所管理區域的不同,可以分為不同型別的。

153251661.jpg

從伺服器的角色只是針對某一個特定的DNS區域來說,DNS可以是主DNS伺服器,同時可以為從DNS伺服器,也可以同時為快取DNS伺服器。

BIND的安裝和控制

1、BIND的相關軟體

bind-9.3.6-4.P1.el5_4.2:提供了域名伺服器的主要程式及相關檔案。

bind-utils-9.3.6-4.P1.el5_4.2:提供了對DNS伺服器的測試工具程式,如nslookup等。

bind-libs-9.3.6-4.P1.el5_4.2:提供了bind、bind-utils需要使用的庫函式。

bind-chroot-9.3.6-4.P1.el5_4.2:為BIND服務提供一個偽裝的根目錄(將/var/named/chroot/檔案作為BIND的根目錄),以提高安全性。

caching-nameserver-9.3.6-4.P1.el5_4.2.i386.rpm:提供構建快取域名伺服器的基本配置檔案,這些檔案在構建主、從域名伺服器時也可以作為參考。

2、安裝BIND軟體

因為BIND相關的軟體有很多個,使用rpm命令安裝時需要注意依賴關係,所以在這裡我們使用yum安裝。

[[email protected] /]#yum -y install bind*              //安裝BIND相關的軟體包

[[email protected] /]#yum -y install caching*        //安裝快取域名伺服器的軟體包

BIND服務的配置檔案

使用BIND軟體構件域名服務時,主要涉及兩種型別的配置檔案:主配置檔案區域資料檔案。其中,主配置檔案用於設定named服務的全域性選項,註冊域及訪問控制等各種執行引數;區域資料檔案用於存放某個DNS區域的地址解析記錄(正向或反向記錄)。

1、主配置檔案

主配置檔案named.conf通常位於/etc/目錄下,如果安裝了bind-chroot-9.3.6-4.P1.el5_4.2軟體包,則主配置檔案預設位於/etc/named/chroot/etc/目錄下,需要使用者手工建立。在named.conf檔案中,主要包括全域性配置,區域配置兩個部分,每一條配置記錄的行尾以分好“;”表示結束。

全域性配置部分:

options       {

           listen-on port 53 { 173.16.16.1; };              //監聽地址和埠

           directory  "/var/named";                           //區域資料檔案的預設存放位置

           allow-query { 192.168.1.0/24; 173.16.16.0/24; };     //允許使用本DNS伺服器的網段

};

在上述配置內容中,除了director項通常會保留以外,其他的配置項都可以省略。若不指定listen-on配置項時,named預設在所有介面的UDP53埠監聽服務;不指定allow-query配置項時,預設會響應所有客戶機的查詢請求。

區域配置部分:

zone "cshbk.com" IN {                          //正向“cshbk.com”區域

       type master;                                 //型別為主區域

       file "benet.com.zone";                   //區域資料檔案為cshbk.com.zone

       allow-transfer { 173.16.16.2; };      //允許下載的從伺服器地址

};

zone "16.16.173.in-addr.arpa" IN {        //反向“173.16.16.0/24”區域

       type master;                                   //型別為主區域

       file "173.16.16.arpa";                     //區域資料檔案為173.16.16.arpa

       allow-transfer { 173.16.16.2; };     //允許下載的從伺服器地址

};

在上述配置內容中,有幾個地址需要注意:

每個zone區域都是可選的(包括根域,迴環域,反向域),具體根據實際需要而定,zone配置部分的“IN”關鍵字也可以省略。

反向區域的名稱有倒序的網路地址和“.in-addr.arpa”組合而成。

file配置項用於指定實際的區域資料檔案,檔名稱由管理員自行設定。

區域配置中的部分引數(如allow-transfer)也可以放在全域性配置裡。

由於DNS伺服器可以為多個區域提供解析,因此在named.conf檔案中可以有多個zone配置欄位。

修改完主配置檔案以後,可以執行named-checkconf命令對named.conf檔案進行語法檢查。使用“-z”選項還可以嘗試載入區域檔案。如果檢查時出現錯誤語法,只需要根據錯誤提示修改即可。

[[email protected] /]#named-checkconf -z /var/named/chroot/etc/named.conf

2、區域配置檔案

區域配置檔案通常位於/var/named/目錄下,如果安裝了bind-chroot-9.3.6-4.P1.el5_4.2軟體包,則主配置檔案預設位於/etc/named/chroot/var/named/目錄下,需要使用者手工建立。區域配置檔案分為正向區域檔案和反向區域檔案,其配置基本相同。

TTL配置及SOA記錄部分:

$TTL 86400                //有效解析記錄的生存週期

@    IN    SOA    benet.com.    admin.benet.com (    //SOA標記,域名,管理郵箱

       2013052020     //更新序列號,可以是10位以內的整數

       4H                     //重新整理時間,從新下載地址資料的間隔

       15M                  //重試延時,下載失敗後的重試間隔

       1W                   //失效時間,超過改時間仍無法下載則放棄

       1D                    //無效解析記錄的生存週期

)

上述配置內容中第一行的TTL配置用於設定預設的生存週期,即快取解析結果的有效時間。SOA記錄部分用於設定區域名稱,管理郵箱,以及為從域名服務指定更新引數。

地址解析記錄部分:

174534984.jpg

上述配置內容中,用以下四種常見的地址解析記錄。

NS域名伺服器:記錄當前區域的DNS伺服器的主機地址。

MX郵件交換:記錄當前區域的郵件伺服器的主機地址,數字10表示(當有多個MX記錄時)選擇郵件伺服器的優先順序,數字越大優先順序越低。

A地址:記錄正向解析條目。

CNAME別名:記錄某一個正向解析條目的其他名稱。

在反向區域檔案中,不會用到A地址記錄,而是使用PTR指標記錄,使用PTR記錄時,第一列只需要指明對應IP地址的“主機地址”部分即可。

172437633.jpg

注意:在區域檔案中當使用完整的FQDN地址時,務必記得末尾的點號“.”不能省略。

當一臺伺服器需要同時承載某個DNS區域內的許多個不同的域名時,可以再區域檔案的最後一行新增泛域名解析記錄,即使用“*”以匹配任意主機名。

*    IN    A    173.16.16.10

當一個域名對應多個IP進行基於域名的負載均衡時,可以在區域檔案的最後新增基於這個域名的多個IP,實現輪詢負載。

www    IN    A    173.16.16.100

www    IN    A    173.16.16.101

www    IN    A    173.16.16.102

本文出自 “鄧奇的Blog” 部落格,謝絕轉載!