2. 安裝伺服器軟體
2.1 取得bind軟體包(現在新的版本為8.2.2 p5)
從bind的首頁http://www.isc.org上取得最新stable版的三個檔案:
bind-contrib.tar.gz
bind-doc.tar.gz
bind-src.tar.gz
或者從http://www.redhat.com上取得三個檔案:
bind-8.2.2-p5-9.i386.rpm
bind-devel-8.2.2-p5-9.i386.rpm
cache-nameserver-6.2-2.noarch.rpm
2.2 安裝bind軟體包
安裝tar封裝的軟體包:
先解壓軟體包
tar zxpf bind-contrib.tar.gz
tar zxpf bind-doc.tar.gz
tar zxpf bind-src.tar.gz
編輯修改Makefile.set 檔案,增加或修改
'DESTLIB=/usr/lib/bind/lib'
'DESTINC='/usr/lib/bind/include'
編譯並安裝
make
make install
安裝rpm封裝的軟體包:
rpm -Uhv bind-8.2.2-p5-9.i386.rpm
rpm -Uhv bind-devel-8.2.2-p5-9.i386.rpm
rpm -Uhv cache-nameserver-6.2-2.noarch.rpm
3.讓伺服器跑起來---基本篇
3.1
BIND可被配置成幾種不同的運行方式,通用的BIND配置為純解析器系統,純快取服務器,主伺服器,輔伺服器.
解析器是指通過網域名稱伺服器查詢域資訊的程式碼,在unix系統中,它是以庫常式的方式實現的,而並不是一個單獨的客戶程式.純解析器系統很容易配置,只要設定一下/etc/resolv.conf檔案.這種方式通常用於由於某些限制不能在本地運行網域名稱伺服器軟體的系統中.
例如:/etc/resolv.conf內容類別似為:
search test.com
nameserver 127.0.0.1
nameserver 172.16.0.1
當配置解析器庫以使用BIND名字服務進行主機尋找,你也必須告知它使用哪個名字伺服器。對此有一個獨立的檔案,稱為resolv.conf。如果這個檔案不存在或是空的,那麼解析器就假設名字伺服器在你本地的主機上。
如果在你的本地主機上運行一個名字伺服器,你必須單獨地設定它。
resolv.conf中最重要的選項是nameserver,它給出了要使用的名字伺服器的IP地址。如果你通過幾次給出nameserver選項指定了幾個名字伺服器,那麼它們會以給出的順序試用。因此,你應該首先給出最可靠的伺服器。目前,至多支援三個名字伺服器。
如果沒有給出nameserver選項,那麼解析器試圖串連本地主機上的名字伺服器。
其它兩個選項,domain和search涉及到如果BIND不能用第一個請求解析主機名稱時附加在主機名稱上的預設域。search選項指定了一個試用的網域名稱列表。清單項目是用空格或定位字元分開的。
如果沒有給出search選項,就會通過使用網域名稱本身從本地區名以及直至root的父域中建立一個搜尋列表。本地區名可以使用domain語句給出;如果一個也沒有給出,那麼解析器就通過系統調用getdomainname(2)來擷取。
3.2 其它三類配置方式是用於網域名稱伺服器的
純快取服務器
純快取服務器運行網域名稱伺服器軟體,但並沒有網域名稱伺服器資料庫檔案,它記錄下每一個從遠端網域名伺服器獲得的資料,以回答將來對同一資訊的查詢.
純快取服務器所需的三個基本設定檔:
/etc/named.conf
/var/named/named.ca
/var/named/named.local
建立或修改/etc/named.conf:
// generated by named-bootconf.pl
options {
directory "/var/named";
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
// query-source address * port 53;
forwarders {172.16.0.1;172.16.0.11;};
};
//
// a caching only nameserver config
//
zone "." {
type hint;
file "named.ca";
};
zone "0.0.127.in-addr.arpa" {
type master;
file "named.local";
};
在檔案中"forwarders {172.16.0.1;172.16.0.11;};"其中的IP地址是你網路中主伺服器和輔伺服器的IP地址.
建立或修改/var/named/named.local
@ IN SOA localhost. root.localhost. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS localhost.
1 IN PTR localhost.
建立或修改/var/named/named.ca:
至於/var/named/named.ca就要從redhat linux光碟獲得了.也用命令從互連網上獲得:
dig @.aroot-servers.net.ns > /var/named/named.ca
如果是用rpm封裝的軟體包安裝的話,這三個檔案會自動產生,我們只需要修改/etc/named.conf.其中/var/named.ca一般是不用修改的.
主伺服器
主伺服器是給定域的所有資訊的授權單位來源.它所裝載的域資訊來自於由網域系統管理員所建立並在本地維護的磁碟檔案.
我們用"test.com"作為例子,我們需要五個基本設定檔:
/etc/named.conf
/var/named/named.ca
/var/named/named.local
/var/named/named.test.com
/var/named/named.172.16.0
建立或修改/etc/named.conf:
// generated by named-bootconf.pl
options {
directory "/var/named";
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
// query-source address * port 53;
};
//
// a PM nameserver config
//
zone "." {
type hint;
file "named.ca";
};
zone "0.0.127.in-addr.arpa" {
type master;
file "named.local";
};
//there are our primary zone files
zone "test.com" {
type master;
file "named.test.com";
};
zone "0.16.172.in-addr.arpa" {
type master;
file "named.172.16.0";
};
檔案中的zone "test.com"段是聲明這是用於test.com域的主伺服器,用於該域的資料從/var/named/named.test.com檔案中裝載.
檔案中的zone "0.16.172.in-addr.arpa"段是指向映射IP地址172.16.0.* 到主機名稱的檔案.用於該域的資料從/var/named/named.172.16.0檔案中裝載.
建立或修改/var/named/named.local
@ IN SOA ns.test.com. root.ns.test.com. (
2000051500 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS ns.test.com.
1 IN PTR localhost.
注意:在修改named.*檔案時每次存檔時要注意增加Serial值.如使用絕對網域名稱時千萬別忘了後面帶的"."
資源記錄中的@字元轉變為當前的域test.com,IN表示資源記錄使用TCP/IP地址,SOA表示管轄開始記錄.ns.test.com. 是這個域的主DNS伺服器的標準名稱,在之後是聯絡的EMAIL地址,其中@字元必須用"."代替.
建立或修改/var/named/named.test.com
@ IN SOA ns.test.com. root.ns.test.com. (
2000051500 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS ns.test.com.
ns A 172.16.0.1
ns2 A 172.16.0.11
www A 172.16.0.2
ftp CNAME www.test.com.
mail A 172.16.0.3
MX 10 mail.test.com.
建立或修改/var/named/named.172.16.0
@ IN SOA ns.test.com. root.ns.test.com. (
2000051500 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expi