BIND 在win 2003 下的安裝及配置

轉自:http://bbs.chinaunix.net/viewthread.php?tid=596994

一.、Bind 簡介。

Bind是一款開放源碼的DNS服務器軟件,Bind由美國加州大學Berkeley分校開發和維護的,全名爲Berkeley Internet Name Domain它是目前世界上使用最爲廣泛的DNS服務器軟件,支持各種unix平臺和windows平臺。本文將介紹它在win 2003 server中最基本的安裝和配置。

二.、軟件的相關資源及準備工作。

官方網站:http://www.bind.com/
源碼軟件包:Bind 是開源的軟件,可以去其官方網站下載。http://www.isc.org/index.pl?/sw/bind/,目前最新版本爲bind-9.3.2。
幫助文檔:http://www.isc.org/index.pl?/sw/bind/ 有該軟件比較全面的幫助文檔。
FAQ:http://www.isc.org/index.pl/sw/bind/ 回答了該軟件的常見問題。
配置文件樣例:http://www.bind.com/bind.html 一些比較標準的配置文件樣例。
下載 UltraEdit  因爲要修改配置文件,都需要該軟件 ,當然你用記事本也行,提醒你的是用記事本很容易出問題
三.、軟件的安裝。

1.        安裝
由其官方網站中下載其源碼軟件包BIND9.3.2.zip 。接下來我將對安裝過程的一些重要步驟,給出其解釋:
2.        解壓壓縮包,運行安裝文件bindinstall
3.        默認情況下,安裝過程是不會建立配置文件和一些默認的域名解析的,不過並不妨礙,可以從下載一些標準的配置文件(http://www.bind.com/bind.html),也可以使用本文所提供的樣例文件。 默認情況下,安裝路徑爲C:/windows/system32/dns 下,可以看到有兩個目錄,分別爲bin和etc, 默認的主配置文件  /etc/named.conf(須手動建立該文件)。

四.軟件的配置。
1        BIND比較重要的配置文件有:named.conf,named.root,rndc.conf,還有/ etc/named目錄。
2        下面逐步分析一個比較基礎的配置文件named.conf:(注:named配置文件採用和c語言相同的註釋符號程序能否正常運行,全靠這個文件)。
(1) log options
/*
* log option
*/
logging {
channel default_syslog { syslog local2; severity error; };
channel audit_log { file "C:/windows/system32/dns/log/named.log"; severity error; print-time yes; };
/*手動建立該目錄和文件,並修改該路徑,注意2000 里路徑的符號和unix下路徑的寫法不同,以後程序中如果讀取文件,都要注意路徑的寫法。*/
category default { default_syslog; };
category general { default_syslog; };
category security { audit_log; default_syslog; };
category config { default_syslog; };
category resolver { audit_log; };
category xfer-in { audit_log; };
category xfer-out { audit_log; };
category notify { audit_log; };
category client { audit_log; };
category network { audit_log; };
category update { audit_log; };
category queries { audit_log; };
category lame-servers { audit_log; };
};


這一部分是日誌的設置,其中最主要的是

file "C:/windows/system32/dns/log/named.log"; 這一句指定了日誌文件的位置,要正常啓動named,必須要保證這一文件是存在的,並且named 進程對它有讀寫權限。

(2) options

options {
directory “C:/windows/system32/dns/etc/named";
/* 注意寫法 修改該路徑
listen-on-v6 { any; };

// If you've got a DNS server around at your upstream provider, enter
// its IP address here, and enable the line below.  This will make you
// benefit from its cache, thus reduce overall DNS traffic in the Internet.

forwarders {
your.upper.DNS.address;
};

/*
* 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;

/*
* If running in a sandbox, you may have to specify a different
* location for the dumpfile.
*/
dump-file "/etc/named_dump.db";
};


這一部分是一些基本的配置項:

directory "C:/windows/system32/dns/etc/named"; 指定域名解析等文件的存放目錄(須手動建立);

listen-on-v6 { any; }; 支持ipv6的請求;
forwarders {
your.upper.DNS.address;
}; 指定前向DNS,當本機無法解析的域名,就會被轉發至前向DNS進行解析。


(3) 線索域和迴環域

zone "." {
type hint;
file "named.root";
};

zone "0.0.127.IN-ADDR.ARPA" {
type master;
file "localhost.rev";
};


指定線索域和本地迴環域,這一部分使用一些標準的例子就可以。

file "named.root"; 指定該域的解析文件,其目錄爲options中directory "C:/windows/system32/dns/etc/named";指定的。在本例中爲C:/windows/system32/dns/etc/namd。

4)自定義域


zone "test.com" {
type master;
file "zone.test ";
};

zone "0.168.192.in-addr.arpa" {
type master;
file "zone.test.rev";
};
zone "4.0.0.f.0.5.2.0.1.0.0.2.IP6.ARPA" {
type master;
allow-transfer { any;};
        allow-query { any; };
file "ipv6.rev";
};

zone "lowerlevelzone.test.com" {
type slave;
masters {
192.168.1.1;
};
};

這一部分是配置文件中我們需要重點關心的部分:

zone "test.com" {
type master;
file "zone.test ";
}; 設定test.com域;
type master 指明該域主要由本機解析;
file "zone.test "指定其解析文件爲zong.test,目錄爲options中設定的目錄本例中爲/etc/named。

zone "0.168.192.in-addr.arpa" {
type master;
file "zone. test.rev";
}; 指定ipv4地址逆向解析

type slave 指明該域主要由低一級的域名服務器解析;
masters {
192.168.1.1;
};

// 指定低一級的域名服務器ip地址。

到此我們就初步建立了一個標準的named 的主配置文件,接下來建立對應的域名解析或逆向解析文件。



3        域名解析和IP地址逆向解析文件:/etc/namedb/zone.test

配置文件的格式大致如下


; From: @(#)localhost.rev 5.1 (Berkeley) 6/30/90
; $FreeBSD: src/etc/namedb/PROTO.localhost.rev,v 1.6 2000/01/10 15:31:40 peter Exp $
;
; This file is automatically edited by the `make-localhost' script in
; the /etc/namedb directory.
;
@ IN SOA ns.test.com. root.test.com.(
2005030116; Serial
3600 ; Refresh
900 ; Retry
3600000 ; Expire
3600 ) ; Minimum
 IN NS ns.test.com.

ns IN A 192.168.0.1
www6 IN AAAA 2001:250:f004::10
www IN A 192.168.0.2

本文件前半部分是一些默認的參數設置,只需把域名改成對應得你要設置的域就行,其餘的不用過分深究..幾個參數稍做解釋。

幾個需要注意的地方
IN NS ns.test.com;
這一條必須有,來指定本域的域名服務器 ;
域名必須以"."結尾。)
本文件的第二部分(倒數三行),指定了該域上的主機:
ns IN  A 192.168.0.1
ns 爲主機名,A 代表地址類型爲IPV4地址,192.168.0.1 是實際ip地址,這一條記錄的含義是ns.test.com 的ip地址爲 192.168.0.1
www6 IN AAAA 2001:250:f004::10
www6 爲主機名,AAAA代表地址類型爲IPV6地址,2001:250:f004::10 是其IPV6地址,這條記錄的含義是www6.test.com 的ip地址是2001:250:f004::10 。


2)IP地址逆向解析:

ipv4 逆向解析:    etc/namedb/zone.test.rev


; From: @(#)localhost.rev 5.1 (Berkeley) 6/30/90
; $FreeBSD: src/etc/namedb/PROTO.localhost.rev,v 1.6 2000/01/10 15:31:40 peter Exp $
;
; This file is automatically edited by the `make-localhost' script in
; the /etc/namedb directory.
;
@ IN SOA ns.test.com. root.test.com.(
2005030116; Serial
3600 ; Refresh
900 ; Retry
3600000 ; Expire
3600 ) ; Minimum
IN NS ns.test.com
;

1 IN PTR ns.test.com.
2 IN PTR  www.test.com./


五  幾個配置文件到此基本配置完成,成功了一半,接下來通過cmd 進入bin 的目錄
運行
1        運行  rndc-confgen –a  生成一個 rndc.key 爲什麼這麼做請看下面這段話,這是BIND安裝文件的說明。

which will create a rndc.key file in the dns/etc directory. This will allow you to run rndc without an explicit rndc.conf file or key and  control entry in named.conf file. See section 3.4.1.2 of the ARM for   details of this. An rndc.conf can also be generated by running:

2  運行 rndc-confgen >; rndc.conf

然後你會發現,當前目錄有一個rndc.conf的密鑰文件了,呵呵,如果你想看一下內容,也可以使用UltraEdit 打開它,該文件內容大致如下:


# Start of rndc.conf
key "rndc-key" {
        algorithm hmac-md5;
        secret "o2iuzvKIljrrxw7A4cJITQ==";
};

options {
        default-key "rndc-key";
        default-server 127.0.0.1;
        default-port 953;
};
# End of rndc.conf

# Use with the following in named.conf, adjusting the allow list as needed:
# key "rndc-key" {
#         algorithm hmac-md5;
#         secret "o2iuzvKIljrrxw7A4cJITQ==";
# };
#
# controls {
#         inet 127.0.0.1 port 953
#                 allow { 127.0.0.1; } keys { "rndc-key"; };
# };
# End of named.conf


注意,請把後面以:

# Use with the following in named.conf, adjusting the allow list as needed:

開始的這一部份,加到named.conf後面並去掉#纔可以,否則後面的rndc status將顯示超時退出...


六  測試
嗯,到此爲止,好象BIND 9就可以順利運行了,請按下面的步驟測試吧

進入dos 進入到 bin 目錄
named -g
,-g選項表示前臺運行,並將調試信息打印到標準輸出,這在我們安裝調試階段是非常有幫助的。

當你有看到running字樣時,說明已經配置正確了,如果要控制BIND 9的運行,更方便的使用rndc命令來進行,

再開一個dos 窗口,進入到bin 目錄  運行
  rndc status
當顯示如下信息時,可能會顯示如下信息…

number of zones: 5
debug level: 0
xfers running: 0
xfers deferred: 0
soa queries in progress: 0
query logging is OFF
server is up and running

如果看見了 恭喜你 呵呵  ,終於正常配置成功 。如果沒有顯示上面的信息,請檢查你的named.conf文件裏面是否配置了rndc.conf裏面的key。

至此爲止,一般可以實際運作的BIND 9就建立起來了,您可以rndc rolead一下,讓最新的設置及軟件生效。
如果在安裝過程中出現錯誤,您可以先檢查完錯誤,再接着安裝下去。或者你可以選擇你感興趣的某些部份安裝!

附 named.root

;       initialize cache of Internet domain name servers
;       (e.g. reference this file in the "cache  .  <file>;"
;       configuration file of BIND domain name servers).
;
;       This file is made available by InterNIC
;       under anonymous FTP as
;           file                /domain/named.root
;           on server           FTP.INTERNIC.NET
;
;       last update:    Nov 5, 2002
;       related version of root zone:   2002110501
;
;
; formerly NS.INTERNIC.NET
;
.                        3600000  IN  NS    A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET.      3600000      A     198.41.0.4
;
; formerly NS1.ISI.EDU
;
.                        3600000      NS    B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET.      3600000      A     128.9.0.107
;
; formerly C.PSI.NET
;
.                        3600000      NS    C.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET.      3600000      A     192.33.4.12
;
; formerly TERP.UMD.EDU
;
.                        3600000      NS    D.ROOT-SERVERS.NET.
D.ROOT-SERVERS.NET.      3600000      A     128.8.10.90
;
; formerly NS.NASA.GOV
;
.                        3600000      NS    E.ROOT-SERVERS.NET.
E.ROOT-SERVERS.NET.      3600000      A     192.203.230.10
;
; formerly NS.ISC.ORG
;
.                        3600000      NS    F.ROOT-SERVERS.NET.
F.ROOT-SERVERS.NET.      3600000      A     192.5.5.241
;
; formerly NS.NIC.DDN.MIL
;
.                        3600000      NS    G.ROOT-SERVERS.NET.
G.ROOT-SERVERS.NET.      3600000      A     192.112.36.4
;
; formerly AOS.ARL.ARMY.MIL
;
.                        3600000      NS    H.ROOT-SERVERS.NET.
H.ROOT-SERVERS.NET.      3600000      A     128.63.2.53
;
; formerly NIC.NORDU.NET
;
.                        3600000      NS    I.ROOT-SERVERS.NET.
I.ROOT-SERVERS.NET.      3600000      A     192.36.148.17
;
; operated by VeriSign, Inc.
;
.                        3600000      NS    J.ROOT-SERVERS.NET.
J.ROOT-SERVERS.NET.      3600000      A     192.58.128.30
;
; housed in LINX, operated by RIPE NCC
;
.                        3600000      NS    K.ROOT-SERVERS.NET.
K.ROOT-SERVERS.NET.      3600000      A     193.0.14.129
;
; operated by IANA
;
.                        3600000      NS    L.ROOT-SERVERS.NET.
L.ROOT-SERVERS.NET.      3600000      A     198.32.64.12
;
; housed in Japan, operated by WIDE
;
.                        3600000      NS    M.ROOT-SERVERS.NET.
M.ROOT-SERVERS.NET.      3600000      A     202.12.27.33
; End of File

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章