linux
8.1 建立DNS 服務(wù)器? 工作情境人們使用互聯(lián)網(wǎng),通常采用域名,而計(jì)算機(jī)又好使用IP 地址,域名如何實(shí)現(xiàn)與IP 地址的對(duì)應(yīng)關(guān)系?實(shí)現(xiàn)的方式就是DNS 服務(wù)器。從這一章節(jié)開(kāi)始,將介紹Linux 系統(tǒng)
8.1 建立DNS 服務(wù)器
? 工作情境
人們使用互聯(lián)網(wǎng),通常采用域名,而計(jì)算機(jī)又好使用IP 地址,域名如何實(shí)現(xiàn)與IP 地址的對(duì)
應(yīng)關(guān)系?實(shí)現(xiàn)的方式就是DNS 服務(wù)器。
從這一章節(jié)開(kāi)始,將介紹Linux 系統(tǒng)強(qiáng)大的網(wǎng)絡(luò)功能,如Web 服務(wù)器、FTP 服務(wù)器和郵件服
務(wù)器。為了實(shí)現(xiàn)真實(shí)的網(wǎng)絡(luò)情境,首先要建立DNS 服務(wù)器,以便后續(xù)章節(jié)的實(shí)例可以采用域名訪
問(wèn),達(dá)到實(shí)際應(yīng)用的模式。
? 學(xué)習(xí)目標(biāo)
通過(guò)本章節(jié)的學(xué)習(xí),能夠理解Internet 上DNS 域名空間結(jié)構(gòu)和DNS 服務(wù)器的工作模式。通
過(guò)實(shí)例的學(xué)習(xí),能夠建立一個(gè)DNS 服務(wù)器,并能為局域網(wǎng)工作站提供域名解析服務(wù)。
? 考核評(píng)價(jià)
模擬一個(gè)企業(yè)機(jī)構(gòu)的網(wǎng)絡(luò)環(huán)境,能夠建立一個(gè)DNS 服務(wù)器,為局域網(wǎng)內(nèi)部的Web 服務(wù)器、FTP
服務(wù)器、郵件服務(wù)器以及其他工作站提供域名服務(wù)。
能夠熟練的進(jìn)行DNS 客戶端的配置,不論是Linux 系統(tǒng),還是Windows 系統(tǒng)為客戶端工作站。
網(wǎng)絡(luò)體系中使用的是IP 地址,IPV4地址是4個(gè)點(diǎn)分十進(jìn)制數(shù),難于記憶應(yīng)用。因此,人們采用了域名系統(tǒng)DNS (Domain Name System),DNS 是Internet 和Intranet 中重要的網(wǎng)絡(luò)服務(wù),它是一種組織成域?qū)哟谓Y(jié)構(gòu)的計(jì)算機(jī)和網(wǎng)絡(luò)服務(wù)命名系統(tǒng)。
通過(guò)DNS 服務(wù)可以將域名解析為IP 地址,從而使得人們能通過(guò)簡(jiǎn)單好記的域名來(lái)代替IP 地址訪問(wèn)網(wǎng)絡(luò)。
3.8.1 DNS 的域名服務(wù)
在引入DNS(Domain Name System,域名系統(tǒng)) 之前,Linux 系統(tǒng)是將容易記憶的域名映射到IP 地址并將它保存在一個(gè)共享的靜態(tài)文件hosts (/etc/hosts)中,再由它來(lái)實(shí)現(xiàn)網(wǎng)絡(luò)中域名的管理。但隨著網(wǎng)絡(luò)的龐大,特別是當(dāng)Internet 上的計(jì)算機(jī)數(shù)量迅速增加時(shí),通過(guò)一個(gè)中心授權(quán)機(jī)構(gòu)為所有Internet 主機(jī)管理一個(gè)主機(jī)文件的工作將無(wú)法進(jìn)行。
開(kāi)發(fā)DNS ,通過(guò)DNS 將存儲(chǔ)在數(shù)據(jù)庫(kù)中的域名數(shù)據(jù)分布在不同的服務(wù)器上,就可以減輕對(duì)任何一臺(tái)服務(wù)器的負(fù)載,并且提供了以區(qū)域?yàn)榛A(chǔ)的對(duì)域名系統(tǒng)的分布式管理能力。
1. DNS 域名系統(tǒng)的簡(jiǎn)介
網(wǎng)絡(luò)中為了區(qū)別各個(gè)主機(jī),為每臺(tái)主機(jī)分配一個(gè)唯一的IP 地址。但這些數(shù)字難于記憶,所以就采用“域名”的方式來(lái)取代這些數(shù)字。
不過(guò)最終還是必須將域名轉(zhuǎn)換為對(duì)應(yīng)的IP 地址才能訪問(wèn)主機(jī)。通過(guò)建立DNS 數(shù)據(jù)庫(kù),記錄主機(jī)名稱與IP 地址的對(duì)應(yīng)關(guān)系,駐留在服務(wù)器端,為客戶端的主機(jī)提供IP 地址解析服務(wù),這就是域名服務(wù)所提供的域名解析。當(dāng)某臺(tái)主機(jī)要與其他主機(jī)通信時(shí),就可以利用主機(jī)名稱向DNS 服務(wù)器查詢?cè)撝鳈C(jī)的IP 地址。
整個(gè)DNS 域名系統(tǒng)由以下4個(gè)部分組成。
(1) DNS 域名空間
DNS 是基于客戶/服務(wù)器模型設(shè)計(jì)的。本質(zhì)上,整個(gè)域名系統(tǒng)以一個(gè)的分布式數(shù)據(jù)庫(kù)的方式工作。DNS 域名空間的分層結(jié)構(gòu),如同一顆倒立的樹(shù),層次結(jié)構(gòu)非常清晰。
,目前由InterNIC 管理全世界的 IP 地址,在 InterNIC 之下的 DNS 結(jié)構(gòu)分為多個(gè)Domain, 其中 root domain (根域) 下的七個(gè) top-level domain(頂級(jí)域) 都?xì)w InterNIC 管理。top-level domain 可以再細(xì)分為 second-level domain (二級(jí)域) ,而 second-level domain 又可以分成多級(jí)的 subdomain (子域)如 "example 、www" ,在最下面一層被稱為 hostname(主機(jī)名稱) 如 "host-a" ,一般用戶使用完整的名稱來(lái)表示 (FQDN全部有資格的域名) ,如 "host-a.example.Microsoft.com" 。
在Internet 的DNS 域名空間中,域是其層次結(jié)構(gòu)的基本單位,任何一個(gè)域最多屬于一個(gè)上級(jí)域,但可以有多個(gè)或沒(méi)有下級(jí)域。在同一個(gè)域下不能有相同的域名或主機(jī)名,但在不同的域中則可以有相同的域名或主機(jī)名。

圖3.8.1 DNS域名空間的層次結(jié)構(gòu)
根域(Root Domain)
在DNS 域名空間中,根域只有一個(gè),它沒(méi)有上級(jí)域,以圓點(diǎn)" . " 來(lái)表示。全世界的IP 地址和DNS 域名空間都是由位于美國(guó)的InterNIC(Internet Network Information Center,因特網(wǎng)信息管理中心) 負(fù)責(zé)管理或進(jìn)行授權(quán)管理的。目前全世界有13臺(tái)根域服務(wù)器,這些根域服務(wù)器也位于美國(guó),并由InterNIC 管理。
但是,在根域服務(wù)器中并沒(méi)有保存全世界的所有Internet 網(wǎng)址,其中只保存著頂級(jí)域的“DNS 服務(wù)器--IP 地址”的對(duì)應(yīng)數(shù)據(jù)。
? 頂級(jí)域(top-level domain,TLD)
在根域之下的第一級(jí)域便是頂級(jí)域,它以根域?yàn)樯霞?jí)域,其數(shù)目有限且不能輕易變動(dòng)。頂級(jí)域是由InterNIC 統(tǒng)一管理的。在FQDN 中,各級(jí)域之間都以原點(diǎn)" . " 分隔,頂級(jí)域位于最右邊。
? 常用的地理域和機(jī)構(gòu)域
● 地理域
. AU 澳大利亞 . RU 俄聯(lián)邦 . FR 法國(guó) . DE 德國(guó) . JP 日本 . KR 韓國(guó) . TW 臺(tái)灣省 . CN 中國(guó) . CA 加拿大 . IT 意大利 . CH 瑞士 . SG 新加坡 . UK 英國(guó) . US 美國(guó)
● 機(jī)構(gòu)域
. com 商業(yè)組織 . edu 教育組織 . net 網(wǎng)絡(luò)支持組織 . mil 美國(guó)軍事機(jī)構(gòu) . gov 美國(guó)政府機(jī)構(gòu) . org 非商業(yè)性組織 . int 國(guó)際組織
? 各級(jí)子域(Subdomain)
在DNS 域名空間中,除了根域和頂級(jí)域之外,其它域都稱為子域。
? 反向域(in-addr.arpa)
為了完成反向域解析過(guò)程,需要使用到另外一個(gè)概念,即反向域。
(2) 資源記錄
將DNS 域名映射到特定類型的資源信息,以便在名稱注冊(cè)和解析時(shí)使用。
(3) DNS 服務(wù)器
提供存儲(chǔ)和應(yīng)答資源記錄的名稱查詢服務(wù)。
(4) DNS 客戶端 ?
,用來(lái)查詢DNS 服務(wù)器,將域名稱解析為查詢中指定的資源記錄類型。
2. DNS 查詢解析
當(dāng)DNS 客戶端需要查詢所使用的名稱時(shí),它會(huì)查詢DNS 服務(wù)器來(lái)解析該名稱。
DNS 查詢以各種不同的方式進(jìn)行解析。客戶端可以使用從先前的查詢獲得的緩存信息就地應(yīng)答查詢;DNS 服務(wù)器也可使用其自身的資源記錄信息緩存來(lái)應(yīng)答查詢;DNS 服務(wù)器還可以代表請(qǐng)求客戶端查詢或聯(lián)系其他DNS 服務(wù)器,以便完全解析該名稱,并將應(yīng)答返回至客戶端,這個(gè)過(guò)程稱為遞歸。
此外,客戶端本身也可嘗試聯(lián)系其他的DNS 服務(wù)器來(lái)解析名稱。然后根據(jù)來(lái)自DNS 服務(wù)器的參考答案,使用其他的獨(dú)立查詢,該過(guò)程稱作迭代。
總之,DNS 查詢過(guò)程按兩部分進(jìn)行:
? 本地解析——名稱查詢從客戶端計(jì)算機(jī)開(kāi)始,并傳送給本機(jī)的DNS 客戶服務(wù)程序進(jìn)行解析; 當(dāng)客戶端提出解析請(qǐng)求時(shí),首先將請(qǐng)求傳送至DNS 客戶服務(wù),.以便使用本地緩存信息進(jìn)行解析,如果可以解析所要查詢的名稱,則DNS 客戶服務(wù)應(yīng)答該查詢,該請(qǐng)求處理過(guò)程結(jié)束。
? 查詢DNS 服務(wù)器——如果不能在本機(jī)解析查詢,可根據(jù)設(shè)定的查詢DNS 服務(wù)器來(lái)解析名稱。 當(dāng)客戶端請(qǐng)求無(wú)法在本地解析時(shí),將請(qǐng)求發(fā)送至DNS 服務(wù)器。DNS 服務(wù)器接收到查詢請(qǐng)求時(shí),首先檢查它能否在服務(wù)器的本地配置區(qū)域中獲取資源記錄信息做出應(yīng)答,如果查詢的名稱與本地區(qū)域信息中的相應(yīng)資源記錄匹配,則使用該信息來(lái)解析查詢的名稱,服務(wù)器做出應(yīng)答,此次查詢完成。如果區(qū)域信息中沒(méi)有查詢的名稱,則服務(wù)器檢查它能否通過(guò)來(lái)自先前查詢的本地緩存信息來(lái)解析該名稱。如果從中發(fā)現(xiàn)了匹配的信息,則服務(wù)器使用該信息應(yīng)答查詢,此次查詢完成。如果無(wú)論從緩存還是從區(qū)域信息,查詢的名稱在首選服務(wù)器中都未發(fā)現(xiàn)匹配的應(yīng)答,那么查詢過(guò)程可繼續(xù)進(jìn)行,使用遞歸來(lái)完全解析名稱。
例如,如果要遞歸查詢certer.example.com 的地址,首選DNS 服務(wù)器通過(guò)分析完全合格的域名,向頂層域com 查詢,而com 的DNS 服務(wù)器與example.com 服務(wù)器聯(lián)系以獲得更進(jìn)一步的地址,這樣循環(huán)查詢直到獲得所需要的結(jié)果,并一級(jí)級(jí)向上返回查詢結(jié)果,最終完成查詢工作。
需要注意的是,為了讓DNS 服務(wù)可以正確運(yùn)行遞歸查詢,需要有一些必要的信息,該信息通常以根目錄的形式來(lái)提供,借助使用根目錄提示尋找根域服務(wù)器,DNS 服務(wù)器可以完成遞歸查詢。
如果客戶端申請(qǐng)使用遞歸過(guò)程,但在DNS 服務(wù)器上禁用遞歸或查詢DNS 服務(wù)器時(shí)客戶端沒(méi)有申請(qǐng)使用遞歸,則使用迭代的方式查詢。
例如,要迭代查詢user.certer.example.com 的地址,首先DNS 服務(wù)器在本地查詢不到客戶端請(qǐng)求的信息時(shí),就會(huì)以DNS 客戶端的身份向其他配置的DNS 服務(wù)器繼續(xù)進(jìn)行查詢,以便解析該名稱。在大多數(shù)情況下,可能會(huì)將搜索一直擴(kuò)展到Internet 上的根域服務(wù)器,但根域服務(wù)器并不會(huì)對(duì)該請(qǐng)求進(jìn)行完整的應(yīng)答,它只會(huì)返回example.com 服務(wù)器的IP 地址,這時(shí)DNS 服務(wù)就根據(jù)該信息向example.com 服務(wù)器查詢,由example.com 服務(wù)器完成對(duì)user.certer.example.com 域名的解析后,再將結(jié)果返回DNS 服務(wù)器。
對(duì)于大多數(shù)的迭代查詢而言,如果它的主DNS 不能解析該名稱,那么客戶端會(huì)使用本地配置的DNS 服務(wù)器列表,在整個(gè)DNS 名稱空間中聯(lián)系其他名稱服務(wù)器。
3. 如何使用DNS
在網(wǎng)絡(luò)中開(kāi)始使用DNS 之前,必須先規(guī)劃DNS 域名稱空間。名稱空間規(guī)劃包括確定要如何使用DNS 命名和通過(guò)使用DNS 要達(dá)到什么目的等。
首先選擇和注冊(cè)一個(gè)可用于維護(hù)Internet 上公司的一個(gè)頂級(jí)或二級(jí)域名作為父DNS 域名,如teach.com 。
其次,將父域名稱與公司內(nèi)使用的位置或公司名稱組合起來(lái)形成其他子域名,如mail.teach.com 。 但必須注意,在選擇域名時(shí)必須符合RCF 1123中的規(guī)定:所有大寫(xiě)字母(A~Z) 、小寫(xiě)字母(a~z) 、數(shù)字(0~9) 和連字符(-) 。
除了需要內(nèi)部DNS 名稱空間支持,許多網(wǎng)絡(luò)還需要外部DNS 名稱支持,例如在Internet 上使用的支持。DNS 服務(wù)器提供了集成和管理分離名稱空間的方法,在這些名稱空間中,外部和內(nèi)部DNS 名稱都在網(wǎng)絡(luò)上解析。
,如果決定將名稱服務(wù)DNS 的使用限制在專用名稱空間內(nèi),對(duì)于如何設(shè)計(jì)和實(shí)現(xiàn)它則不存在限制。例如,可以選擇任何DNS 命名標(biāo)準(zhǔn)配置DNS 服務(wù)器,使之作為網(wǎng)絡(luò)DNS 分布式設(shè)計(jì)的有效根服務(wù)器,或形成一個(gè)自身包含DNS 域樹(shù)的結(jié)構(gòu)和層次。但如果需要提供對(duì)外部DNS 名稱空間的引用或Internet 上的整個(gè)DNS 服務(wù)時(shí),則需要考慮專用和外部名稱空間之間的兼容性。
4. Linux 系統(tǒng)的hosts 文件說(shuō)明
hosts 文件是Linux 系統(tǒng)中一個(gè)負(fù)責(zé)IP 地址與域名快速解析的文件,以ASCII 格式保存在“/etc”目錄下,文件名為“hosts”。hosts 文件包含了IP 地址和主機(jī)名之間的映射,還包括主機(jī)名的別名。在沒(méi)有域名服務(wù)器的情況下,系統(tǒng)上的所有網(wǎng)絡(luò)程序都通過(guò)查詢?cè)撐募?lái)解析對(duì)應(yīng)于某個(gè)主機(jī)名的IP 地址,否則就需要使用DNS 服務(wù)程序來(lái)解決。通??梢詫⒊S玫挠蛎虸P 地址映射加入到hosts 文件中,實(shí)現(xiàn)快速方便的訪問(wèn)。
hosts 文件的格式如下:IP 地址 主機(jī)名/域名
[實(shí)例3.8.1]在主機(jī)名為RHEL5的/etc/hosts文件中添加本機(jī)域名、IP 地址和另一個(gè)工作站fedora 的域名和 IP地址記錄。

3.8.2 建立DNS 服務(wù)器
Linux 下架設(shè)DNS 服務(wù)器通常是使用Bind 軟件來(lái)實(shí)現(xiàn),Bind 是一款實(shí)現(xiàn)DNS 服務(wù)器的開(kāi)放源碼軟件。已經(jīng)成為世界上使用最為廣泛的DNS 服務(wù)器軟件,目前Internet 上絕大多數(shù)的DNS 服務(wù)器都是用Bind 來(lái)架設(shè)的。以下以一個(gè)實(shí)例,詳細(xì)說(shuō)明創(chuàng)建一個(gè)DNS 服務(wù)器的過(guò)程。
[實(shí)例3.8.2]假定一個(gè)教學(xué)機(jī)構(gòu),建立一個(gè)DNS 服務(wù)器,使用了域名:teach.com ,在企業(yè)內(nèi)部局域網(wǎng)內(nèi)使用。要求局域網(wǎng)內(nèi)的工作站都能使用域名訪問(wèn)這些服務(wù)器。該機(jī)構(gòu)內(nèi)有幾臺(tái)服務(wù)器,其IP 地址和域名分別如下:
文件服務(wù)器: IP 地址 192.168.1.253 域名 ftp.teach.com
郵件服務(wù)器: IP 地址 192.168.1.252 域名 mail.teach.com
Web 服務(wù)器: IP 地址 192.168.1.251 域名 DNS 服務(wù)器: IP 地址 192.168.1.254 域名 要建立這樣一個(gè)DNS 服務(wù)器,為這個(gè)機(jī)構(gòu)提供DNS 服務(wù),按以下步驟進(jìn)行安裝和測(cè)試。
1. DNS 服務(wù)的安裝
Red Hat Enterprise Linux 安裝程序默認(rèn)沒(méi)有安裝DNS 服務(wù)??梢韵闰?yàn)證是否已經(jīng)安裝,如果未安裝,就安裝Bind 軟件包。
,
2. 安裝chroot 軟件包
為什么要安裝chroot 軟件包呢?由于早期Linux 服務(wù)都是以root 權(quán)限啟動(dòng)和運(yùn)行的,黑客利用服務(wù)的漏洞入侵系統(tǒng),能獲得root 級(jí)別的權(quán)限,從而控制整個(gè)系統(tǒng)。
為了減緩這種攻擊所帶來(lái)的負(fù)面影響,現(xiàn)在服務(wù)器軟件通常設(shè)計(jì)為以root 權(quán)限啟動(dòng),然后服務(wù)器進(jìn)程自行放棄root ,再以某個(gè)低權(quán)限的系統(tǒng)賬號(hào)來(lái)運(yùn)行進(jìn)程。這種方式的好處在于該服務(wù)被攻擊者利用漏洞入侵時(shí),由于進(jìn)程權(quán)限很低,攻擊者得到的訪問(wèn)權(quán)限又是基于這個(gè)較低權(quán)限的,因此對(duì)系統(tǒng)造成的危害比以前減輕了許多。
chroot 是Change Root的縮寫(xiě),它可以改變程序運(yùn)行時(shí)所參考的“/”根目錄位置,即將某個(gè)特定的子目錄作為程序的虛擬“/”根目錄。chroot 對(duì)程序運(yùn)行時(shí)可以使用的系統(tǒng)資源、用戶權(quán)限和所在目錄進(jìn)行嚴(yán)格控制,程序只在這個(gè)虛擬的根目錄具有權(quán)限,一旦跳出該目錄就無(wú)任何權(quán)限了。
使用了chroot 后,就算黑客入侵了某個(gè)服務(wù),由于具有的權(quán)限相當(dāng)有限,因此最多也只能破壞該服務(wù)的虛擬根目錄,不會(huì)威脅到整個(gè)服務(wù)器的安全。對(duì)DNS 服務(wù)而言,有經(jīng)驗(yàn)的網(wǎng)絡(luò)管理員都會(huì)對(duì)其使用chroot 技術(shù)來(lái)增強(qiáng)bind 的安全。
在安裝光盤(pán)的Server 目錄下找到bind-chroot 的RPM 安裝包文件bind-chroot-9.3.4-10.P1.el5.i386.rpm ,使用下面的命令安裝chroot 。

使用了chroot 后,由于Bind 程序的虛擬根目錄是/var/named/chroot/,因此,所有的DNS 服務(wù)器配置文件、區(qū)域數(shù)據(jù)文件和配置文件內(nèi)的語(yǔ)句,都是相對(duì)這個(gè)虛擬根目錄而言,如/etc/named.conf,其真正的路徑是/var/named/chroot/etc/named.conf ; 而目錄/var/named/,其真正的路徑是/var/named/chroot/var/named/。
3. 配置DNS
(1) DNS 主配置文件
DNS 的主配置文件為/var/named/chroot/etc/named.conf。安裝DNS 服務(wù)后,安裝程序不會(huì)自動(dòng)生成
,這個(gè)配置文件,用戶需要自行創(chuàng)建或?qū)?usr/share/doc/bind-9.3.4/sample/etc/named.conf范本文件復(fù)制到/var/named/chroot/etc/named.conf,該文件只包括Bind 的基本配置,不包含任何DNS 區(qū)域數(shù)據(jù),需對(duì)默認(rèn)文件做相應(yīng)的配置后,才能使DNS 服務(wù)按照要求運(yùn)行起來(lái)。
named.conf 文件格式有如下規(guī)則:
? 配置文件中語(yǔ)句必須以分號(hào)結(jié)尾;
? 需用花括號(hào)將容器指令(如options) 中的配置語(yǔ)句包含起來(lái);
? 注釋符號(hào)可以使用c 語(yǔ)言中的符號(hào)對(duì) “/*”和“*/”、c 語(yǔ)言的“//”和Shell 腳本的“#”。 依據(jù)實(shí)例3.8.2修改后的/var/named/chroot/etc/named.conf內(nèi)容如下:
options {
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
/*
* 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;
};
controls {
inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};
zone "." IN {
type hint;
file "named.ca";
};
zone "teach.com" {
type master;
file "teach.com.zone";
allow-transfer {
192.168.1.254;
};
};
zone "1.168.192.in-addr.arpa" {
type master;
file "192.168.1.arpa";
allow-transfer {
192.168.1.254;
};
};
include "/etc/rndc.key";
(2) 根服務(wù)器信息文件named.ca
/var/named/named.ca是一個(gè)非常重要的文件,該文件包含了Internet 的根服務(wù)器名字和地址,Bind 接到客戶端主機(jī)的查詢請(qǐng)求時(shí),如果在Cache 中找不到相應(yīng)的數(shù)據(jù),就會(huì)通過(guò)根服務(wù)器進(jìn)行逐級(jí)查詢。例如,當(dāng)服務(wù)器收到來(lái)自DNS 客戶機(jī)查詢www.sina.com 域名的請(qǐng)求時(shí),如果Cache 沒(méi)有相應(yīng)的數(shù)據(jù),就會(huì)向Internet 的根服務(wù)器請(qǐng)求,然后根服務(wù)器將查詢交給負(fù)責(zé)域.com 的權(quán)威名稱服務(wù)器,域.com 權(quán)威名稱服務(wù)器再將請(qǐng)求交給負(fù)責(zé)域sina.com 的權(quán)威名稱服務(wù)器進(jìn)行查詢。
由于named.ca 文件經(jīng)常會(huì)隨著根服務(wù)器的變化而發(fā)生變化, 應(yīng)從國(guó)際互聯(lián)網(wǎng)絡(luò)信息中心 (InterNIC) 的 FTP服務(wù)器下載最新的版本,下載地址為: ftp://ftp.rs.internic.net/domain/named.root。下載完后,應(yīng)將該文件改名為named.ca ,并復(fù)制到“/var/named/chroot/var/named/”目錄下。然后,可以用命
,令:chown named:named named.ca命令將named.ca 文件的用戶和組改為named 。一個(gè)named.ca 的示例文件如下:
; 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
; under anonymous FTP as
; file /domain/named.root
; on server FTP.INTERNIC.NET
; -OR- RS.INTERNIC.NET
;
; last update: Dec 12, 2008
; related version of root zone: 2008121200
;
; formerly NS.INTERNIC.NET
;
. 3600000 IN NS A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4
A.ROOT-SERVERS.NET. 3600000 AAAA 2001:503:BA3E::2:30
;
; FORMERLY NS1.ISI.EDU
;
. 3600000 NS B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET. 3600000 A 192.228.79.201
;
; 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
,F.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:2F::F
;
; 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
H.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:1::803F:235
;
; 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
J.ROOT-SERVERS.NET. 3600000 AAAA 2001:503:C27::2:30
;
; OPERATED BY RIPE NCC
;
. 3600000 NS K.ROOT-SERVERS.NET.
K.ROOT-SERVERS.NET. 3600000 A 193.0.14.129
K.ROOT-SERVERS.NET. 3600000 AAAA 2001:7FD::1
;
; OPERATED BY ICANN
;
. 3600000 NS L.ROOT-SERVERS.NET.
L.ROOT-SERVERS.NET. 3600000 A 199.7.83.42
L.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:3::42
;
; OPERATED BY WIDE
;
. 3600000 NS M.ROOT-SERVERS.NET.
M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33
M.ROOT-SERVERS.NET. 3600000 AAAA 2001:DC3::35
; End of File
(3) 正向解析區(qū)域文件
一個(gè)區(qū)域內(nèi)的所有數(shù)據(jù)(包括主機(jī)名和對(duì)應(yīng)IP 地址、刷新間隔和過(guò)期時(shí)間等) 必須存放在DNS 服務(wù)器內(nèi),而用來(lái)存放這些數(shù)據(jù)的文件就被稱為區(qū)域文件(區(qū)域數(shù)據(jù)文件使用“;”符號(hào)注釋) 。DNS 服務(wù)器的區(qū)域數(shù)據(jù)文件一般存放在/var/named/chroot/var/named/目錄下,一臺(tái)DNS 服務(wù)器內(nèi)可以存放多個(gè)區(qū)域文件,
,同一個(gè)區(qū)域文件也可以存放在多臺(tái)DNS 服務(wù)器中。
下面是實(shí)例中的區(qū)域文件:/var/named/chroot/var/named/teach.com.zone的內(nèi)容。
WinXP.teach.com. IN A 192.168.1.20$ttl 38400
teach.com. IN SOA dns.teach.com. admin.teach.com. (
2005090509
10800
3600
604800
38400 )
teach.com. IN NS dns.teach.com.
dns IN A 192.168.1.254
RHEL5.teach.com. IN A 192.168.1.254
ftp.teach.com. IN A 192.168.1.253
mail.teach.com. IN A 192.168.1.252
www.teach.com. IN A 192.168.1.251
fedora.teach.com. IN A 192.168.1.10
(4) 反向解析區(qū)域文件
反向解析區(qū)域文件的結(jié)構(gòu)和格式與區(qū)域文件類似,只不過(guò)它的主要內(nèi)容是建立IP 地址映射到DNS 域名的指針PTR 資源記錄。
下面是一個(gè)在/var/named/chroot/var/named/192.168.1.arpa文件定義反向解析區(qū)域的例子。 $ttl 36000
1.168.192.in-addr.arpa. IN SOA dns.teach.com. admin.teach.com. (
2005090503
10800
3600
604800
36000 )
1.168.192.in-addr.arpa. IN NS dns.teach.com.
254.1.168.192.in-addr.arpa. IN PTR dns.teach.com.
253.1.168.192.in-addr.arpa. IN PTR ftp.teach.com.
252.1.168.192.in-addr.arpa. IN PTR mail.teach.com.
251.1.168.192.in-addr.arpa. IN PTR www.teach.com.
254.1.168.192.in-addr.arpa. IN PTR RHEL5.teach.com.
10.1.168.192.in-addr.arpa. IN PTR fedora.teach.com.
20.1.168.192.in-addr.arpa. IN PTR WinXP.teach.com.
4. 域名服務(wù)器的測(cè)試
完成域名服務(wù)器DNS 的配置后,應(yīng)該對(duì)其進(jìn)行測(cè)試。
(1) 測(cè)試前的準(zhǔn)備
? 啟動(dòng)DNS 服務(wù),并驗(yàn)證“named ”是否運(yùn)行

修改/etc/resolv.conf文件,添加域名解析服務(wù)器的IP 地址
修改/etc/resolv.conf內(nèi)容為:

?
修改后,最好重新啟動(dòng)Linux 服務(wù)器。
,(2) 使用nslookup 程序測(cè)試
? 正向解析

? 反向解析

3.8.3 啟動(dòng)和停止DNS 服務(wù)的命令
1. 啟動(dòng)DNS 服務(wù)
/etc/init.d/named start
2. 停止DNS 服務(wù)
/etc/init.d/named stop
3. 重新啟動(dòng)DNS 服務(wù)
/etc/init.d/named restart
4. 自動(dòng)啟動(dòng)DNS 服務(wù)
運(yùn)行ntsysv 找到named 服務(wù)進(jìn)行確定