RHEL 5服務篇—部署DNS域名解析服務(一)BIND軟體
DNS 系統在網路中的作用就是維護著一個地址資料庫,其中記錄了各種主機域名與IP地址的對應關係,以便為客戶程式提供正向或反向的地址查詢服務,即正向解析和反向解析。
正向解析:根據域名查詢IP地址,即將指定的域名解析為相應的IP地址。
反向解析:根據IP地址查詢域名,即將指定的IP地址解析為相應的域名。
每一臺DNS伺服器都只負責一個有效的範圍(一個域或幾個域)內的主機域名和IP地址的對應關係,這些特定的DNS域或IP地址段稱為“zone(區域)”。根據地址解析的方向不同,DNS區域相應地分為正向區域和反向區域。根據DNS伺服器所管理區域的不同,可以分為不同型別的。
從伺服器的角色只是針對某一個特定的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記錄部分用於設定區域名稱,管理郵箱,以及為從域名服務指定更新引數。
地址解析記錄部分:
上述配置內容中,用以下四種常見的地址解析記錄。
NS域名伺服器:記錄當前區域的DNS伺服器的主機地址。
MX郵件交換:記錄當前區域的郵件伺服器的主機地址,數字10表示(當有多個MX記錄時)選擇郵件伺服器的優先順序,數字越大優先順序越低。
A地址:記錄正向解析條目。
CNAME別名:記錄某一個正向解析條目的其他名稱。
在反向區域檔案中,不會用到A地址記錄,而是使用PTR指標記錄,使用PTR記錄時,第一列只需要指明對應IP地址的“主機地址”部分即可。
注意:在區域檔案中當使用完整的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” 部落格,謝絕轉載!