第十五章 域名服務(wù)
第十五章域名服務(wù)在前面幾章中我們學(xué)習(xí)了IP 地址管理和文件服務(wù)管理,在對(duì)服務(wù)器主機(jī)進(jìn)行訪問時(shí)都是使用IP 地址,。而在實(shí)際的網(wǎng)絡(luò)應(yīng)用中,通常是使用域名訪問服務(wù)器主機(jī)的,本章將學(xué)習(xí)網(wǎng)絡(luò)中域名服務(wù)器的配置
第十五章
域名服務(wù)
在前面幾章中我們學(xué)習(xí)了IP 地址管理和文件服務(wù)管理,在對(duì)服務(wù)器主機(jī)進(jìn)行訪問時(shí)都是使用IP 地址,。而在實(shí)際的網(wǎng)絡(luò)應(yīng)用中,通常是使用域名訪問服務(wù)器主機(jī)的,本章將學(xué)習(xí)網(wǎng)絡(luò)中域名服務(wù)器的配置與管理。
在網(wǎng)絡(luò)應(yīng)用系統(tǒng)中,DNS 服務(wù)器為用戶提供了主機(jī)名和IP 地址的解析服務(wù)。在局域網(wǎng)內(nèi)部,通過構(gòu)建DNS 服務(wù)器,可以使用戶使用域名訪問局域網(wǎng)中的每一臺(tái)主機(jī)。在互聯(lián)網(wǎng)中,通過DNS 可以使全世界所有的網(wǎng)絡(luò)用戶使用域名訪問各種類型的主機(jī),如Web 服務(wù)器,Mail 服務(wù)器等。
BIND ( Berkeley Internet Name Domain)是著名的開源服務(wù)器軟件,1984年在UNIX 系統(tǒng)上開發(fā)實(shí)現(xiàn),1985年正式命名為BIND 。BIND 可運(yùn)行在大多數(shù)的UNIX/Linux系統(tǒng)中,成為事實(shí)上的標(biāo)準(zhǔn)。世界上大多數(shù)DNS 服務(wù)器主機(jī)都使用BIND 服務(wù)器提供域名解析服務(wù)。 15.1 DNS基礎(chǔ)
人們?cè)谑褂镁W(wǎng)絡(luò)的過程中,每一刻都在享受著DNS 服務(wù)器提供的服務(wù),如使用IE 瀏覽網(wǎng)頁等。
15.1.1 DNS作用
用戶在使用網(wǎng)絡(luò)過程中,通常是通過域名訪問服務(wù)器的,例如瀏覽網(wǎng)易的首頁需要在IE 的地址欄中輸入www.163.com ,而瀏覽器程序在訪問網(wǎng)易的服務(wù)器時(shí)是使用IP 地址進(jìn)行訪問的,因此瀏覽器程序就需要通過向DNS 服務(wù)器查詢來將域名www.163.com 轉(zhuǎn)換為對(duì)應(yīng)的IP 地址再進(jìn)行訪問。
DNS 服務(wù)器的主要作用就是為所有網(wǎng)絡(luò)程序提供主機(jī)域名與IP 地址的相互轉(zhuǎn)換,包括以下兩個(gè)方面的轉(zhuǎn)換功能:
將主機(jī)名稱(域名)轉(zhuǎn)換為對(duì)應(yīng)的IP 地址,稱為正向解析。域名的正向解析也是DNS 服務(wù)器最常用的功能。
將主機(jī)的IP 地址轉(zhuǎn)換為對(duì)應(yīng)的域名,稱為反向解析。域名的反向解析不常用,確是DNS 服務(wù)器不可或缺的功能,很多網(wǎng)絡(luò)服務(wù)會(huì)將域名的反向解析作為訪問控制策略的一部分,沒有配置正確的反向解析記錄有可能造成部分網(wǎng)絡(luò)服務(wù)不可用。
從上面的功能描述可以看出,DNS 服務(wù)器的功能相對(duì)其他網(wǎng)絡(luò)服務(wù)器比較簡(jiǎn)單,但卻是其他網(wǎng)絡(luò)服務(wù)器正常使用的基礎(chǔ)和保障,因此,DNS 服務(wù)對(duì)所有的網(wǎng)絡(luò)服務(wù)都具有重要的輔助作用。
15.1.2 DNS結(jié)構(gòu)和作用機(jī)制
在整個(gè)互聯(lián)網(wǎng)的應(yīng)用中,所有的DNS 的集合可以看作是一個(gè)大的分布式數(shù)據(jù)庫,這個(gè)分布式數(shù)據(jù)可采用倒置的樹形結(jié)構(gòu),全世界的域名系統(tǒng)具有唯一的“根”,DNS 根服務(wù)器使用“.”表示。
DNS 數(shù)的每個(gè)節(jié)點(diǎn)代表一個(gè)域,通過這些節(jié)點(diǎn),對(duì)整個(gè)域名空間進(jìn)行劃分,成為一個(gè)
,層析結(jié)構(gòu)。域名空間的每個(gè)域的名字,通過域名表示。域名通常由一個(gè)完全合格域名(FQDN )標(biāo)識(shí)。FQDN 能準(zhǔn)確表示出其相對(duì)于DNS 域根的位置,也就是節(jié)點(diǎn)到DNS 樹根的完整表述方式,從節(jié)點(diǎn)到樹根采用反向書寫,并將每個(gè)節(jié)點(diǎn)用“.”分隔,對(duì)于DNS 域microsoft 來說,其完全合格域名(FQDN )為microsoft.com 。
根(. )服務(wù)器是所有主機(jī)域名解析的源頭。
“.cn.”服務(wù)器負(fù)責(zé)解析所有以“cn”結(jié)尾的域名的解析。
“com.cn.”服務(wù)器負(fù)責(zé)所有以com.cn 結(jié)尾的域名的解析。
“sina.com.cn.”服務(wù)器是新浪公司負(fù)責(zé)維護(hù)的DNS 服務(wù)器,用于對(duì)sina.com.cn 域中
所有的主機(jī)進(jìn)行域名解析。因此能夠解析主機(jī)www.sina.com.cn 的IP 地址。

在DNS 的域名系統(tǒng)中,使用“.”在FQDN 中進(jìn)行域和子域之間的分隔
com.cn 是“.cn”的子域。
sina.com.cn 是com.cn 的子域。
Internet 域名空間進(jìn)行了層次的劃分。由樹根到樹枝,也就是從DNS 根到下面的節(jié)點(diǎn),按照不同的層次,進(jìn)行了統(tǒng)一的命名。域名空間最頂層,即DNS 的根,稱為根域(root )。根域的下一層為頂級(jí)域或一級(jí)域。其下層為二級(jí)域,再下層為二級(jí)域的子域,按照需要進(jìn)行規(guī)劃,可以為多級(jí),二級(jí)域名開始,個(gè)人和組織可以申請(qǐng)。整個(gè)域名空間由最頂層到下層,可以分為:根域、頂級(jí)域、二級(jí)域、子域。并且域中能夠包含主機(jī)和子域。主機(jī)的FQDN 從最下層到最頂層反寫。
Internet 域名空間的最頂層是根域(root ),其記錄著Internet 的重要DNS 信息,由Internet 域名注冊(cè)授權(quán)機(jī)構(gòu)管理,該機(jī)構(gòu)把域名空間各部分的管理責(zé)任分配給連接到Internet 的各個(gè)組織。
DNS 根域下面是頂級(jí)域,也是由Internet 域名注冊(cè)授權(quán)機(jī)構(gòu)管理。共有3種類型的頂級(jí)域:
組織域:采用3個(gè)字符的代號(hào),表示DNS 域中所包含的組織的主要功能或活動(dòng)。
如商業(yè)機(jī)構(gòu)組織是com ,教育組織機(jī)構(gòu)是edu 等。
國家或地區(qū)域:采用2個(gè)字符的代號(hào),如cn 為中國,kr 為韓國,us 為美國。 反向域:這個(gè)是特殊域,名字為in-addr.arpa ,用于將IP 地址映射到域名。
由于美國是互聯(lián)網(wǎng)最早的使用者,因此美國的各種機(jī)構(gòu)會(huì)直接使用以上域名而很少加國
,家域名“.us”,而其他國家的機(jī)構(gòu)在使用域名時(shí)都需要在本國的子域中進(jìn)行注冊(cè),如域名后綴“.com.cn”代表中國公司,域名后綴“.edu.cn”代表中國的教育機(jī)構(gòu)等。
15.2使用BIND 構(gòu)建DNS 服務(wù)器
15.2.1 DNS查詢?cè)砑傲鞒?/p>
1、DNS 相關(guān)概念
DNS 服務(wù)器
運(yùn)行DNS 服務(wù)器程序的計(jì)算機(jī),存儲(chǔ)DNS 數(shù)據(jù)庫信息。DNS 服務(wù)器會(huì)嘗試解析客戶機(jī)的查詢請(qǐng)求。在解答查詢時(shí),如果DNS 服務(wù)器能夠提供所請(qǐng)求的信息,就直接回應(yīng)解析結(jié)果,如果該DNS 服務(wù)器沒有相應(yīng)的域名信息,則為客戶機(jī)提供另一個(gè)能幫助解析查詢的服務(wù)器地址,如果以上兩種方法均失敗,則回應(yīng)客戶機(jī)沒有所請(qǐng)求的信息。
DNS 緩存
DNS 服務(wù)器在解析客戶機(jī)請(qǐng)求時(shí),如果本地沒有該DNS 信息,則可以會(huì)詢問其他DNS 服務(wù)器,當(dāng)其他域名服務(wù)器返回查詢結(jié)果時(shí),該DNS 服務(wù)器會(huì)將結(jié)果記錄在本地的緩存中,成為DNS 緩存。當(dāng)下一次客戶機(jī)提交相同請(qǐng)求時(shí),DNS 服務(wù)器能夠直接使用緩存中的DNS 信息進(jìn)行解析。
資源記錄
DNS 服務(wù)器的信息數(shù)據(jù),按照分類進(jìn)行存儲(chǔ),能夠解析客戶端的DNS 請(qǐng)求。
區(qū)域文件
包含區(qū)域資源記錄的文件,選擇DNS 服務(wù)器為授權(quán)服務(wù)器,管理該區(qū)域。在大部分DNS 實(shí)現(xiàn)中,使用文本文件實(shí)現(xiàn)區(qū)域文件。
2、遞歸查詢和迭代查詢
遞歸查詢:
遞歸查詢是一種DNS 服務(wù)器的查詢模式,在該模式下DNS 服務(wù)器接收到客戶機(jī)請(qǐng)求,必須使用一個(gè)準(zhǔn)確的查詢結(jié)果回復(fù)客戶機(jī)。如果DNS 服務(wù)器本地沒有存儲(chǔ)查詢的DNS 信息,那么該服務(wù)器會(huì)詢問其他服務(wù)器,并將返回的查詢結(jié)果提交給客戶機(jī)。
迭代查詢
DNS 服務(wù)器另外一種查詢方式為迭代查詢,DNS 服務(wù)器會(huì)向客戶機(jī)提供其他能夠解析查詢請(qǐng)求的DNS 服務(wù)器地址,當(dāng)客戶機(jī)發(fā)送查詢請(qǐng)求時(shí),DNS 服務(wù)器并不直接回復(fù)查詢結(jié)果,而是根據(jù)另一臺(tái)DNS 服務(wù)器地址,向這臺(tái)DNS 服務(wù)器提交請(qǐng)求,依次循環(huán)直到返回查詢的結(jié)果。
,
3、正向解析和反向解析
正向解析
正向解析是指域名到IP 地址的解析過程。
反向解析
反向解析是從IP 地址到域名的解析過程,作為為服務(wù)器的身份驗(yàn)證。
4、資源記錄
為了將名字解析為IP 地址,服務(wù)器查詢他們的區(qū)域文件(又叫DNS 數(shù)據(jù)庫文件)。區(qū)域文件中包含組成相關(guān)DNS 域資源信息的資源記錄。某些資源記錄把域名解析為IP 地址,另一些則把IP 地址解析為域名。某些資源記錄不僅包括DNS 域中服務(wù)器的信息,還可以用于定義域,即指定每臺(tái)服務(wù)器授權(quán)了哪些域,這些資源記錄就是SOA 和NS 記錄。

15.2.2 安裝DNS 服務(wù)
BIND 全稱Berkeley Internet Name Domain(伯克利因特網(wǎng)名稱域系統(tǒng))。BIND 主要有三個(gè)版本:BIND4,BIND8,BIND9。
BIND8融合了許多提高效率、穩(wěn)定性和安全性的技術(shù),而BIND9增加了一些超前的理念:IPv6的支持,公開密鑰加密,多處理器支持,增量區(qū)域傳輸?shù)鹊取?/p>
1、DNS 所需的軟件
,
bind-9.3.6-4.P1.el5.i386.rpm
提供了域名服務(wù)的主要程序及相關(guān)文件,安裝DNS 服務(wù)器必須安裝。
bind-utils-9.3.6-4.P1.el5.i386.rpm
提供了對(duì)DNS 服務(wù)器的測(cè)試工具程序(如nslookup 、dig 等)
bind-chroot-9.3.6-4.P1.el5.i386.rpm
為bind 提供一個(gè)偽裝的根目錄以增強(qiáng)安全性(將“/var/named/chroot/”文件夾作為BIND 的根目錄)
caching-nameserver-9.3.3-7.el5.i386.rpm
為配置BIND 作為緩存域名服務(wù)器提供必要的默認(rèn)配置文件,這些文件在配置主、從域名服務(wù)器時(shí)也可以作為參考
2、軟件包的安裝
系統(tǒng)默認(rèn)安裝的相關(guān)軟件包:

使用yum 工具進(jìn)行安裝,yum 的配置:

修改/etc/yum.repos.d/rhel-debuginfo.repo內(nèi)容為:

然后進(jìn)行軟件的安裝:

安裝后查詢軟件包是否正確安裝:
,
3、DNS 服務(wù)器的配置文件
BIND 服務(wù)器的主配置文件是named.conf ,文件默認(rèn)不存在,需要手工建立或者從樣例文件復(fù)制而來,樣例文件是/etc/named.caching-nameserver.conf,由于安裝了bind-chroot 軟件包,構(gòu)造了一個(gè)虛假的目錄,實(shí)際上上述樣例文件只是一個(gè)鏈接文件:

真正的文件在/var/named/chroot/etc/目錄中。
我們進(jìn)入到上述目錄,并建立主配置文件:

加-p 選項(xiàng)是為了不改變文件原有的權(quán)限。
我們查詢此文件的有效行:
,
directory 用于設(shè)置BIND 服務(wù)器的工作目錄,即域名區(qū)域文件保存的目錄,默認(rèn)是
/var/named。
dump-file 用于設(shè)置域名緩存文件的保存位置和文件名。
以上的設(shè)置是named.conf 文件中的基本的全局設(shè)置。
而named.conf 文件中沒有對(duì)區(qū)域的具體設(shè)置,而是通過加載另一個(gè)文件來實(shí)現(xiàn)。
,
type 字段指定區(qū)域的類型,對(duì)于管理區(qū)域至關(guān)重要,一共分為以下幾種:
master :主DNS 服務(wù)器:擁有區(qū)域數(shù)據(jù)文件,并對(duì)此區(qū)域提供管理數(shù)據(jù)。
slave :輔助DNS 服務(wù)器:擁有主DNS 服務(wù)器的區(qū)域數(shù)據(jù)文件的副本,輔助DNS
服務(wù)器會(huì)從主DNS 服務(wù)器同步所有區(qū)域數(shù)據(jù)。
stub :stub 區(qū)域和slave 類似,但其只復(fù)制主DNS 上的NS 記錄而不是所有區(qū)域數(shù)
據(jù)。
forward :配置轉(zhuǎn)發(fā)。把在本地DNS 服務(wù)器解析不了的域名轉(zhuǎn)發(fā)到另外的DNS 服務(wù)
器解析。
hint :指定為根區(qū)域。
4、設(shè)置named 服務(wù)開機(jī)啟動(dòng)狀態(tài):

5、DNS 服務(wù)器的類型基本有3種:
緩存域名服務(wù)器
其主要功能是提供域名解析的緩存。該類型服務(wù)器中不包括注冊(cè)域名的設(shè)置,而只對(duì)用戶查詢過的域名解析記錄進(jìn)行緩存,當(dāng)用戶首次進(jìn)行域名查詢時(shí),緩存服務(wù)器將向其他DNS
,服務(wù)器進(jìn)行域名查詢并將查詢結(jié)果保存在緩存中,緩存服務(wù)器可以大大提高常用域名的查詢速度,因此特別適合在局域網(wǎng)內(nèi)部使用。
主域名服務(wù)器
主域名服務(wù)器是特定區(qū)域所有信息的權(quán)威性信息源,對(duì)于某個(gè)指定區(qū)域,主域名服務(wù)器是唯一存在的。主域名服務(wù)器保存了指定域的區(qū)域文件。
從域名服務(wù)器
從域名服務(wù)器不進(jìn)行特定域信息(區(qū)域文件)的權(quán)威設(shè)置,而是從該域的主域名服務(wù)器中獲取相應(yīng)的文件并進(jìn)行保存。當(dāng)主域名服務(wù)器的內(nèi)容發(fā)生變化時(shí),從域名服務(wù)器的內(nèi)容也會(huì)進(jìn)行相應(yīng)的變化。從域名服務(wù)器是對(duì)主域名服務(wù)器的備份,可以有效的對(duì)主域名服務(wù)器的負(fù)載進(jìn)行分擔(dān)。
15.2.3 配置緩存域名服務(wù)器
緩存域名服務(wù)器,是配置其他類型DNS 服務(wù)器的基礎(chǔ)。
實(shí)例:緩存域名服務(wù)器的主機(jī)IP 地址為192.168.1.2,該主機(jī)是構(gòu)建主域名服務(wù)器的基礎(chǔ);緩存域名服務(wù)器應(yīng)能夠與互聯(lián)網(wǎng)中的其他DNS 服務(wù)器進(jìn)行網(wǎng)絡(luò)連接,以查詢DNS 客戶機(jī)的域名解析請(qǐng)求。
在局域網(wǎng)內(nèi)部構(gòu)建緩存域名服務(wù)器的主要目的是提高域名解析的速度和節(jié)約對(duì)互聯(lián)網(wǎng)訪問的出口帶寬。
1、安裝caching-nameserver 軟件包
該軟件包在系統(tǒng)安裝光盤自帶,默認(rèn)沒有安裝,可使用yum 工具進(jìn)行安裝。

查詢安裝此軟件包后所安裝的文件列表:

能看出安裝caching-nameserver 軟件包后,安裝了DNS 服務(wù)器的配置文件以及區(qū)域文件等內(nèi)容。
2、修改named.conf 配置文件
首先建立named.conf (雖然上圖顯示已經(jīng)建立/etc/named.conf,但是在/etc/,目錄下查找不到),我們復(fù)制樣例文件:

對(duì)named.conf 文件進(jìn)行修改,修改的內(nèi)容(只列出被修改的行和內(nèi)容):



3、文件named.conf 中的全局設(shè)置
配置文件named.conf 中的options 字段定義了BIND 服務(wù)器的全局設(shè)置屬性:

4、根區(qū)域設(shè)置及根區(qū)域文件
根區(qū)域是互聯(lián)網(wǎng)中所有域名的開始,使用句點(diǎn)(. )表示,緩存服務(wù)器只能夠訪問DNS 根服務(wù)器才能提供正常的域名解析服務(wù)。因此在緩存域名服務(wù)器的配置文件中包括根區(qū)域的配置信息:
由于named.conf 中沒有設(shè)置具體區(qū)域,運(yùn)行時(shí)需要加載named.rfc1912.zones 文件中的區(qū)域設(shè)置,所以我們查看此文件中的根區(qū)域配置信息。

type 設(shè)置hint 表示該區(qū)域的類型為根區(qū)域;file 設(shè)置的是根區(qū)域文件的名稱和位置,即在BIND 服務(wù)器的工作目錄“/var/named/”中。
根區(qū)域文件中包括了全世界范圍內(nèi)互聯(lián)網(wǎng)使用的所有DNS 根服務(wù)器的地址解析信息,是由互聯(lián)網(wǎng)管理機(jī)構(gòu)統(tǒng)一發(fā)布,因此不需要用戶更改其中的內(nèi)容。
