DNS全面解析
DNS 簡(jiǎn)介域名系統(tǒng)(DNS)在TCP/IP結(jié)構(gòu)的網(wǎng)絡(luò)中,是一種很重要的Internet 和Intranet 服務(wù),它是一種組織成域?qū)哟谓Y(jié)構(gòu)的計(jì)算機(jī)和網(wǎng)絡(luò)服務(wù)命名系統(tǒng),通過(guò)DNS 服務(wù)可以將易于記憶的
DNS 簡(jiǎn)介
域名系統(tǒng)(DNS)在TCP/IP結(jié)構(gòu)的網(wǎng)絡(luò)中,是一種很重要的Internet 和Intranet 服務(wù),它是一種組織成域?qū)哟谓Y(jié)構(gòu)的計(jì)算機(jī)和網(wǎng)絡(luò)服務(wù)命名系統(tǒng),通過(guò)DNS 服務(wù)可以將易于記憶的域名和不易記憶的IP 地址進(jìn)行轉(zhuǎn)換,從而使得人們能夠通過(guò)簡(jiǎn)單好記的域名來(lái)代替IP 地址訪問(wèn)的網(wǎng)絡(luò)。承擔(dān)DNS 解析任務(wù)的網(wǎng)絡(luò)主機(jī)稱(chēng)為DNS 服務(wù)器,建立一臺(tái)DNS 服務(wù)器,需要具備的條件:
一個(gè)IP 地址
域名
網(wǎng)絡(luò)與Internet 連接(不包括使用調(diào)制解調(diào)器進(jìn)行的連接)
DNS 的特征
通常認(rèn)為DNS 只是將域名換成IP 地址,然后再使用查找IP 地址連接目標(biāo)主機(jī),這個(gè)過(guò)程稱(chēng)為正向查找。事實(shí)上,IP 地址轉(zhuǎn)換成相應(yīng)域名的功能也經(jīng)常需要使用到。這個(gè)過(guò)程稱(chēng)為反向查找。
適合于任何網(wǎng)絡(luò)規(guī)模,DNS 工作不依賴(lài)于大規(guī)模的IP 地址映射表。 采用分布式數(shù)據(jù)系統(tǒng)結(jié)構(gòu),易于管理,網(wǎng)絡(luò)運(yùn)行可靠性高。
在DNS 系統(tǒng)中,新入網(wǎng)的IP 信息可以在需要時(shí)自動(dòng)廣播到網(wǎng)絡(luò)的任意一處。
DNS 的組成
域名或資源記錄(Domain Name and Resource Records):用來(lái)指定結(jié)構(gòu)化的域名空間和相應(yīng)的數(shù)據(jù)。
,域名服務(wù)器(Domain Name Server ):它是一個(gè)服務(wù)器端程序,包括域名空間樹(shù)結(jié)構(gòu)的部分信息。
解析器(Resolves):它是客戶(hù)端用戶(hù)向域名服務(wù)器提交解析請(qǐng)求的程序。
DNS 層次結(jié)構(gòu)與域名分配
DNS在運(yùn)行中需要進(jìn)行委派,這項(xiàng)工作由Internet 協(xié)會(huì)授權(quán)委員會(huì)完成,該協(xié)會(huì)管理Internet 的地址和域名登記。下屬三個(gè)機(jī)構(gòu)分別管理全球不同地區(qū)的域名和地址分配:歐洲信息網(wǎng)絡(luò)中心、負(fù)責(zé)管理歐洲的域名分配;InterNIC 負(fù)責(zé)管理南北美和非亞太所屬區(qū)的域名;亞太地區(qū)的APNIC ,負(fù)責(zé)管理該地區(qū)域名和地址的分配。
在DNS 系統(tǒng)內(nèi),存在著一個(gè)最上級(jí)的服務(wù)器,通常被稱(chēng)為根節(jié)點(diǎn)服務(wù)器(Root Server) 。各國(guó)家和地區(qū)的根節(jié)點(diǎn)服務(wù)器只為該國(guó)家和地區(qū)的網(wǎng)絡(luò)提供IP 查詢(xún)服務(wù),而具體的映射是由其下屬服務(wù)器來(lái)實(shí)現(xiàn)的。各根節(jié)點(diǎn)下的一級(jí)域名服務(wù)器僅負(fù)責(zé)管理其二級(jí)域的IP 地址信息,二級(jí)域名服務(wù)器則僅為其所屬范圍內(nèi)的各個(gè)三級(jí)域提供服務(wù),三級(jí)域以下的各子域則各個(gè)入網(wǎng)單位自己管理。三級(jí)域名一般有各個(gè)國(guó)家管理中心(Network Information Center)統(tǒng)一分配和管理。
一級(jí)域名:也叫根域名,世界各國(guó)和地區(qū)的根域名均依照國(guó)際標(biāo)準(zhǔn)化組織的規(guī)定,采用雙字符方式來(lái)表示。中國(guó)為cn
二級(jí)域名
各國(guó)有各國(guó)的規(guī)定,中國(guó)的二級(jí)域名定義如下:
edu :教育科研機(jī)關(guān)。
com :企事業(yè)單位。
gov :政府機(jī)關(guān)。
,net :網(wǎng)絡(luò)管理機(jī)關(guān)。
org :網(wǎng)絡(luò)服務(wù)性機(jī)關(guān)。
在中國(guó),ChinaNet 由CNIC(China Network Information Center)統(tǒng)一負(fù)責(zé)IP 地址的分配和二級(jí)域名的命名。
三級(jí)域名
常常以各單位的英文縮寫(xiě)來(lái)命名。例如:北京大學(xué)為pku ,清華大學(xué)為tsinghua 。tsinghua.edu.cn
Windows server 2003下的DNS 配置過(guò)程
安裝DNS 服務(wù)
開(kāi)始—〉設(shè)置—〉控制面板—〉添加/刪除程序—〉添加/刪除Windows 組件—〉“網(wǎng)絡(luò)服務(wù)”—〉選擇“域名服務(wù)系統(tǒng)(DNS )”—〉按確定進(jìn)行安裝
創(chuàng)建DNS 正相解析區(qū)域
開(kāi)始—〉程序—〉管理工具—〉選擇DNS ,打開(kāi)DNS 控制臺(tái)—〉右擊“正相
搜索區(qū)域”—〉選擇“新建區(qū)域”—〉選擇“標(biāo)準(zhǔn)主要區(qū)域”(或“Active Directory 集成區(qū)域”或“標(biāo)準(zhǔn)輔助區(qū)域”)--〉輸入域名“abc.com ” —〉輸入要保存的區(qū)域的文件名“abc.com.dns ”— 〉
按完成,完成創(chuàng)建創(chuàng)建主機(jī)記錄等:
右擊“abc.com ”—〉“新建主機(jī)” —〉在名稱(chēng)處輸入“www ”,在“IP 地址”處輸入“192.168.0.3”,—〉按“添加主機(jī)”完成
創(chuàng)建DNS 反向解析區(qū)域
,開(kāi)始—〉程序—〉管理工具—〉選擇DNS ,打開(kāi)DNS 控制臺(tái)—〉右擊“反向搜索區(qū)域”—〉選擇“新建區(qū)域”—〉選擇“標(biāo)準(zhǔn)主要區(qū)域”—〉輸入用來(lái)標(biāo)示區(qū)域的“網(wǎng)絡(luò)ID”—〉輸入要保存的區(qū)域的文件名
“0.168.192.in-addr.arpa.dns”—〉按完成,完成創(chuàng)建創(chuàng)建指針PTR :
右擊“192.168.1.x.subnet”—〉選擇“新建指針”—〉在“主機(jī)IP 號(hào)”中輸入2—〉在“主機(jī)名”中輸入ftp —按 “確定”完成添加
啟用DNS 循環(huán)復(fù)用功能
如www.abc.com 對(duì)應(yīng)于多個(gè)IP 地址時(shí)DNS 每次解析的順序都不同。右擊選擇“DNS服務(wù)器”—〉屬性—〉高級(jí)—〉選擇“啟用循環(huán)”(round robin )--〉選擇“啟用netmask 排序”—〉按“ 確定”返回。注:如所有的IP 和域名服務(wù)器在同一子網(wǎng)時(shí)需要取消“啟用netmask 排序”,才能實(shí)現(xiàn)循環(huán)復(fù)用功能。即啟用循環(huán)時(shí),當(dāng)主機(jī)的IP 和dns 在同一個(gè)子網(wǎng)時(shí)將始終排在最前面,當(dāng)都在一個(gè)子網(wǎng)時(shí)就不進(jìn)行循環(huán),只有去除了“啟用netmask 排序” 時(shí)才能實(shí)現(xiàn)循環(huán)復(fù)用。DNS 服務(wù)器會(huì)優(yōu)先把與自己的網(wǎng)絡(luò)ID 相同的記錄返回給客戶(hù)端
創(chuàng)建標(biāo)準(zhǔn)輔助區(qū)域,實(shí)現(xiàn)DNS 區(qū)域復(fù)制
在另一臺(tái)DNS 服務(wù)器上,右擊“正向搜索區(qū)域”—〉選擇“新建區(qū)域”—〉選擇“標(biāo)準(zhǔn)輔助區(qū)域”—〉輸入“abc.com”—〉輸入主域名服務(wù)器的IP 地址—〉選擇“完成”
可手工要求同步:
在輔域名服務(wù)器上右擊“abc.com”的域—〉選擇“從主服務(wù)器傳輸”,并且可以設(shè)置允許傳輸?shù)挠蛎?wù)器:在主域名服務(wù)器上右擊“abc.com”的域—〉選擇“屬性”—〉選擇“區(qū)域復(fù)制”—〉在“允許復(fù)制”前打勾,并選擇允許復(fù)制的主機(jī)(到所有服務(wù)器、只有在“名稱(chēng)服務(wù)器”選項(xiàng)卡中列出的服務(wù)器、只允許到下列服務(wù)器)完成服務(wù)器類(lèi)型的轉(zhuǎn)換:右擊區(qū)域—〉選擇 “屬性”—〉選擇“類(lèi)型”的“更改”按鈕—〉選擇要更改的區(qū)域類(lèi)型—〉按“確定” 實(shí)現(xiàn)DNS 唯高速緩存服務(wù)器
,創(chuàng)建一個(gè)沒(méi)有任何區(qū)域的DNS 服務(wù)器—〉右擊DNS 服務(wù)器—〉選擇“屬性”—〉選擇“轉(zhuǎn)發(fā)器”中的“啟用轉(zhuǎn)發(fā)器”—〉輸入轉(zhuǎn)發(fā)器的IP 地址—〉按“確定”完成,清除“唯高速緩存”中的cache 內(nèi)容:右擊“DNS服務(wù)器”—〉選擇“清除緩存”,或者選擇“DNS服務(wù)器”—〉在菜單中選擇“查看”,高級(jí)—〉右擊“緩存的查找”—〉選擇“清除緩存”
(客戶(hù)端清空DNS 緩存—)ipconfig /flushdns)
DNS 的委派(子域的轉(zhuǎn)向)
在原域名服務(wù)器上建立“subdomain.abc.com”的主機(jī)—〉右擊abc.com 的域,選擇“新建委派”—〉將subdomain.abc.com 的域代理給subdomain.abc.com 的主機(jī)—〉在subdomain.abc.com 上建立“正向標(biāo)準(zhǔn)區(qū)
域”subdomain.abc.com—〉添加相關(guān)主機(jī)記錄
設(shè)置 DNS區(qū)域的動(dòng)態(tài)更新
右擊選擇DNS 上區(qū)域—〉選擇“屬性”—〉選擇“常規(guī)”中的“允許動(dòng)態(tài)更新”,選是— 〉然后按 “確定”—〉在本機(jī)的DHCP 服務(wù)器中—〉右擊選擇DHCP 服務(wù)器—〉選擇“屬性”—〉選擇“DNS”—〉選擇“為不支持動(dòng)態(tài)更新的DNS 客戶(hù)啟用更新”—〉在客戶(hù)端使用ipconfig /registerdns來(lái)更新域名的注冊(cè)信息
注意客戶(hù)端需要將完整的計(jì)算機(jī)名改成myhost.abc.com
配置DNS 客戶(hù)端
在客戶(hù)端計(jì)算機(jī)上打開(kāi)tcp/ip屬性對(duì)話(huà)框,在dns 服務(wù)器地址欄輸入dns 服務(wù)器的ip 地址 1、安裝DNS 服務(wù)
開(kāi)始—〉設(shè)置—〉控制面板—〉添加/刪除程序—〉添加/刪除Windows 組件—〉“網(wǎng)絡(luò)服務(wù)”—〉選擇“域名服務(wù)系統(tǒng)(DNS )”—〉按確定進(jìn)行安裝
,Linux 系統(tǒng)下配置過(guò)程
DNS 查詢(xún)過(guò)程
DNS是典型的客戶(hù)機(jī)/服務(wù)器(C/S)模式結(jié)構(gòu)。DNS 的查詢(xún)過(guò)程如下:首先請(qǐng)求程序通過(guò)客戶(hù)端解釋器向服務(wù)端發(fā)出查詢(xún)請(qǐng)求,等待由服務(wù)器端數(shù)據(jù)庫(kù)給出應(yīng)答,并解釋server 給出的答案,然后把所得信傳給提出請(qǐng)求的程序??蛻?hù)端將請(qǐng)求傳送給這臺(tái)計(jì)算機(jī)所設(shè)置的DNS Server,指定的DNS Server先查看該域名是不是在它的緩存文檔中,如果是則回復(fù)答案;如果不是,就從最上一級(jí)查起。 Linux系統(tǒng)上使用的DNS 服務(wù)器軟件是伯克利域名系統(tǒng)(Berkeley Internet Name Domain),即BIND 。BIND 系統(tǒng)由服務(wù)器端和解釋器端兩部分組成。
服務(wù)器:其作用是對(duì)查詢(xún)請(qǐng)求加以應(yīng)答,它一般為一個(gè)獨(dú)立的進(jìn)程,該進(jìn)程是常駐進(jìn)程。
解釋器:其作用是向服務(wù)器進(jìn)程提供查詢(xún)請(qǐng)求。解釋器一般并非一個(gè)常駐程序,而是作為庫(kù)程序。該程序提供與域名服務(wù)器的連接和信息交換的方法。 DNS服務(wù)器有若干種,每種服務(wù)器在域名服務(wù)系統(tǒng)中所起的作用都不一樣。 Master Server(主服務(wù)器)
某個(gè)區(qū)域的主DNS 服務(wù)器。它是給定域的所有信息的授權(quán)來(lái)源,它所裝載的域信息來(lái)源于管理員所創(chuàng)建的磁盤(pán)文件,通過(guò)本地維護(hù),更新有關(guān)服務(wù)器授權(quán)管理域的最精確的信息。
Slave Server(輔助服務(wù)器)
從主服務(wù)器上獲得域信息的完整集合。域文件是從主服務(wù)器上傳過(guò)來(lái)的并以本地的文件形式存儲(chǔ)在輔助服務(wù)器的硬盤(pán)上。輔助服務(wù)器保留了一份所有域信息的完整備份,有時(shí)也被稱(chēng)為備份域名服務(wù)器。
Caching only Server(緩存服務(wù)器)
運(yùn)行域名服務(wù)器軟件,但并沒(méi)有域名服務(wù)器數(shù)據(jù)庫(kù)文件。它記錄每一個(gè)從遠(yuǎn)
,程服務(wù)器傳到服務(wù)器的查詢(xún)結(jié)果。一旦獲得答案,該服務(wù)器就將答案緩存起來(lái)以備將來(lái)對(duì)同一信息的查詢(xún)。
Forward Server(轉(zhuǎn)發(fā)服務(wù)器)
將需要解析的DNS 請(qǐng)求發(fā)送到該網(wǎng)絡(luò)以外的服務(wù)器上,它可以保持局域網(wǎng)上的其他服務(wù)器對(duì)Internet 隱藏。
DNS 的啟動(dòng)
Red Hat Linux 9中,系統(tǒng)一般默認(rèn)安裝了BIND ,可以通過(guò)以下命令進(jìn)行查詢(xún): rpm -qa | grep bind
DNS 的啟動(dòng):
service named restart
查詢(xún)DNS 的狀態(tài):
service named status
配置主域名服務(wù)器
主配置文件:named.conf ,其路徑為/etc/named.conf。它用來(lái)設(shè)置全局參數(shù),調(diào)配正向解析數(shù)據(jù)庫(kù)文件和逆向解析數(shù)據(jù)庫(kù)文件。
例:域名為test.net ,主機(jī)IP 為192.168.1.2,主域名服務(wù)器為x.test.net 。 zone "test.net" IN{->定義正向解析區(qū)聲明
type master;->類(lèi)型為主域名服務(wù)器
file "localhost.zone";->定義正向解析文件為/etc/named/localhost.zone
,allow-update { none; };
};
zone "1.168.192.in-addr.arpa" IN {->反向解析區(qū)聲明
type master;
file "named.local";->定義反向解析文件為/var/named/named.local allow-update { none; };
};
正向數(shù)據(jù)庫(kù)文件:localhost.zone ,其路徑為/var/named/localhost.zone,該文件用來(lái)將域名轉(zhuǎn)換為IP 地址,是區(qū)域文件的一部分。
IN NS x.test.net->設(shè)置域名記錄
x IN A 192.168.1.2->設(shè)置地址記錄,可連續(xù)多設(shè)
逆向解析數(shù)據(jù)庫(kù)文件:named.local ,其路徑為/var/named/named.local,該文件用來(lái)將IP 地址轉(zhuǎn)換成域名,也是區(qū)域文件的一部分。
IN NS x.test.net->設(shè)置域名記錄
2 IN PTR x.test.net->設(shè)置反向地址指針記錄,對(duì)應(yīng)正向文件中的設(shè)置,2即
2.1.168.192
根域名服務(wù)器指向文件:named.ca ,其路徑為/var/named/named.ca。它用來(lái)緩存服務(wù)器的初始設(shè)置。
輔助域名服務(wù)器
輔助域名服務(wù)器向客戶(hù)機(jī)提供域名解析功能與主域名服務(wù)器不同,它不使用本身的配置信息,而是從主域名服務(wù)器中復(fù)制配置信息過(guò)來(lái),該信息只是一份備份。輔助域名服務(wù)器中的信息是無(wú)法修改的,當(dāng)啟動(dòng)輔助域名服務(wù)器時(shí),它會(huì)和
,它建立聯(lián)系的所有主要域名服務(wù)器建立聯(lián)系,并從中復(fù)制信息,在輔助域名服務(wù)器工作期間,它會(huì)定期地更改原有的信息,以盡可能地保證副本與正本數(shù)據(jù)的一致性。
輔助域名服務(wù)器的配置比較簡(jiǎn)單,只需要在另外用作輔助域名服務(wù)器的計(jì)算機(jī)(主域和備份域不能配置在同一臺(tái)計(jì)算機(jī)上) 上修改主配置文件/etc/named.conf即可,在配置輔助名稱(chēng)服務(wù)器時(shí),只需要提供區(qū)域名和主名稱(chēng)服務(wù)器IP 地址,其他配置文件不用配置,系統(tǒng)將直接從主域名服務(wù)器上自動(dòng)進(jìn)行調(diào)用。 zone "test.net" IN {->從區(qū)域名稱(chēng)要與主名稱(chēng)服務(wù)器的名稱(chēng)相同。 type slave;->slave類(lèi)型為輔助域名服務(wù)器類(lèi)型。
file "localhost.zone";->定義正向解析文件為/var/named/localhost.zone,可刪除
master { 192.168.1.2; };->指向主DNS 的IP 地址。
};
zone "1.168.192.in-addr.arpa" IN {->定義反向解析區(qū)聲明
type slave;
file "named.local";->定義反向解析文件為/var/named/named.local,可刪除 master { 192.168.1.2; };->定義主DNS 的IP 地址。
};
配置域名服務(wù)器的負(fù)載均衡
域名服務(wù)器負(fù)載均衡的實(shí)現(xiàn)方法是在網(wǎng)絡(luò)中為域名服務(wù)器中的同一個(gè)域名配置多個(gè)IP 地址,即為一個(gè)主機(jī)名設(shè)置多條A 資源記錄,在應(yīng)答DNS 查詢(xún)時(shí),域名服務(wù)器對(duì)每個(gè)查詢(xún)將以域名服務(wù)器中主機(jī)記錄的IP 地址按順序返回不同的
,解析結(jié)果,將客戶(hù)端的訪問(wèn)引導(dǎo)到不同的計(jì)算機(jī)上去。域名服務(wù)器的負(fù)載均衡的優(yōu)點(diǎn)是經(jīng)濟(jì)、簡(jiǎn)單和易行。
例如:需要使用4臺(tái)內(nèi)容相同的www 服務(wù)器共同承擔(dān)客戶(hù)對(duì)網(wǎng)站的訪問(wèn),其IP 地址分別是192.168.1.2、192.168.1.4和192.168.1.5、192.168.1.6。那么只需要編輯域名服務(wù)器的區(qū)域文件/var/named/localhost.zone。如: IN NS x.test.net
x IN A 192.168.1.2->原來(lái)用作www 服務(wù)器的IP 。
xx IN A 192.168.1.3
x IN A 192.168.1.4->實(shí)現(xiàn)負(fù)載均衡設(shè)置。
x IN A 192.168.1.5->實(shí)現(xiàn)負(fù)載均衡設(shè)置。
x IN A 192.168.1.6->實(shí)現(xiàn)負(fù)載均衡設(shè)置。
配置直接域名解析
一些用戶(hù)在訪問(wèn)某些網(wǎng)站時(shí),在瀏覽器中不輸入主機(jī)名,而是直接輸入主機(jī)名后面的內(nèi)容。如sohu.com 。其實(shí)并不是所有的網(wǎng)站都支持這種訪問(wèn)方式,支持這種訪問(wèn)方式的網(wǎng)站都是在其域名服務(wù)器中進(jìn)行了相應(yīng)的配置,即進(jìn)行直接解析域名的配置。
編輯域名服務(wù)器的區(qū)域文件/var/named/localhost.zone,可加入一條特殊的A 資源記錄。如:
x IN A 192.168.1.2->用作www 服務(wù)器的IP
. IN A 192.168.1.2->前面可直接用. 代替x
test.net IN A 192.168.1.2->也可以用test.net 代替x
配置DNS 泛域名解析功能