淺談配置Linux主域名服務器文件
假設要建立一個DNS服務器負責維護的區域abc.com,包含www主機、dns主機、mail主機以及ftp主機。在192.168.124.128這臺服務器配置DNS,將www主機和ftp主機解析到192.168.124.129這個IP地址上,將mail主機解析到192.168.124.130這個IP地址上。首先在主配置文件中加入區域abc.com,並配置好rndc。
要想配置DNS服務器,首先來了解一下構成一個基本的域名解析系統所要包含的文件,DNS服務器要提供基本的服務功能需要包含以下6個文件:1.DNS主配置文件:/etc/named.conf2.DNS數據庫文件:/var/named/named.ca3.本地正向解析文件:/var/named/localhost.zone,其中文件名任意,由named.conf 指定。4.本地反向解析文件:/var/named/127.0.0.zone ,其中文件名任意,由named.conf 指定。5.新增區域正向解析文件:/var/named/abc.com.zone,文件名任意,由named.conf 指定。
6.新增區域反向解析文件:/var/named/124.168.192.in-addr.arpa.zone ,文件名任意,由named.conf 指定,這裏用IP做爲標記。
上述6個文件是構建一臺基本dns服務器所需的最基本的6個配置文件,默認情況下named.conf 在 /etc 目錄下,其餘5個文件都在 /var/named 目錄下,爲了安全的考慮,軟件開發人員,開發了一個新的軟件包,bind-chroot 軟件包,所謂DNS chroot 功能,默認是將 /var/named/chroot 當成根目錄,所以本來應該放置在 /etc 目錄下的 named.conf 變成了 /var/named/chroot/etc 目錄下。啓用chroot功能後,所有的上述6個文件存放的位置應該如下:
DNS主配置文件: /var/named/chroot/etc/named.conf 。
DNS數據庫文件: /var/named/chroot/var/named/named.ca 。
本地正向解析文件: /var/named/chroot/var/named/localhost.zone 。
本地反向解析文件: /var/named/chroot/var/named/127.0.0.zone 。
區域正向解析文件: /var/named/chroot/var/named/abc.com.zone 。
區域反向解析文件: /var/named/chroot/var/named/124.168.192.in-addr.arpa.zone 。
注意: 上面的最後兩個新增區域的正向及反向解析文件,需要手工添加。注意添加的位置爲 /var/named/chroot/var/named 目錄。
配置過程:
一、查看bind 服務器主配置文件 named.conf 。
[root@localhost~]#vi /var/named/chroot/etc/named.conf
named.conf 文件中,包含named服務的主要設置部分,根據設置功能不同,設置部分可分爲許多不同類型,(如Zone 定義區域內容,每個區域中至少須存在一臺DNS服務器;
Opitions 設置通用的服務器配置及其他選項默認值;
Key 指定驗證和授權時使用的鍵值(key)信息;
Server 設置單個遠程服務的特定配置選項;
Include 參照其他文件的內容;
Logging 定義記錄文件內容及記錄文件內容傳送的對象 ;等。)
以區域zone 爲主要內容,一個區域zone包括定義該區域zone的類型及對應的文件。DNS區域zone分5種類型:
Master : DNS主區域
Slave : DNS輔助區域是主區域的複製
Stub : 類似於輔助區域,但只複製主區域中NS 記錄
Forward : 轉發區域
Hint :用來指定ROOT 服務器
二、添加新增正向解析區域及反向解析區域
在named.conf文件中添加如下代碼,通知DNS服務器主程序,新增了兩個區域,此時DNS服務器維護區域的數量將由2變成4 。可利用service named status 驗證。
zone "abc.com" {
type master;
file "abc.com.zone";
};
zone "124.168.192.in-addr.arpa.zone" {
type master;
file "124.168.192.in-addr.arpa.zone";
};
三、編寫新增正向區域文件 abc.com.zone 。
[root@localhost ~]#vi /var/named/chroot/var/named/abc.com.zone
在指定目錄下建立一個空的文件,名字爲abc.com.zone ,該名稱是由named.conf 中對應區域的 file 項指定的名稱。在文件中輸入以下代碼:
$TTL 86400
@ IN SOA abc.com root.abc.com.(
2008072001;serial
28800 ;refresh
14400 ;retry
86400 ;expire
86400) ;minimum
@ IN NS dns.abc.com.
@ IN MX 10 mail.abc.com.
dns.abc.com IN A 192.168.124.128
mail.abc.com IN A 192.168.124.130
ftp IN CNAME www
根據前面的任務情境給出了dns 主機、www主機 、mail主機 及ftp 主機的域名解析資源記錄。區域的首部給出了SOA資源記錄,SOA資源記錄包含5個相關參數。這5個參數都是用來控制主域名服務器與輔助服務器的同步操作。
常用資源記錄類型:
SOA 區域的起始授權資源記錄
NS 該區域的域名服務器資源記錄
A 正向解析資源記錄,域名到IP 地址的轉換
PTR 反向解析資源記錄,IP地址到域名的轉換
MX 該區域的郵件資源記錄
CNAME 主機的別名資源記錄
四、編寫新增反向區域文件 124.168.192.in-addr.arpa.zone 。
[root@localhost ~]#vi /var/named/chroot/var/named/124.168.192.in-addr.arpa.zone
在指定目錄下建立一個空的文件,名字爲124.168.192.in-addr.arpa.zone ,該名稱是由named.conf 中對應區域的file項指定的名稱。 在文件中輸入以下代碼:
$TTL 86400
@ IN SOA abc.com root.abc.com.(
2008072001;serial
28800 ;refresh
14400 ;retry
86400 ;expire
86400) ;minimum
@ IN NS dns.abc.com.
128.124.168.192.in-addr.arpa. IN PTR dns.abc.com.
130 IN PTR mail.abc.com.
五、利用 rndc 控制DNS服務器。
使用下列命令生成rndc.conf 文件。
[root@localhost ~]#rndc-confgen >>/etc/rndc.conf
查看 rndc.conf ,將下列代碼添加到 named.conf 文件中,使 rncd 可以遠程控制 named服務。
key "rndckey" {
algorithm hmac-md5;
secret "oYXwrXp89HnCQ0bOTS0zQA==";
};
controls {
inet 127.0.0.1 port 953
allow {127.0.0.1;} keys {"rndckey";};
};
在rndc.conf 中定義了key 和controls 兩個區域的相關設定,若caching-nameserver 自動生成的主配置文件 named.conf 中已包含這兩個區域配置,應修改 named.conf ,使得這兩個區域相關設定與 rndc.conf 一致即可,主要是key區域中secret 選項需要同步。使用rndc reload 命令控制 named 服務的重起,相當於要求 named 服務重新讀取一下 named.conf 文件,這樣便於 named 有區域變動後,使這生效。使用如下命令:
[root@localhost ~]#rndc reload
Server reload successful
**筆者知識面有限,如有錯誤,請指教!**