手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网络知识>网络管理>列表

架設 DNS(DNS终结篇)

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

而第二個 zone 則是本機區域的反解 zone ﹐不過﹐這部份的解釋我想留到後面的真實例子中再作說明﹐請您留意就是了。

上面的句子﹐當您安裝好 caching-nameserver 套件之後就被建立起來的﹐相信您不用勞什麼心力。在檔案最後﹐您或許還看到下面這段設定﹕

key "key" {
algorithm hmac-md5;
secret "coqJswFdBMdNAItnLOpkmGgmJtccFsoNZZciWqxlGZBMUTOUxb0geYMFRyTT";
};

這是 bind 9.x 版本的新功能﹐用來進行區域轉移或 DNS 更新所用的加密處理。這個我們暫時不必理會﹐除非您有興趣進行這個研究。

現在﹐我們暫時不要修改 named.conf 設定檔﹐請退出它﹐然後轉到 /var/named 目錄﹐看看裡面有些什麼東東﹖最起碼﹐您會看到如下三個檔案﹕


named.ca
localhost.zone
named.local

不知道您是否有靈感了﹖沒錯﹕剛纔在 named.conf 裡面﹐每一個 zone 所指定的 file 都出現在這裡﹗先讓我們看看 root zone 的檔案內容吧﹕

; This file holds the inFORMation on root name servers needed to
; initialize cache of Internet domain name servers
; (e.g. reference this file in the "cache . "
; configuration file of BIND domain name servers).
;
; This file is made available by InterNIC registration services
; under anonymous FTP as
; file /domain/named.root
; on server FTP.RS.INTERNIC.NET
; -OR- under Gopher at RS.INTERNIC.NET
; under menu InterNIC Registration Services (NSI)
; submenu InterNIC Registration Archives
; file named.root
;
; last update: Aug 22, 1997
; related version of root zone: 1997082200
;
;
; 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
;
; temporarily housed at NSI (InterNIC)
;
. 3600000 NS J.ROOT-SERVERS.NET.
J.ROOT-SERVERS.NET. 3600000 A 198.41.0.10
;
; housed in LINX, operated by RIPE NCC
;
. 3600000 NS K.ROOT-SERVERS.NET.
K.ROOT-SERVERS.NET. 3600000 A 193.0.14.129
;
; temporarily housed at ISI (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

在 /var/named 中的 RR 記錄檔裡面的註解符號﹐和 /etc/named.conf 的註解符號不一樣哦﹕在 named.conf 中是用雙斜線“ // ”﹔而在這裡則使用 “ ﹔”符號。無論如何﹐您都不能用 “ # ”來做註解符號就是了。(好混亂哦~~~ 這就是電腦﹗^_^ )

在上面這個 named.ca 檔案裡面﹐您如果將所有的註解行拿掉﹐您會發現一共有 13 行是以‘ . ’開頭的﹐那就是所謂的 root zone 了﹗然後﹐第二欄都是‘ 3600000 ’﹐這是 TTL (Time To Live) 設定﹐也就是在 cache 中保留的時間﹐以秒為單位(所以這裡是 100 小時)。其後的‘ NS ’是“Name Server”的意思﹐是 DNS 記錄名稱之一﹐也就是負責這個記錄的 name server 是哪一台主機(這裡一共由 13 台主機共同負責 root zone 的 NS 服務)。

雖然我們這裡用 NS 指定了 name server 的主機名稱﹐但對電腦系統來說﹐這些名稱必須能解釋為 IP 位址才有用(呵~~ 這個正是 DNS 系統的功能)﹐所以﹐這裡分別用 13 個‘ A ’記錄﹐也就是 Address 的意思﹐解釋 [A-M].ROOT-SERVER.NET. 這些主機各自的 IP 位址所在。

如果您了解 DNS 的查詢模式﹐您會知道 DNS 伺服器在查詢非自己管轄的 zone 的時候﹐首先會向 root 查詢下一級的 zone 在哪裡﹐然後逐級查詢下去。但問題是﹕當 named 剛啟動的時候﹐在 cache 裡面一片空白﹐它怎麼知道 root zone 的 servers 在哪裡呢﹖這不是一個矛盾嗎﹖所以﹐就必須靠這個檔案告訴 named 關於 root zone 的 servers 有哪些﹖以及在哪裡﹖ --- 明白了嗎﹖

因為這個檔是以靜態的方式維護的﹐很難保證這個檔的內容永遠都正確﹐如果 root zone 的記錄發生改變了怎麼辦(雖然這機會不大)﹖或許﹐您已經在檔案的開頭註解那裡得知﹐您可以在任何時候透過 ftp 或 gopher 取得這個檔案的最新版本。如果您還沒讀過那些註解﹐那就請帶著字典讀一下吧。如果您真的有需要更新這個 named.ca 檔﹐那可以按如下步驟進行﹕

ftp FTP.RS.INTERNIC.NET
anonymous
your_account@your.mail.server
cd domain
get named.root
bye
cp /var/named/named.ca /var/named/named.ca.bak
cat named.root > /var/named/named.ca


除了剛才的 named.ca 之外﹐第二個 zone 的記錄檔是 localhost.zone ﹐從 named.conf 中您應該知道它是 zone "localhost" 的記錄檔﹐它的內容如下﹕

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!