DNS服務(wù)器
第25章 DNS服務(wù)器第25章 DNS服務(wù)器25.1 Internet的域名管理25.1.1 概述當用戶與Internet 上的某個主機通信時,IP 地址的“點-分”十進制表示方法雖然簡單,但當
第25章 DNS服務(wù)器
第25章 DNS服務(wù)器
25.1 Internet的域名管理
25.1.1 概述
當用戶與Internet 上的某個主機通信時,IP 地址的“點-分”十進制表示方法雖然簡單,但當要與多個Internet 上的主機進行通信時,單純數(shù)字表示的IP 地址非常難以記憶,能不能用一個有意義的名稱來給主機命名呢? 于是就產(chǎn)生了“名稱-IP 地址”的轉(zhuǎn)換方案,這樣有助于記憶和識別。只要用戶輸入一個主機名,計算機就會很快地將其轉(zhuǎn)換成機器能識別的二進制IP 地址。例如:Internet 或Intranet 的某一個主機,其IP 地址為192.168.0.1,按照這種域名方式可用一個有意義的名字“www .myweb .com ”來代替。
早在ARPANET 時代,整個網(wǎng)絡(luò)僅有數(shù)百臺計算機,這時使用了一個叫做Hosts 的文件,在其中列出了所有主機名和IP 地址的一個映射表。Hosts 文件是一個純文本文件,可用文本編輯器來處理。
但Hosts 文件的應(yīng)用也存在許多的不足,而且它僅適用于小型網(wǎng)絡(luò)。因為如果是在大型網(wǎng)絡(luò)中應(yīng)用Hosts 文件,那么就必須將所有主機的IP 地址及所對應(yīng)的主機名都輸入到Hosts 文件中,并且還要求每一臺上網(wǎng)的主機都要擁有這樣一個Hosts 文件,可以想象,這是非常復(fù)雜的操作而且很難保證各主機的Hosts 文件統(tǒng)一。另外,更可怕的是更新問題,當主機與IP 地址的對應(yīng)關(guān)系發(fā)生變化時,每臺主機的Hosts 文件也都必須隨之更改,只有這樣才能保持對應(yīng)關(guān)系的一致性。
Hosts文件正是由于上面所述的種種不足,從而引出另一種解決方式――域名系統(tǒng)(DNS),并且得到了廣泛的應(yīng)用。域名系統(tǒng)是一種基于分布式的數(shù)據(jù)庫系統(tǒng),并采用客戶/服務(wù)器模式進行主機名稱與IP 地址之間的轉(zhuǎn)換。通過建立DNS 數(shù)據(jù)庫,記錄主機名稱與IP 地址的對應(yīng)關(guān)系,并駐留在服務(wù)器端為處于客戶端的主機提供IP 地址的解析服務(wù)。例如,本地主機為host1.sdu.edu.cn ,要與其進行通信的目的主機為host2.sdu.edu.cn ,若兩臺主機處于一個網(wǎng)絡(luò)段時,本地主機會向本網(wǎng)絡(luò)段的DNS 服務(wù)器詢問目的主機的IP 地址,DNS 服務(wù)器就可以直接從數(shù)據(jù)庫中讀取host2.sdu.edu.cn 的IP 地址,然后傳送給本地主機。若兩個主機屬不同的網(wǎng)絡(luò)段,則當本地主機向DNS 服務(wù)器詢問目的主機的IP 地址時,由于該DNS 服務(wù)器中沒有該目的主機的IP 地址,所以該DNS 服務(wù)器就向外網(wǎng)絡(luò)段的DNS 服務(wù)器發(fā)出IP 地址解析請求。這樣DNS 服務(wù)器使大量地址解析工作在本地進行,僅有少量的映射需要在Internet 上通信,而且DNS 服務(wù)器也是可靠的,即使某個提供DNS 服務(wù)的計算機出現(xiàn)故障,也不會妨礙系統(tǒng)的 - 389 -
,第25章 DNS服務(wù)器
正常運行。這種主機名到IP 地址的映射是由若干個DNS 服務(wù)器程序完成的。 DNS 服務(wù)器程序在專設(shè)的結(jié)點上運行,因此,人們也把運行DNS 服務(wù)器程序的計算機稱為域名服務(wù)器。
25.1.2 DNS域名結(jié)構(gòu)
在廣域網(wǎng)發(fā)展的初期,也就是在Internet 還未形成規(guī)模以前,主要是通過在網(wǎng)絡(luò)中發(fā)布一個統(tǒng)一的Hosts 主機文件,就可以完成所有的主機查找,而當Internet 的規(guī)模越來越大以后,這種使用主機文件查找主機的方法就很難適應(yīng)了。主要原因一個是維護和更新困難,另一個是使用非等級的名字結(jié)構(gòu),雖然其名字簡短,但當Internet 網(wǎng)絡(luò)上的用戶數(shù)急劇增加時,由于要控制主機不能重名,所以用非等級名字空間來管理一個經(jīng)常變化的名字集合是非常困難的。因此,Internet 后來采用了層次樹狀結(jié)構(gòu)的命名方法――DNS 域名服務(wù),就像全球郵政系統(tǒng)和電信系統(tǒng)一樣。例如,一個電話號碼是086-027-33445566,在這個電話中包含著幾個層次:086表示中國,區(qū)號027表示武漢市,33445566又表示該市某一個電話分局的某一個電話號碼。同樣,Internet 也采用類似的命名方法,這樣任何一個連接在Internet 上的主機或路由器,都有一個惟一的層次結(jié)構(gòu)名字(即域名) 。這里的“域”(Domain)是名字空間中一個可被管理的劃分。域名只是個邏輯上的概念,并不反映計算機所在的物理地點。
DNS 數(shù)據(jù)庫的結(jié)構(gòu)如同一棵倒過來的樹,它的根位于最頂部,緊接著在根的下面是一些主域,每個主域又進一步劃分為不同的子域。由于InterNIC 負責管理世界范圍的IP 地址分配,順理成章也就管理著整個域結(jié)構(gòu),整個Internet 的域名服務(wù)都是由DNS 來實現(xiàn)的,與文件系統(tǒng)的結(jié)構(gòu)類似,每個域都可以用相對的或絕對的名稱來標識,相對于父域來表示一個域可以用相對域名,絕對域名指完整的域名,主機名指為每臺主機指定的主機名稱,帶有域名的主機名叫全稱域名。
圖26-1 域名機構(gòu)
- 390 -
,第25章 DNS服務(wù)器
如圖26-1所示,這是整個Internet 的域結(jié)構(gòu)圖。最高層次是頂級域又叫主域,它的下面是子域,子域下面可以有主機,也可以再分子域,直到最后是主機。要在整個Internet 上來識別特定的主機,必須用全稱域名,例如:www.microsoft.com 。
頂級域名常見的有兩類:
(1) 國家級頂級域名。例如:
CN 表示中國;UK 表示英國;AU 表示澳大利亞等
(2) 通用的頂級域名。例如:
● COM:商業(yè)機構(gòu);
● EDU:美國教育機構(gòu):
● NET:網(wǎng)絡(luò)管理機構(gòu);
● ORG:社會團體;
● MIL:美國軍隊部門;
● GOV:美國政府部門。
由于Internet 上用戶的急劇增加,現(xiàn)在又增加了七個通用的頂級域名,即: ● FIRM:表示公司企業(yè);
● SHOP:表示銷售公司和企業(yè);
● WEB:表示突出萬維網(wǎng)活動的單位;
● ARTS:表示突出文化、娛樂活動的單位;
● REC:表示突出消遣、娛樂活動的單位;
● INFO:表示提供信息服務(wù)的單位;
● NOW:表示個人。
在國家頂級域名下注冊的二級域名均由該國家自行確定。我們國家將二級域名劃分為“類別域名”和“行政區(qū)域名”兩大類。其中,類別域名6個,分別是:
● AC:表示科研機構(gòu);
● COM:表示工、商、金融等企業(yè);
● EDU:表示教育機構(gòu);
● GOV:表示政府部門;
● NET:表示互聯(lián)網(wǎng)絡(luò)、接入網(wǎng)絡(luò)的信息中心和運行中心;
● ORG:表示各種非贏利性組織。
行政區(qū)域名34個,適用于我國的省、自治區(qū)、直轄市。例如:bj 為北京市:sh 為上海市;hb 為湖北省等。
25.1.3 DNS域名解析的工作原理
在上面介紹了域的概念和域的層次結(jié)構(gòu)之后,就可以進一步了解DNS 的工作原理和工作過程,DNS 的工作原理及過程分以下幾個步驟:
(1)DNS客戶機提出域名解析請求,并將該請求發(fā)送給本地的域名服務(wù)器。 - 391 -
,第25章 DNS服務(wù)器
(2)當本地的域名服務(wù)器收到請求后,就先查詢本地的緩存,如果有該記錄項,則本地的域名服務(wù)器就直接把查詢的結(jié)果返回。
(3)如果本地的緩存中沒有該記錄,則本地域名服務(wù)器就直接把請求發(fā)給根域名服務(wù)器,然后根域名服務(wù)器再返回給本地域名服務(wù)器一個所查詢域(根的子域) 的主域名服務(wù)器的地址。
(4)本地服務(wù)器再向上一步返回的域名服務(wù)器發(fā)送請求,然后接受請求的服務(wù)器查詢自己的緩存,如果沒有該記錄,則返回相關(guān)的下級域名服務(wù)器的地址。
(5)重復(fù)第四步,直到找到正確的記錄。
(6)本地域名服務(wù)器把返回的結(jié)果保存到緩存,以備下一次使用,同時還將結(jié)果返回給客戶機。
下面舉一個例子來詳細說明解析域名的過程。假設(shè)DNS 客戶機如果想要訪問站點www.sdu.edu.cn ,此客戶本地的域名服務(wù)器是dns.1bliubing. com ,一個根域名服務(wù)器是dns.inter.com ,所要訪問的網(wǎng)站的域名服務(wù)器是dns.sdu.edu.cn ,域名解析的過程如下所示:
(1)客戶機發(fā)出請求解析域www.sdu.edu.cn 的報文。
(2)本地的域名服務(wù)器收到請求后,查詢本地緩存,假設(shè)沒有該記錄,本地域名服務(wù)器dns.1bliubing.com 則向根域名服務(wù)器dns.inter.com 發(fā)出請求解析域名www.sdu.edu.cn 。
(3)根域名服務(wù)器dns.inter.com 收到請求后查詢本地記錄得到如下結(jié)果:
sdu.edu.cn NS dns.sdu.edu.cn
表示sdu.edu.cn 域中的域名服務(wù)器為:dns.sdu.edu.cn ,同時給出d ns.sdu.edu.cn 的地址,并將結(jié)果返回給域名服務(wù)器dns.1bliubing.com 。
(4)域名服務(wù)器dns.1bliubing.com 收到回應(yīng)后,再發(fā)出請求解析域www.sdu.edu.cn 的報文。
(5)域名服務(wù)器dns.sdu.edu.cn 收到請求后,開始查詢本地記錄,找到如下一條記錄:
www.sdu.edu.cn A 202.194.3.12
表示sdu.edu.cn 域中域名服務(wù)器dns.sdu.edu.cn 的IP 地址為:211. 85.192.8,并將結(jié)果返回給客戶本地域名服務(wù)器dns.1bliubing.com 。
(6)客戶本地域名服務(wù)器將返回的結(jié)果保存到本地緩存,同時將結(jié)果返回給客戶機。
這樣就完成了一次域名解析過程。
25.2 DNS服務(wù)器的啟動與停止
在Red Hat Linux 9系統(tǒng)中,DNS 服務(wù)器采用的是BIND 域名服務(wù)器。在這節(jié)的DNS 服務(wù)器配臵中,主要完成的任務(wù)是把host.example.com 域名通過DNS 服務(wù)器轉(zhuǎn)換成對應(yīng)的IP 地址,其值為202.198.100.1。 - 392 -
,第25章 DNS服務(wù)器
在進行DNS 服務(wù)器配臵之前,首先要檢查系統(tǒng)中是否安裝了BIND 域名服務(wù)器,檢查的方法可使用下面的命令:
#rpm –qa|grep bind
可使用下面的命令來對BIND 域名服務(wù)器進行啟動和停止。 #service named start
#service named stop
#service named restart
25.3 DNS服務(wù)器的圖形化工具配置
在Red Hat Linux 9中,提供了一種Bind 配臵工具來對DNS 服務(wù)器進行相應(yīng)的配臵。但要運行Bind 配臵工具必須要有X 窗口系統(tǒng)和根的訪問權(quán)限。要啟動Bind 配臵工具,可使用以下兩種方法:
(1)單擊面板上的“主菜單一系統(tǒng)設(shè)臵一服務(wù)器設(shè)臵一域名服務(wù)”,打開如圖26-2所示的對話框。
(2)在Shell 提示(如XTerm 或GNOME 終端) 下,鍵入
redhat-config-b ind 命令。
圖26-2 域名服務(wù)設(shè)置對話框
Bind 配臵工具把默認的區(qū)塊目錄配臵成/var/named。所有指定的區(qū)塊文件都是相對于該目錄所言。 Bind配臵工具還包括對輸入值的基本語法檢查。例如,如果一個合法的項目應(yīng)該是IP 地址,那么只被允許在文本區(qū)域中鍵入數(shù)字和點(.)字符。
Bind 配臵工具允許添加一個正向主區(qū),一個逆向主區(qū)和一個從區(qū)。添加了這些區(qū)塊后,就可以從主窗口中編輯或刪除它們,如圖26-2所示。 - 393 -
,第25章 DNS服務(wù)器
圖26-3 選擇設(shè)置區(qū)塊的類型
添加、編輯、刪除某區(qū)之后,必須單擊“保存”按鈕或選擇“文件→保存”來寫入/etc/named.conf配臵文件和/var/named目錄中的每個區(qū)塊文件。應(yīng)用這些改變還會令named 服務(wù)重新載入配臵文件。選擇“文件→退出”會在退出文件前保存所做的改變。
25.3.1 正向主區(qū)塊配置
正向主區(qū)塊配臵主要的作用是進行從域名到IP 地址的轉(zhuǎn)換。其設(shè)臵步驟如下:
(1)單擊圖26-2中的“新建”按鈕,打開如圖26-3所示的窗口。
(2)在圖26-3中,選擇正向主區(qū)塊,并在“域名”后的文本框中輸入所需要設(shè)臵轉(zhuǎn)換的域名。本書由于要實現(xiàn)host.example.com 到202.198.100.1之間的轉(zhuǎn)換,所以此處輸入的域名是“example.com ”。輸入完正確的域名后,單擊“確定”按鈕,打開如圖26-4所示的對話框。
圖26-4 名稱到IP 地址的轉(zhuǎn)換設(shè)置
- 394 -
第25章 DNS服務(wù)器
(3)在圖26-4中,各文本框所輸入的內(nèi)容說明如下:
● 名稱:在前一個窗口中輸入的域名。
● 文件名:DNS 數(shù)據(jù)庫文件的文件名。
● 聯(lián)系:主區(qū)的主要電子郵件聯(lián)系地址。
● 主名稱服務(wù)器(SOA):授權(quán)狀態(tài)(SOA)記錄,指定最適合的域信息名稱服務(wù)器。
● 序列號碼:DNS 數(shù)據(jù)庫文件的序列號碼。在每次文件發(fā)生改變時,這個號碼都應(yīng)該向前遞增,因此該區(qū)塊的次名稱服務(wù)器就能夠檢索到最新的數(shù)據(jù)。Bind 配臵工具在每次配臵發(fā)生改變時都會遞增該號碼。
● 時間設(shè)臵:存儲在DNS 數(shù)據(jù)庫文件中的刷新、重試、過期和最小TTL 值(活躍時間) 。所有值都以秒為單位。
● 記錄:增加、編輯和刪除關(guān)于主機、別名和名稱服務(wù)器之類的資源記錄。
在本例中,在主名稱服務(wù)器(SOA)后的文本框中輸入“example.com. ”,特別強調(diào),這個文本框所輸入的域名名稱一定要用“. ”結(jié)束。在圖26-4中單擊“增加”按鈕,來添加computer 主機,打開如圖26-5所示的對話框。
圖26-5 添加一條記錄
(4)在圖26-56中的主機名后的文本框輸入“host ”,這是本例中實現(xiàn)轉(zhuǎn)換的主機名,在地址后的文本框中輸入要轉(zhuǎn)換的對應(yīng)IP 地址“202.198.100.1“。輸入完后,單擊“確定”按鈕。
(5)返回到如圖26-4所示的窗口。不過此圖中已經(jīng)添加了一個主機,如圖26-6所示。
(6)在圖26-6中,在記錄中先選中“example.com ”,單擊“編輯”按鈕,打開如圖26-7所示的對話框。
- 395 -
,第25章 DNS服務(wù)器
圖26-6 添加了主機 圖26-7 名稱服務(wù)器設(shè)置
(7)在圖26-7中,單擊“增加”按鈕,打開如圖26-8所示的對話框。在此對話框中輸入“example.com ”,并單擊“確定”按鈕,返回到如圖26-7所示的對話框。
(8)單擊“確定”按鈕,并保存設(shè)臵,關(guān)閉域名服務(wù)設(shè)臵。這樣,域名到IP 地址的轉(zhuǎn)換設(shè)臵就結(jié)束了。
圖26-8 名稱服務(wù)器的屬性
上述操作完畢,會在/etc/named.conf配臵文件中會創(chuàng)建一個類似下面的條目:
zone “example.com” {
type master;
file “example.com.zone”;
};
同時也會創(chuàng)建一個/var/named/ example.com.zone文件,內(nèi)容如下: $TTL 86400
@ IN SOA example.com. root.localhost (
2 ; serial
28800 ; refresh
7200 ; retry
- 396 -
第25章 DNS服務(wù)器
host IN IN NS A 604800 ; expire 86400 ; ttl ) example.com. 202.198.100.1
25.3.2 反向DNS 服務(wù)器的配置
反向DNS 服務(wù)器是指用戶的IP 地址到域名的轉(zhuǎn)換,本書的例子是把“202.198.100.1”轉(zhuǎn)換為“host.example.com ”。設(shè)臵步驟如下:
(1)要添加逆向主區(qū),在圖26-3中單擊“新建”按鈕,并選擇“逆向主區(qū)塊”。如圖26-10所示,輸入要配臵的IP 地址范圍的前3個八位組。在“IP 地址(前3個八位組) ”文本區(qū)域內(nèi)輸入202.198.100,然后單擊“確定”按鈕。
圖26-9 逆向主區(qū)塊
- 397 -
,第25章 DNS服務(wù)器
圖26-10 IP到名稱的翻譯
(2)打開如圖26-10所示的對話框。在該對話框中,需要輸入的項目如下: ● IP地址:在前一個窗口內(nèi)輸入的前3個八位組。
● 逆向IP 地址:不可編輯。根據(jù)輸入的IP 地址自動設(shè)臵完成. ● 聯(lián)系:主區(qū)的主要電子郵件聯(lián)系地址。
● 文件名:/var/named目錄中DNS 數(shù)據(jù)庫文件的名稱。
● 主名稱服務(wù)器(SOA):授權(quán)狀態(tài)(SOA)記錄。它指定最適合該域信息的名稱服務(wù)器。
● 序列號碼:DNS 數(shù)據(jù)庫文件的序列號碼。在每次文件發(fā)生改變時,這個號碼都應(yīng)
該向前遞增,因此該區(qū)塊的次名稱服務(wù)器就能夠檢索到最新的數(shù)據(jù)。 ● 時間設(shè)臵:存儲在DNS 數(shù)據(jù)庫文件中的刷新、重試、過期和最小 TTL(活躍時間) 值。所有值都以秒為單位。
● 名稱服務(wù)器:為逆向主區(qū)添加、編輯或刪除名稱服務(wù)器。至少需要一個名稱服務(wù)器。
● 逆向地址表:在逆向主區(qū)和它們的主機名內(nèi)的IP 地址列表。例如,對于逆向主區(qū) 202.198.100,可以在“逆向地址表”中添加“202.198.100.1”,以及主機名host.example.com. 。主機名一定要以點(.)結(jié)束以表明 - 398 -