我的dns配置過程(轉)

post0發表於2007-08-11
我的dns配置過程(轉)[@more@]

安裝過程如下:

# apt-get install bind9

安裝完畢後,用命令whereis bind可以發現bind安裝在/etc/bind目錄下,進入/etc/bind目錄,看到目錄下有這些檔案:

db.0

db.127

db.255

db.empty

db.local

db.rev

db.root

named.conf

named.conf.local

named.conf.options

rndc.key

其中的關鍵檔案是named.conf,我們可以檢視它的內容:

// This is the primary configuration file for the BIND DNS server named.

//

// Please read /usr/share/doc/bind9/README.Debian.gz for information on the

// structure of BIND configuration files in Debian, *BEFORE* you customize

// this configuration file.

//

// If you are just adding zones, please do that in /etc/bind/named.conf.local

include "/etc/bind/named.conf.options";

// prime the server with knowledge of the root servers

zone "." {

type hint;

file "/etc/bind/db.root";

};

// be authoritative for the localhost forward and reverse zones, and for

// broadcast zones as per RFC 1912

zone "localhost" {

type master;

file "/etc/bind/db.local";

};

zone "127.in-addr.arpa" {

type master;

file "/etc/bind/db.127";

};

zone "0.in-addr.arpa" {

type master;

file "/etc/bind/db.0";

};

zone "255.in-addr.arpa" {

type master;

file "/etc/bind/db.255";

};

include "/etc/bind/named.conf.local";

我們注意到此檔案include 兩個檔案"/etc/bind/named.conf.options"和 "/etc/bind/named.conf.local",此外是一些DNS解析區域及其記錄檔案。在此檔案的註釋裡提示,如果要增加區域的話,可以編輯/etc/bind/named.conf.local。

檔案/etc/bind/named.conf.options的內容如下:

options {

directory "/var/cache/bind";

// 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 and later use an unprivileged

// port by default.

// query-source address * port 53;

// If your ISP provided one or more IP addresses for stable

// nameservers, you probably want to use them as forwarders.

// Uncomment the following block, and insert the addresses replacing

// the all-0's placeholder.

// forwarders {

// 0.0.0.0;

// };

auth-nxdomain no; # conform to RFC1035

};

檔案/etc/bind/named.conf.local的內容如下,基本沒有內容:

//

// Do any local configuration here

//

// Consider adding the 1918 zones here, if they are not used in your

// organization

//include "/etc/bind/zones.rfc1918";

從以上內容可以看出,除DNS的本地域名外,其它部分已經正常。要增加本地域名解析只要編輯/etc/bind/named.conf.local,並增加相應記錄檔案即可。本目錄下的其它檔案不必更改。

這時可以作一些測試。筆者的測試環境如下:三臺電腦,一臺裝debian,一臺裝redhat8,一臺裝win98,準備設定根域名為home,相應的域名與IP對應關係如下:

debian.home 192.168.10.103

win98.home 192.168.10.102

rh8.home 192.168.10.101

在安裝DNS前,各臺機子的DNS設定為202.101.98.54,這是福建省的域名伺服器,各臺電腦間的互訪透過hosts檔案解析。

在debian機子上,

/etc/resolve.conf的內容如下:

domain home.

nameserver 202.101.98.54

/etc/hosts的內容如下:

### etherconf DEBCONF AREA. DO NOT EDIT THIS AREA OR INSERT TEXT BEFORE IT.

127.0.0.1 localhost

::1 localhost ip6-localhost ip6-loopback

fe00::0 ip6-localnet

ff00::0 ip6-mcastprefix

ff02::1 ip6-allnodes

ff02::2 ip6-allrouters

ff02::3 ip6-allhosts

192.168.10.103 debian.home debian

### END OF DEBCONF AREA. PLACE YOUR EDITS BELOW; THEY WILL BE PRESERVED.

192.168.10.102 win98.home win98

192.168.10.101 winme.home winme

在redhat8電腦上的配置與此類似。

在win98電腦上建立的/windows/hosts檔案內容如下:

192.168.10.103 debian.home debian

192.168.10.102 win98.home win98

192.168.10.101 winme.home winme

也就是說在使用DNS前,它們用域名訪問internet或互訪都是正常。但現在我們要安裝DNS,所以必須先它們去掉,才能知道所安裝的DNS是否正常。步驟如下:

在debian機子上,

修改/etc/resolve.conf的內容如下:

domain home.

nameserver 192.168.10.103

/etc/hosts的內容如下:

### etherconf DEBCONF AREA. DO NOT EDIT THIS AREA OR INSERT TEXT BEFORE IT.

127.0.0.1 localhost

::1 localhost ip6-localhost ip6-loopback

fe00::0 ip6-localnet

ff00::0 ip6-mcastprefix

ff02::1 ip6-allnodes

ff02::2 ip6-allrouters

ff02::3 ip6-allhosts

192.168.10.103 debian.home debian

### END OF DEBCONF AREA. PLACE YOUR EDITS BELOW; THEY WILL BE PRESERVED.

在redhat8電腦上的配置與此類似。

在win98電腦上刪除/windows/hosts檔案。並開啟控制皮膚,選網路,再選TCP/IP,在“首選DNS”裡面,輸入DNS為192.168.10.103,點選確定,重啟電腦。

此時你會發現,三臺電腦用域名互訪不行了,但訪問internet上的域名,比如都可以。因此接下來的步驟是增加本地域名解析,即編輯/etc/bind/named.conf.local,並增加相應記錄檔案。方法我推薦使用webmin-bind。當然如果你對記錄檔案格式很熟悉的話,可以手工編輯。我開始是採用手工編輯,浪費很多時間,直到我發現了webmin-bind。

#apt-get install webmin webmin-bind

安裝完成後,在遊覽器的URL裡輸入輸入使用者名稱及密碼進入webmin,即可看到BIND DNS伺服器,點選進入,點選建立主區域,在出現的新建主區域選項中的區域型別單選框選正向(名稱至地址),在域名 / 網路編輯框中輸入home,在主伺服器編輯框中輸入debian.home,在Email 地址編輯框中輸入root.debian.home,其它按預設。點選儲存。再點選home主區域,點選地址,增加三條地址記錄。

再次點選建立主區域,在出現的新建主區域選項中的區域型別單選框選反向(地址至名稱),在域名 / 網路編輯框中輸入192.168.10,在主伺服器編輯框中輸入debian.home,在Email 地址編輯框中輸入root.debian.home,其它按預設。點選儲存。再點選192.168.10主區域,點選反向地址,增加三條地址記錄。

單擊啟動名字伺服器按鈕執行 BIND 伺服器, 並裝載當前配置。這樣就完成了增加本地域名解析的工作,DNS也大功告成了。可以在各臺電腦上測試一下,用域名訪問internet或互訪都不成問題。

但我們需要進一步知道webmin-bind作了哪些修改。

這時的/etc/bind/named.conf的內容如下:

// This is the primary configuration file for the BIND DNS server named.

//

// Please read /usr/share/doc/bind9/README.Debian.gz for information on the

// structure of BIND configuration files in Debian, *BEFORE* you customize

// this configuration file.

//

// If you are just adding zones, please do that in /etc/bind/named.conf.local

include "/etc/bind/named.conf.options";

// prime the server with knowledge of the root servers

zone "." {

type hint;

file "/etc/bind/db.root";

};

// be authoritative for the localhost forward and reverse zones, and for

// broadcast zones as per RFC 1912

zone "localhost" {

type master;

file "/etc/bind/db.local";

};

zone "127.in-addr.arpa" {

type master;

file "/etc/bind/db.127";

};

zone "0.in-addr.arpa" {

type master;

file "/etc/bind/db.0";

};

zone "255.in-addr.arpa" {

type master;

file "/etc/bind/db.255";

};

include "/etc/bind/named.conf.local";

zone "home" {

type master;

file "/var/cache/bind/home.hosts";

};

zone "10.168.192.in-addr.arpa" {

type master;

file "/var/cache/bind/192.168.10.rev";

};

我們可以發現只是末尾增加了兩個zone。而且在/etc/bind/目錄下的其它檔案都沒有改動,我們可以從檔案的修改時間看出。增加的兩個記錄檔案是/var/cache/bind/home.hosts,/var/cache/bind/192.168.10.rev。

它們的內容如下:

/var/cache/bind/home.hosts的內容如下:

$ttl 38400

home. IN SOA debian.home. root.debian.home. (

1039102090

10800

3600

604800

38400 )

home. IN NS debian.home.

debian.home. IN A 192.168.10.103

rh8.home. IN A 192.168.10.101

win98.home. IN A 192.168.10.102

/var/cache/bind/192.168.10.rev的內容如下:

$ttl 38400

10.168.192.in-addr.arpa. IN SOA debian.home. root.debian.home. (

1039102453

10800

3600

604800

38400 )

10.168.192.in-addr.arpa. IN NS debian.home.

101.10.168.192.in-addr.arpa. IN PTR rh8.home.

102.10.168.192.in-addr.arpa. IN PTR win98.home.

103.10.168.192.in-addr.arpa. IN PTR debian.home.

這些格式與網上很多文章介紹的有些不同,所以我才想寫出來,希望其它初學者不要象我一樣,一頭霧水好幾天。

DNS設定完了後,如果不能保證DNS機子一直開著,可以在其它機子上加上其它DNS,比如202.101.98.54。以免 本地DNS機子關機的時候,不能透過域名訪問internet

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-945799/,如需轉載,請註明出處,否則將追究法律責任。

相關文章