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