基于Linux下的DNS服務(wù)器的構(gòu)建與配置
1頁20頁基于Linux 下的DNS 服務(wù)器的構(gòu)建與配置學(xué)生姓名:XX 指導(dǎo)老師:XX摘 要 隨著計(jì)算機(jī)網(wǎng)絡(luò)的發(fā)展, 擔(dān)負(fù)地址解析任務(wù)的 DNS 服務(wù)器的作用日顯突出。同時 LINUX 操作系統(tǒng)

1頁20頁
基于Linux 下的DNS 服務(wù)器的構(gòu)建與配置
學(xué)生姓名:XX 指導(dǎo)老師:XX
摘 要 隨著計(jì)算機(jī)網(wǎng)絡(luò)的發(fā)展, 擔(dān)負(fù)地址解析任務(wù)的 DNS 服務(wù)器的作用日顯突出。同時 LINUX 操作系統(tǒng)以其具備自主開發(fā)和高效靈活的特點(diǎn)已成為全球增長最快的操作系統(tǒng)之一,在 LINUX 操作平臺上搭建各類網(wǎng)絡(luò)服務(wù)器,真正意義上實(shí)現(xiàn)多任務(wù)、多用戶服務(wù), 具備了穩(wěn)定性、安全性和高效性。本次設(shè)計(jì)分析了 DNS 工作原理以及域名系統(tǒng), 介紹了基于 LINUX 的 DNS 服務(wù)器的一般配置。
關(guān)鍵詞 計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng);域名解析;多任務(wù)
,
2頁20頁
The Structure and Configuration of DNS Server Based on Linux Operating System
Student name: XX Advisor :XX
Abstract With the development of computer network,the role of the DNS server,which shoulders the task of resolving address,is obvious important.The Linux operating system is regarded as one of the most popular operating systems for its flexible and self-develop characters.All kinds of network servers established on Linux operating system have realized multi-task and multi-user authentically.The design analyses the work principle of DNS server and domain name system,introduces the general configuration of DNS server based on Linux operating system.
Key words computer net system;resolving domain name;multi-task
,
3頁20頁
目 錄
1 引 言 . .................................................................................................... 4
1.1設(shè)計(jì)的意義..................................................................................... 4
1.2相關(guān)概念簡介 ................................................................................ 4
2 DNS 的工作原理................................................................................. 7
2.1 DNS的解析原理 . .......................................................................... 7
2.2 DNS的解析過程 . .......................................................................... 8
3 Linux 下DNS 的構(gòu)建與配置 . ........................................................... 9
3.1 安裝DNS 服務(wù)器軟件 ................................................................ 9
3.2 實(shí)驗(yàn)環(huán)境的構(gòu)建 . ........................................................................ 11
3.3 配置dnsserver 服務(wù)器中的DNS 服務(wù) ................................... 11
3.4對域mydomain 進(jìn)行DNS 服務(wù)器的配置 .............................. 12
3.5 配置mydomain 服務(wù)器的反向區(qū)數(shù)據(jù).................................... 13
4 系統(tǒng)測試與結(jié)果分析 ......................................................................... 17
5 結(jié)束語 . .................................................................................................. 19
6 參考文獻(xiàn)............................................................................................... 20
,
4頁20頁
1 引 言
1.1設(shè)計(jì)的意義
近年來,隨著―傳輸控制協(xié)議/網(wǎng)際協(xié)議(TCP/IP)‖套件的廣泛使用,TCP/IP已經(jīng)成為網(wǎng)絡(luò)通信中事實(shí)上的標(biāo)準(zhǔn)。在TCP/IP網(wǎng)絡(luò)中,每一臺主機(jī)都既可以通過域名也可以通過唯一的IP 地址實(shí)現(xiàn)互聯(lián),這是因?yàn)橛蛎cIP 地址之間存在這一對一的映射關(guān)系。DNS (Domain Name System ,即域名系統(tǒng))服務(wù)可以提供域名和IP 地址之間的自動轉(zhuǎn)換,用于將不易記憶的IP 地址翻譯成相對來說易于記憶的域名。這種地址翻譯的過程成為域名解析,而提供域名解析服務(wù)的網(wǎng)絡(luò)主機(jī),通常被成為DNS 服務(wù)器[1]。本次設(shè)計(jì),主要是實(shí)現(xiàn)Linux 下DNS 服務(wù)器的構(gòu)建與配置。
1.2相關(guān)概念簡介
1.DNS 系統(tǒng)簡介
DNS (Domain Name System )即―域名系統(tǒng)‖[2]。在一個TCP/IP架構(gòu)的網(wǎng)絡(luò)(例如Internet )環(huán)境中,IP 地址用于標(biāo)識主機(jī)地址,DNS 的主要功能是易于記憶的Domain Name(域名)與人不容易記憶的IP 地址進(jìn)行轉(zhuǎn)換。網(wǎng)絡(luò)中執(zhí)行DNS 服務(wù)的主機(jī)稱為DNS 服務(wù)器(域名服務(wù)器)。DNS 服務(wù)器除了將域名轉(zhuǎn)換為IP 地址外(―正向解析‖),還可以將IP 地址轉(zhuǎn)換成域名(―逆向解析‖)。
域名系統(tǒng)(DNS )是一種用于TCP/IP應(yīng)用程序的全球分布式數(shù)據(jù)庫。在Internet 上的單個站點(diǎn)不能擁有Internet 上所有的信息。每個站點(diǎn)(如某所大學(xué)中、某間公司)保留自己的信息數(shù)據(jù)庫,并提供給Internet 上的客戶查詢。該數(shù)據(jù)庫的結(jié)構(gòu)可以用反轉(zhuǎn)樹狀圖來表示,如圖1.1所示。

根域
子域
子域
主機(jī)
,
5頁20頁
圖1.1 域名系統(tǒng)樹形結(jié)構(gòu)圖
一個域(Domain )一般是指整個域名空間的一個子樹。樹的最上層是根(root ),用―.‖表示,根下面是若干個子樹,又稱為域(Domain )。根域下面是頂級域名,主要有com 、edu 、gov 、org 、net 和mpa 等。表1-1描述了這些頂級域名的含義。
表1-1 頂級域名及其含義

域名的分配和管理由國際互聯(lián)網(wǎng)中心(InterNIC )負(fù)責(zé)。一般頂級域名分為兩類,一類是表示組織性質(zhì),如com ,另一類是地域性質(zhì),如cn 表示中國。在頂級域名下是二級域名,通常由InterNIC 授權(quán)給其他單位或組織管理,如中國的域名管理中心是CNNIC 。例如,在域名www.abc.com.cn 中,cn 是地域性的頂級域名,com 是組織性的頂級域名,abc 是二級域名。在二級域名還可以再設(shè)置三級域名,如www.abc.com.cn ,www 是一個三級域名。三級域名的管理一般由二級域名的所有者負(fù)責(zé),不再由NIC 負(fù)責(zé)。
2.hosts 文件
在Linux 系統(tǒng)中,往往在/etc目錄下存在一個提供DNS 解析的文件——hosts 文件。hosts 文件包括域名和IP 地址的對應(yīng)信息。當(dāng)一臺計(jì)算機(jī)需要通過域名來定位網(wǎng)絡(luò)上另一臺計(jì)算機(jī)時,往往先查看本地hosts 文件。
一個典型的hosts 文件的格式如下:
127.0.0.1 loealhost localhost .localdomain
192.168.1.1 www www.abc.com.cn
192.168.1.2 ftp ftp.abc.com.cn
每一行為一個記錄,標(biāo)識一臺計(jì)算機(jī)。第一列指出IP 地址,如192.168.1.1;第二列開始指明該IP 地址對應(yīng)的計(jì)算機(jī)名。一臺計(jì)算機(jī)可以設(shè)置多個名字,每個名字之間
,
6頁20頁 用空格分隔開。例如,www 、www.abc.com.cn 都是IP 地址為192.168.1.1的計(jì)算機(jī)的名字
3.DNS 服務(wù)器的分類
Internet 上主機(jī)的域名和地址解析主要是由DNS 域名服務(wù)器完成的。DNS 域名空間中存在以下幾種DNS 服務(wù)器。
①根服務(wù)器:用―.‖表示,位于整個域名空間的最上層,主要用來管理根域和頂級域名。目前,世界上一共有13臺計(jì)算機(jī)作為根服務(wù)器。
②緩存(cache-only )域名服務(wù)器:域名系統(tǒng)中的域名服務(wù)器把非它們授權(quán)管理的遠(yuǎn)程域名信息保存在自己的緩存中。遇到域名查詢時,首先查找緩存中的記錄,如果找到該記錄,則把結(jié)果返回給客戶端;否則,按照DNS 的查找規(guī)則進(jìn)一步查找。緩存服務(wù)器只用來緩存DNS 域的信息,沒有本地的域名數(shù)據(jù)庫,不管理任何域名信息。
③主域名(Primary servers)服務(wù)器:每個域必須有一個主域名服務(wù)器。該域的所有DNS 數(shù)據(jù)庫文件的修改都在這臺服務(wù)器上進(jìn)行。主域名服務(wù)器管理對其子域的授權(quán),并且對該域中的輔助域名服務(wù)器進(jìn)行周期性的更新和同步。
④輔助域名(secondary servers)服務(wù)器:每個域至少應(yīng)有一個輔助域名服務(wù)器。輔助域名服務(wù)器從相應(yīng)的主域名服務(wù)器獲得所有域名數(shù)據(jù)庫文件的副本,并對所服務(wù)的域提供和主域名服務(wù)器一樣的授權(quán)信息。
⑤轉(zhuǎn)發(fā)域名服務(wù)器:是主域名服務(wù)器和輔助域名服務(wù)器的一種變形,負(fù)責(zé)所有非本地域名的非本地查詢。如果在網(wǎng)絡(luò)中存在一臺轉(zhuǎn)發(fā)域名服務(wù)器,則所有對于非本地域名的查詢都將先轉(zhuǎn)發(fā)給它,再由轉(zhuǎn)發(fā)域名服務(wù)器進(jìn)行域名解析。
4. 解析器
,
7頁20頁
2 DNS 的工作原理
2.1 DNS的解析原理
1. 正向解析
當(dāng)DNS 客戶端向DNS 服務(wù)器查詢IP 地址時,或DNS 服務(wù)器在向另外一臺DNS 服務(wù)器查詢IP 地址時,有以下三種查詢方式:
①直接從緩沖存儲器解析:可以直接從DNS 客戶端或DNS 服務(wù)器的高速緩沖器中獲得查詢結(jié)果。
②遞歸查詢:DNS 客戶端送出查詢要求后,如果本地DNS 服務(wù)器內(nèi)沒有需要的數(shù)據(jù),則DNS 服務(wù)器會代替客戶端向起他的DNS 服務(wù)器查詢,一般由DNS 客戶端所提出的查詢要求是屬于遞歸查詢。
③循環(huán)查詢:一般DNS 服務(wù)器與DNS 服務(wù)器之間的查詢屬于這種查詢方式,當(dāng)?shù)?臺DNS 服務(wù)器在向第2臺DNS 服務(wù)器提出的查詢要求后,如果第2臺DNS 服務(wù)器內(nèi)沒有所需要的數(shù)據(jù),則它會提供第3臺DNS 服務(wù)器的IP 地址給第1臺服務(wù)器,讓第1臺DNS 服務(wù)器向第3臺DNS 服務(wù)器查詢。具體解析過程,如圖2.1所示。

DNS2
管轄根的DNS服務(wù)器
DNS4
管轄ahxinhua.comDNS3管轄.com DNS務(wù)器
圖2.1 DNS解析過程
2. 反向解析
域名反向解析可以讓DNS 客戶端利用IP 地址查詢其主機(jī)名稱,服務(wù)器利用in-addr.arpa 反向指針[4],講一個IP 地址指點(diǎn)向域名。
,
8頁20頁
2.2 DNS的解析過程
以解析www.abc.com 域名為例。當(dāng)系統(tǒng)需要調(diào)用www.abc.com 主機(jī)的資料時,發(fā)送一個查詢www.abc.com 域名的指令。
(1)系統(tǒng)中存在一個hosts 文件,可以用來解析域名。在系統(tǒng)中,可以定義查找域名的順序:先查找hosts 文件,還是先查找DNS 服務(wù)器。一般設(shè)置先查找hosts 文件,如果在hosts 文件中發(fā)現(xiàn)www.abc.com 記錄,則直接返回結(jié)果。
(2)如果hosts 文件中沒有發(fā)現(xiàn)該記錄,則把查詢指令轉(zhuǎn)發(fā)到系統(tǒng)中指定的域名服務(wù)器,進(jìn)行DNS 查詢。
(3)域名服務(wù)器在自己的緩存中查找相應(yīng)的域名記錄,如果存在該記錄,則返回結(jié)果;否則,把這個查詢指令轉(zhuǎn)發(fā)到根域名服務(wù)器。
(4)在根域名服務(wù)器的記錄中,根據(jù)遞歸查詢的規(guī)則,只能返回頂級域名com ,并且把能夠解析com 的域名服務(wù)器的地址告訴客戶機(jī)。
(5)客戶機(jī)根據(jù)返回的信息,繼續(xù)向com 域名服務(wù)器發(fā)送遞歸請求,收到請求的、能夠正確返回abc.com 域名信息的域名服務(wù)器,再把相關(guān)信息返回給客戶機(jī)。
(6)客戶機(jī)再次向abc.com 的域名服務(wù)器發(fā)送遞歸請求,收到請求的服務(wù)器再次進(jìn)行解析;該服務(wù)器已經(jīng)能夠把www.abc.com 域名完全解析到一個IP 地址,并把這個IP 地址返回。
,
9頁20頁
3 Linux 下DNS 的構(gòu)建與配置
在Linux 中下架設(shè)DNS 服務(wù)器使用的工具通常是Bind 程序Bind 是為BSD 操作系統(tǒng)[5]開發(fā)的一套網(wǎng)絡(luò)域名服務(wù)系統(tǒng),是一款實(shí)現(xiàn)DNS 服務(wù)器的開發(fā)源軟件。在此次設(shè)計(jì)平臺Linux 9系統(tǒng)中采用了Bind-9.2.1版本。
3.1 安裝DNS 服務(wù)器軟件
1. 查看Band 軟件包
在Red Hat Linux 9中,系統(tǒng)默認(rèn)安裝了Bind ,可以通過一下命令進(jìn)行查詢: # rpm –q bind
bind-9.2.1-16
可以知道系統(tǒng)中已經(jīng)安裝好了Bind ,其版本號為9.2.1。如果需要查看更多的安裝信息,則使用如下命令:
# rpm –qi bind
2. 安裝DNS 服務(wù)器軟件
#rpm –ivh bind-9.2.1-16.i386.rpm
#rpm –ivh bind-utils-9.2.1-16.i386.rpm
#rpm –ivh caching-nameserver-9.2-7.noarch.rpm
相關(guān)文件:
/etc/named.conf dns 服務(wù)器核心配置文件
/etc/rc.d/init.d/named dns 服務(wù)器守護(hù)進(jìn)程所對應(yīng)的程序
/var/named/named.ca dns 服務(wù)器根區(qū)域文件
/var/named/localhosts.zone dns 服務(wù)器localhost 區(qū)域的正向文件
/var/named/named.local 127.0.0.0的反向解析文件
3.DNS 的啟動、停止及測試
可以使用service 命令啟動、關(guān)閉和重新啟動DNS 守護(hù)進(jìn)程named 。
啟動named 進(jìn)程,命令行為:
# service named start
named 已經(jīng)在運(yùn)行
關(guān)閉named 進(jìn)程,命令行為:
#service named stop
,
10頁20頁 停止named :
重新啟動named 進(jìn)程,命令行為:
# service named restart
停止named :
named 已經(jīng)在運(yùn)行
4. 測試DNS 服務(wù)器
bind-utils
軟件包中自帶了dig 、host 和nslookup 等測試工具。如果能使用這幾個工具對地址進(jìn)行正確解析,則說明DNS 服務(wù)器已經(jīng)正常工作。
①nslookup 命令
直接使用nslookup 命令可以進(jìn)入交互模式。輸入需要解釋的域名將顯示對應(yīng)的IP 地址,輸入IP 地址則可以顯示對應(yīng)的域名,如下所示:
# nslookup
> 192.168.120.100 //對192.168.120.100地址進(jìn)行解析 Server: 192.168.120.100 //顯示當(dāng)前DNS 服務(wù)器地址信息 Address: 192.168.120.100#53
……..
②host 命令
使用host 命令也可以對域名或IP 地址進(jìn)行解析。如果DNS 服務(wù)器工作正常,則將返回相應(yīng)的解析結(jié)果,命令行如下所示:
# host www.my.internal.zone /對此域名進(jìn)行解析/ www.my.internal.zone has address 192.168.255.3 //正向解析結(jié)果
# host 192.168.255.3
3.255.168.192.in-addr.arpa domain name pointer www.my.internal.zone. //反向解析結(jié)果
dig 命令
dig 命令不僅顯示解析結(jié)果,而且顯示與所查詢域名相關(guān)的DNS 服務(wù)器的配置信息,命令行如下所示:
# dig rhel.my.internal.zone
…..
③ping 命令