BIND&DNS內(nèi)部培訓(xùn)教程1
1、域名系統(tǒng)
域名系統(tǒng)為一個分布式數(shù)據(jù)庫,它使本地負責(zé)控制整個分布式數(shù)據(jù)庫的部分段,每一段中的數(shù)據(jù)通過客戶,服務(wù)器模式在整個網(wǎng)絡(luò)上均可存取,通過采用復(fù)制技術(shù)和緩存技術(shù)使得整個數(shù)據(jù)庫可靠的同時,又擁有良好的性能。
域名服務(wù)器包含數(shù)據(jù)庫的部分段的信息,并可提供被稱之為解析器的客戶來訪問。DNS 的數(shù)據(jù)庫結(jié)構(gòu)形成一個倒立的樹狀結(jié)構(gòu),根的名字用空字符串""來表示,但在文本中用"."來書寫。樹的每一個節(jié)點都表示整個分布式數(shù)據(jù)庫中的一個分區(qū)(域),每個域可再進一步劃分成子分區(qū)(域),每個域都有一個標簽(LABEL),標明了它與父域的關(guān)系。域也有一個域名(domain name),給出它在整個分布式數(shù)據(jù)庫中的位置。在DNS 中,域名全稱是一個從該域到根的標簽序列,以"."分隔這些標簽.該標簽最多可包含63 個字符。樹中每一節(jié)點的完整域名為從該節(jié)點到根之間路徑上的標簽序列。
如果根域在節(jié)點的域名中出現(xiàn),該名字看起來就象以點結(jié)尾(實際上是以點和空標簽作結(jié)尾)。這些以點結(jié)尾的域名被稱之為絕對域名(Absoulte Domain Name),不以點結(jié)尾的域名被稱之為相對域名。域(Domains)即為樹狀域名空間中的一棵子樹,域的域名同該子樹根節(jié)點的域名一樣。也就是說,域的名字就是該域中最高層節(jié)點的名字。舉例來說,zhuhai.gd.cn 域的頂端就是名為zhuhai.gd.cn 的節(jié)點。
在DNS 中,每個域分別由不同的組織進行管理。每個組織都可以將它的域再分成一定數(shù)量的子域并將這些子域委托給其他組織進行管理,域既能包括主機又能包括其他域(它的子域)。域名被用做DNS 數(shù)據(jù)庫中的索引.子域中任何域名被認為是域的一部分。事實上,主機即為域,域名僅是DNS 數(shù)據(jù)庫中的索引,"主機"可由指向相關(guān)主機信息的域名來索引,域包含所有其域名在該域的主機。
在域名樹中,葉節(jié)點的域通常代表主機,它們的域名可指向網(wǎng)絡(luò)地址,硬件信息和郵件路由信息。在樹內(nèi)的節(jié)點,其域名既可命名一臺主機,也可指向有關(guān)該域的子孫或子域的結(jié)構(gòu)信息,在域名樹中的內(nèi)部域名并不受唯一性限制,它們既可表示它們所對應(yīng)的域,又可代表網(wǎng)絡(luò)中某臺特定的主機。例如,sun.com 既是sun 的域,又是在sun 和internet 間轉(zhuǎn)發(fā)信件的郵件服務(wù)器的域名。
網(wǎng)絡(luò)上的每一臺主機都有一個域名,域名給出有關(guān)主機的信息,該信息中包含IP 地址,MAIL 路由信息等等,主機也可以有一個或多個域名別名。
1.1 域名
判斷域是否為另一域的子域的簡單方法是比較它們的域名、子域名以其父域名結(jié)尾。設(shè)計域名系統(tǒng)的一個主要目的是讓管理分散化,這是通過代理來實現(xiàn)的。管理域的組織將該域劃分成子域,每一個子域可以由其他組織代理,這意味著那些代理組織負責(zé)維護在該子域的所有數(shù)據(jù)。他們可以自由地改變數(shù)據(jù),甚至可以將他們管理的子域再劃分成更多的子域并將它們再分配。父域中僅包含指向這些子域的指針,因而引用對那里的查詢。
1.2 域名服務(wù)器
存儲有關(guān)域名空間信息的程序被稱為域名服務(wù)器(name server).通常,域名服務(wù)器擁有部分域名空間(稱之為區(qū)zone)的完整信息,域名服務(wù)器可以擁有多個區(qū)的授權(quán)。
區(qū)與域的關(guān)系:
區(qū)包含了域中除了代理給別處的子域外所含有的所有域名和數(shù)據(jù)。如果域的子域沒有被代理出去,則該區(qū)包含該子域名和子域中的數(shù)據(jù)。
DNS 定義了兩類域名服務(wù)器:primary Master 和secondary Master.PM 域名服務(wù)器。從它所運行的主機上的文件獲得它所負責(zé)的區(qū)的數(shù)據(jù),SM 域名服務(wù)器則是從其它的具有該區(qū)授權(quán)的域名服務(wù)器上獲得它的區(qū)的數(shù)據(jù),SM 域名服務(wù)器會定期查詢PM 域名服務(wù)器以保證區(qū)數(shù)據(jù)為最新版本。
一般情況下,最好設(shè)立一臺PM 域名服務(wù)器和若干臺SM 域名服務(wù)器,這樣可以分擔(dān)負載。以及確保區(qū)中所有主機都有比較靠近的域名服務(wù)器,方便訪問。
1.3 解析器
運行在主機上并需要域名空間信息的重新需要解析器(Resolver),在bind 中解析器僅僅是一組庫例程,并編譯進象telnet 和ftp 這樣的程序中,它們并非獨立的進程。解析器所做的工作為:匯集查詢,發(fā)送查詢并等待應(yīng)答,未得到應(yīng)答時重發(fā)查詢。
1.4 地址到域名的映射
在域名空間的數(shù)據(jù)是通過名字來進行索引的,找到一個給定域名的地址相對容易。但是要找到映射給一定地址的域名就要在樹上的每一個域名空間作窮盡搜索。如果這樣的話,效率將相當(dāng)?shù)?,為了解決這個問題,創(chuàng)建一個以地址為索引的域名空間.這部分名字空間被稱為in-addr.arpa 域。
in-addr.arpa 域中的節(jié)點以Doted-octet(將32bitIP 地址表示為由"."分隔開的四個8bit 的十進制形式的方法)形式表示IP 地址。IP 地址在名字空間以相反的方向表示,因為名字是從葉讀到根,例如,www.zhuhai.gd.cn 的IP 地址為202.105.177.100,則相應(yīng)的in-addr.arpa 子域為177.105.202.in-addr.arpa,使IP 地址中的第一個字節(jié)出現(xiàn)在樹的最高層使的管理員有能力沿著網(wǎng)絡(luò)聯(lián)接將in-addr.arpa 域代理出去,例如
177.105.202.in-addr.arpa 可以被代理給網(wǎng)絡(luò)177.105.202 的管理員。
1.5 緩存與生存期
名字服務(wù)器在處理遞歸查詢時,可能要進行多次查詢才能得到信息,在這過程中,名字服務(wù)器可以獲得很多有關(guān)域名空間的信息,名字服務(wù)器將所以這些信息都緩存起來以加速以后的查詢。除了加速查詢外,緩存還使得我們不必再次查詢根名字服務(wù)器,這樣可使得我們不必過分依賴根名字服務(wù)器而大大減輕根名字服務(wù)器的負載。
生存期(TTL)為所容許的名字服務(wù)器對數(shù)據(jù)緩存的時間長度,一旦生存期到了,名字服務(wù)器必須丟棄緩存數(shù)據(jù)并從授權(quán)的名字服務(wù)器中重新獲取新的數(shù)據(jù)。這樣可以確保域數(shù)據(jù)在整個網(wǎng)絡(luò)上的一致性。
2. 安裝服務(wù)器軟件
2.1 取得bind 軟件包(現(xiàn)在新的版本為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 封裝的軟件包:
(1)先解壓軟件包
tar zxpf bind-contrib.tar.gz
tar zxpf bind-doc.tar.gz
tar zxpf bind-src.tar.gz
(2)編輯修改Makefile.set 文件,增加或修改
'DESTLIB=/usr/lib/bind/lib'
'DESTINC='/usr/lib/bind/include'
(3)編譯并安裝
make
make install
(4)安裝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.讓服務(wù)器跑起來---基本篇
3.1
BIND 可被配置成幾種不同的運行方式,通用的BIND 配置為純解析器系統(tǒng),純緩存服務(wù)器,主服務(wù)器,輔服務(wù)器。
解析器是指通過域名服務(wù)器查詢域信息的程序代碼,在unix 系統(tǒng)中,它是以庫例程的方式實現(xiàn)的,而并不是一個單獨的客戶程序.純解析器系統(tǒng)很容易配置,只要設(shè)置一下
/etc/resolv.conf 文件。這種方式通常用于由于某些限制不能在本地運行域名服務(wù)器軟件的系統(tǒng)中。
例如:/etc/resolv.conf 內(nèi)容類似為:
search jmcs.net
nameserver 202.106.0.20
當(dāng)配置解析器庫以使用BIND 名字服務(wù)進行主機查找,你也必須告知它使用哪個名字服務(wù)器。對此有一個獨立的文件,稱為resolv.conf。如果這個文件不存在或是空的,那么解析器就假設(shè)名字服務(wù)器在你本地的主機上。如果在你的本地主機上運行一個名字服務(wù)器,你必須單獨地設(shè)置它。resolv.conf 中最重要的選項是nameserver,它給出了要使用的名字服務(wù)器的IP 地址。如果你通過幾次給出nameserver 選項指定了幾個名字服務(wù)器,那么它們會以給出的順序試用。因此,你應(yīng)該首先給出最可靠的服務(wù)器。目前,至多支持三個名字服務(wù)器。如果沒有給出nameserver 選項,那么解析器試圖連接本地主機上的名字服務(wù)器。
其它兩個選項,domain 和search 涉及到如果BIND 不能用第一個請求解析主機名時附加在主機名上的缺省域。search 選項指定了一個試用的域名列表。列表項是用空格或制表符分開的。
如果沒有給出search 選項,就會通過使用域名本身從本地域名以及直至root 的父域中建立一個搜尋列表。本地域名可以使用domain 語句給出;如果一個也沒有給出,那么解析器就通過系統(tǒng)調(diào)用getdomainname(2)來獲取。
3.2 其它三類配置方式是用于域名服務(wù)器的純緩存服務(wù)器純緩存服務(wù)器運行域名服務(wù)器軟件,但并沒有域名服務(wù)器數(shù)據(jù)庫文件,它記錄下每一個從遠程域名服務(wù)器獲得的數(shù)據(jù),以回答將來對同一信息的查詢。
(1)純緩存服務(wù)器所需的三個基本配置文件:
/etc/named.conf
/var/named/named.ca
/var/named/named.local
(2)創(chuàng)建或修改/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 {202.99.8.1;202.106.0.20;};
};
//
// a caching only nameserver config
//
zone '.'
{
type hint;
file "named.ca";
};
zone '0.0.127.in-addr.arpa'
{
type master;
file "named.local";
};
(3)在文件中'forwarders {202.106.0.20;202.99.8.1;};'其中的IP 地址是你網(wǎng)絡(luò)中主服
務(wù)器和輔服務(wù)器的IP 地址。
(4)創(chuàng)建或修改/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.
(5)創(chuàng)建或修改/var/named/named.ca:
至于/var/named/named.ca 就要從redhat linux 光碟獲得了.也用命令從互聯(lián)網(wǎng)上獲得:
dig @a.root-servers.net > /var/named/named.ca
如果是用rpm 封裝的軟件包安裝的話,這三個文件會自動生成,我們只需要修改
/etc/named.conf 。其中/var/named.ca 一般是不用修改的.
相關(guān)文章
網(wǎng)管必讀,網(wǎng)管系統(tǒng)建設(shè)的思維轉(zhuǎn)變
網(wǎng)管必讀,網(wǎng)管系統(tǒng)建設(shè)的思維轉(zhuǎn)變...2007-09-09天下·網(wǎng)吧加油站打造穩(wěn)定的電子交易平臺
天下·網(wǎng)吧加油站打造穩(wěn)定的電子交易平臺...2007-09-09