DNS(Domain Name System)域名系統(tǒng),在TCP/IP網(wǎng)絡(luò)中有非常重要的地位,能夠提供域名與IP地址的解析服務(wù)。
DNS域名解析工作原理
<1> 客戶機(jī)提交域名解析請求,并將該請求發(fā)送給本地的域名服務(wù)器。
<2> 當(dāng)本地的域名服務(wù)器收到請求后,就先查詢本地的緩存。如果有查詢的DNS信息記錄,則直接返回查詢的結(jié)果。如果沒有該記錄,本地域名服務(wù)器就把請求發(fā)給根域名服務(wù)器。
<3> 根域名服務(wù)器再返回給本地域名服務(wù)器一個所查詢域的頂級域名服務(wù)器的地址。
<4> 本地服務(wù)器再向返回的域名服務(wù)器發(fā)送請求。
<5> 接收到該查詢請求的域名服務(wù)器查詢其緩存和記錄,如果有相關(guān)信息則返回客戶機(jī)查詢結(jié)果,否則通知客戶機(jī)下級的域名服務(wù)器的地址。
<6> 本地域名服務(wù)器將查詢請求發(fā)送給返回的DNS服務(wù)器。
<7> 域名服務(wù)器返回本地服務(wù)器查詢結(jié)果(如果該域名服務(wù)器不包含查詢的DNS信息,查詢過程將重復(fù)<6>、<7>步驟,直到返回解析信息或解析失敗的回應(yīng))。
<8> 本地域名服務(wù)器將返回的結(jié)果保存到緩存,并且將結(jié)果返回給客戶機(jī)。
1)正向解析
正向解析是指域名到IP地址的解析過程。
2)反向解析
反向解析是從IP地址到域名的解析過程。反向解析的作用為服務(wù)器的身份驗(yàn)證。
DNS查詢類型
1.遞歸查詢: 簡單的理解就是以最終結(jié)果查詢,就是返回最終的結(jié)果給客戶機(jī),而客戶機(jī)在此階段是處于等待的狀態(tài)?。ň秃帽龋阍诩依锏匚蛔罡?,你都是衣來伸手飯來張口的,最什么事情就只要一句話不用自己親自動手)
2.迭代查詢:簡單的理解就是以最佳的結(jié)果查詢,意思就是如果DNS服務(wù)器能解析就直接以最終結(jié)果返回給客戶機(jī),如果無法解析則就返回上一級DNS服務(wù)器的IP給客戶機(jī),由客戶機(jī)完成查詢工作直到得到最終結(jié)果!(舉個例子就是什么事情你去問別人,別人只是告訴你怎么做,你知道后要自己親自去做)
資源記錄
為了將名字解析為IP地址,服務(wù)器查詢它們的區(qū)(又叫DNS數(shù)據(jù)庫文件或簡單數(shù)據(jù)庫文件)。區(qū)中包含組成相關(guān)DNS域資源信息的資源記錄(RR)。例如,某些資源記錄把友好名字映射成IP地址,另一些則把IP地址映射到友好名字。
某些資源記錄不僅包括DNS域中服務(wù)器的信息,還可以用于定義域,即指定每臺服務(wù)器授權(quán)了哪些域,這些資源記錄就是SOA和NS資源記錄。
1)SOA資源記錄
每個區(qū)在區(qū)的開始處都包含了一個起始授權(quán)記錄(Start of Authority Record),簡稱SOA記錄。SOA定義了域的全局參數(shù),進(jìn)行整個域的管理設(shè)置。一個區(qū)域文件只允許存在唯一的SOA記錄。區(qū)域以服務(wù)器授權(quán)機(jī)構(gòu)的概念為基礎(chǔ)。當(dāng)DNS服務(wù)器配置成加載區(qū)域時(shí),其使用SOA和NS兩種資源記錄來確定區(qū)域的授權(quán)屬性。
SOA和NS資源記錄在區(qū)域配置中具有特殊作用,它們是任何區(qū)域都需要的記錄并且一般是文件中列出的第一個資源記錄。
起始授權(quán)機(jī)構(gòu)SOA資源記錄總是處于任何標(biāo)準(zhǔn)區(qū)域中的第一位。它表示最初創(chuàng)建它的DNS服務(wù)器或現(xiàn)在是該區(qū)域的主服務(wù)器的DNS服務(wù)器。它還用于存儲會影響區(qū)域更新或過期的其他屬性,比如版本信息和計(jì)時(shí)。這些屬性會影響在該區(qū)域的域名服務(wù)器之間進(jìn)行同步數(shù)據(jù)的頻繁程度。
SOA資源記錄語法格式:
區(qū)域名(當(dāng)前) 記錄類型 SOA 主域名服務(wù)器(FQDN) 管理員郵件地址 (序列號 刷新間隔 重試間隔 過期間隔 TTL)
SOA資源記錄字段:
主域名服務(wù)器:區(qū)域的主DNS服務(wù)器的FQDN
管理員:管理區(qū)域的負(fù)責(zé)人的電子郵件。在該電子郵件名稱中使用英文句號“.”代替at符號“@”。
序列號:該區(qū)域文件的修訂版本號。每次區(qū)域中的資源記錄改變時(shí),這個數(shù)字便會增加,每次區(qū)域改變時(shí)增加這個值非常重要,它使部分區(qū)域改動或完全修改的區(qū)域都可以在后續(xù)傳輸中復(fù)制到其他輔助DNS服務(wù)器上。
刷新間隔:以秒計(jì)算的時(shí)間,輔助DNS服務(wù)器請求與源服務(wù)器同步的等待時(shí)間。當(dāng)刷新間隔到期時(shí),輔助DNS服務(wù)器請求源服務(wù)器的SOA記錄副本,然后輔助DNS服務(wù)器將源服務(wù)器的SOA記錄的序列號與其本地SOA記錄的序列號相比較,如果二者不同,則輔助DNS服務(wù)器從主DNS服務(wù)器請求區(qū)域傳輸。這個域的默認(rèn)時(shí)間是900秒(15分鐘)。
重試間隔:以秒計(jì)算時(shí)間,輔助DNS服務(wù)器在請求區(qū)域傳輸失敗后,等待多長時(shí)間再次請求區(qū)域傳輸時(shí)間。通常,這個時(shí)間短于刷新間隔。默認(rèn)值為600秒(10分鐘)。
過期間隔:以秒計(jì)算時(shí)間,當(dāng)這個時(shí)間到期時(shí),如果輔助DNS服務(wù)器還無法與源服務(wù)器進(jìn)行區(qū)域傳輸,則輔助DNS服務(wù)器會把它的本地?cái)?shù)據(jù)當(dāng)作不可靠數(shù)據(jù)。默認(rèn)值為86400秒(24小時(shí))。
最?。J(rèn))TTL:區(qū)域的默認(rèn)生存時(shí)間(TTL)和緩存否定應(yīng)答名稱查詢的最大間隔。默認(rèn)值為3600秒(1小時(shí))
2)NS資源記錄
名稱服務(wù)器(NS)資源記錄表示該區(qū)的授權(quán)服務(wù)器,它們表示SOA資源記錄中指定的該區(qū)的主和輔助服務(wù)器,也表示了任何授權(quán)區(qū)的服務(wù)器。每個區(qū)在區(qū)根處至少包含一個NS記錄。
用于指定一個區(qū)域的權(quán)威DNS服務(wù)器,通過在NS資源記錄中列出服務(wù)器的名字,其他主機(jī)就認(rèn)為它是該區(qū)域的權(quán)威服務(wù)器。這意味著在NS資源記錄中指定的任何服務(wù)器都被其他服務(wù)器當(dāng)作權(quán)威的來源并且能應(yīng)答區(qū)域內(nèi)所含名稱的查詢。
NS資源記錄語法格式:
區(qū)域名 IN NS 完整主機(jī)名(FQDN)
3)A資源記錄
地址(A)資源記錄把FQDN映射到IP地址,因而解析器能查詢FQDN對應(yīng)的IP地址。
A資源記錄語法格式:
完整主機(jī)名(FQDN) IN A IP地址
4)PTR資源記錄
相對于A資源記錄,該記錄與A記錄相反,用于查詢IP地址與主機(jī)名的對應(yīng)關(guān)系。
PTR資源記錄語法格式:
IP地址 IN PTR 主機(jī)名(FQDN)
5)CNAME資源記錄
規(guī)范名字(CNAME)資源記錄創(chuàng)建特定FQDN的別名。用戶可以使用CNAME記錄來隱藏用戶網(wǎng)絡(luò)的實(shí)現(xiàn)細(xì)節(jié),使連接的客戶機(jī)無法知道。別名(CNAME)資源記錄用于為某個主機(jī)指定一個別名。例如管理員告知公司的首頁為www.abc.com,而實(shí)際在訪問時(shí)訪問的是www1.abc.com主機(jī)。該資源記錄經(jīng)常用于在同一區(qū)域的A資源記錄中的主機(jī)需要重命名時(shí)或者為多臺主機(jī)(例如一組WWW服務(wù)器)提供相同的別名。
CNAME資源記錄語法格式:
別名 IN CNAME 主機(jī)名
6)MX資源記錄
郵件交換(MX)資源記錄為DNS域名指定郵件交換服務(wù)器。郵件交換服務(wù)器是為DNS域名處理或轉(zhuǎn)發(fā)郵件的主機(jī)。處理郵件指把郵件投遞到目的地或轉(zhuǎn)交另一不同類型的郵件傳送者。轉(zhuǎn)發(fā)郵件指把郵件發(fā)送到最終目的服務(wù)器,用簡單郵件傳輸協(xié)議SMTP把郵件發(fā)送給離最終目的地最近的郵件交換服務(wù)器,或使郵件經(jīng)過一定時(shí)間的排隊(duì)。
MX資源記錄語法格式:
區(qū)域名 IN MX 優(yōu)先級(數(shù)字) 郵件服務(wù)器名稱(FQDN)
type字段指定區(qū)域的類型
type字段指定區(qū)域的類型,對于區(qū)域的管理至關(guān)重要,一共分為六種:
Master:主DNS服務(wù)器:擁有區(qū)域數(shù)據(jù)文件,并對此區(qū)域提供管理數(shù)據(jù)
Slave:輔助DNS服務(wù)器:擁有主DNS服務(wù)器的區(qū)域數(shù)據(jù)文件的副本,輔助DNS服務(wù)器會從主DNS服務(wù)器同步所有區(qū)域數(shù)據(jù)。
Stub:stub區(qū)域和slave類似,但其只復(fù)制主DNS服務(wù)器上的NS記錄而不像輔助DNS服務(wù)器會復(fù)制所有區(qū)域數(shù)據(jù)。
Forward:一個forward zone是每個域的配置轉(zhuǎn)發(fā)的主要部分。一個zone語句中的type forward可以包括一個forward和/或forwarders子句,它會在區(qū)域名稱給定的域中查詢。如果沒有forwarders語句或者forwarders是空表,那么這個域就不會有轉(zhuǎn)發(fā),消除了options語句中有關(guān)轉(zhuǎn)發(fā)的配置。
Hint:根域名服務(wù)器的初始化組指定使用線索區(qū)域hint zone,當(dāng)服務(wù)器啟動時(shí),它使用根線索來查找根域名服務(wù)器,并找到最近的根域名服務(wù)器列表。如果沒有指定class IN的線索區(qū)域,服務(wù)器使用編譯時(shí)默認(rèn)的根服務(wù)器線索。不是IN的類別沒有內(nèi)置的默認(rèn)線索服務(wù)器。
Delegation-only:用于強(qiáng)制區(qū)域的delegation .ly狀態(tài)。
應(yīng)用案例
一 技術(shù)部所在域?yàn)椤?span lang="EN-US">tech.org”,部門內(nèi)有三臺主機(jī),主機(jī)名分別是client1.tech.org,client2.tech.org,client3.tech.org。對應(yīng)ip為192.168.10.1,192.168.10.2,192.168.10.3 現(xiàn)要求DNS服務(wù)器(192.168.10.254) dns.tech.org可以解析3臺主機(jī)名和IP地址的對應(yīng)關(guān)系。
確保yum能夠使用,然后安裝所需要的軟件包和主從域名服務(wù)器的參考配置文件
yum install bind caching-nameserver
vim /etc/named.conf
options {
directory "/var/named" ;
};
zone "." IN { //設(shè)置根區(qū)域
type hint ; //設(shè)置區(qū)域類型(hint表示根域,master表示主域,
//slave表示從域
file "named.ca" ; //設(shè)置對應(yīng)的根域地址數(shù)據(jù)庫文件
};
zone "tech.org" IN { //設(shè)置正向DNS區(qū)域名稱
type master ;
file "tech.org.zone" ; //設(shè)置正向區(qū)域地址數(shù)據(jù)庫文件
allow-transfer { 192.168.10.253 ; } ; //設(shè)置允許下載區(qū)域數(shù)據(jù)庫的從域名服務(wù)器 地址,為下面做從域名服務(wù)器做準(zhǔn)備
};
zone "10.168.192.in-addr.arpa" IN { //設(shè)置反向DNS區(qū)域
type master ;
file "192.168.10.zone" ; //設(shè)置對應(yīng)的反向區(qū)域地址數(shù)據(jù)庫文件
allow-transfer { 192.168.10.253; }
};
vim /var/named/tech.org.zone
$TTL 86400
@ IN SOA dns.tech.org. root (
2009070900
1H
1W
1D
)
@ IN NS dns.tech.org.
dns IN A 192.168.10.254
client1 IN A 192.168.10.1
client2 IN A 192.168.10.2
client3 IN A 192.168.10.3
vim /var/named/192.168.10.zone
@ IN SOA dns.tech.org. root.tech.org. (
2009070900
1H
1W
1D
)
@ IN NS dns.tech.org.
254 IN PTR dns.tech.org.
1 IN PTR client1.tech.org.
2 IN PTR client2.tech.org.
3 IN PTR client3.tech.org.
配置完成后重啟服務(wù),使用nslookup client1.tech.org 測試是否能夠正向解析
nslookup 192.168.10.1 測試是否能夠反向解析
二 構(gòu)建從域名服務(wù)器
從域名服務(wù)器作為主服務(wù)器的冗余備份,可以與主域名服務(wù)器一起,同時(shí)提供本域內(nèi)主機(jī)名與ip地址的解析,從域名服務(wù)器的地址數(shù)據(jù)庫文件需要從主域名服務(wù)器中定期更新。
從域名服務(wù)器的ip為192.168.10.253 主機(jī)名為dns2.tech.org
客戶端將DNS指向192.168.10.254 192.168.10.253 當(dāng)主域名服務(wù)器中斷服務(wù)時(shí),由從域名服務(wù)器繼續(xù)處理客戶端的DNS請求
配置過程:
vim /etc/named.conf
options {
directory "/var/named" ;
};
zone "tech.org" IN { //設(shè)置正向DNS區(qū)域名稱
type slave; //使用slave輔助的區(qū)域類型
masters { 192.168.10.254; }; //指向主服務(wù)器的ip
file "slaves/tech.org.zone" ; //下載的地址數(shù)據(jù)庫文件保存到slaves/子目錄中,從服務(wù)器上的區(qū)域文件名可以和服務(wù)器上的該區(qū)域文件名不同。
};
zone "10.168.192.in-addr.arpa" IN {
type slave;
master { 192.168.10.254; };
file "slaves/192.168.10.zone" ;
};
測試,讓客戶端的DNS指向從域名服務(wù)器,可以解析主域名服務(wù)器的記錄
三 授權(quán)子域或稱子域委派
當(dāng)DNS區(qū)域?qū)哟屋^多時(shí),域名數(shù)量巨大時(shí),就可以使用子域授權(quán),將某一個子域的各域名解析工作交給另外一臺服務(wù)器來完成。
配置過程:
主域名服務(wù)器上的配置文件/etc/named.conf保持不變
vim /var/named/tech.org.zone //解析庫文件增加子域記錄
IN NS dns2.zyp.com. //子域域名服務(wù)器記錄
bj IN A 192.168.0.23 //子域名主機(jī)記錄
配置子域的主配置文件
vim /etc/named.conf
option { directory "/var/named"; };
zone “bj.tech.org" IN
type master;
file bj.tech.org.zone";}
zone "tech.org" IN
type forward;
fordwarders { 192.168.0.254; }; //轉(zhuǎn)發(fā)主域名服務(wù)器的請求
vim /var/named/bj.tech.org.zone
@ IN NS ns2.zyp.com.
dns2 IN A 192.168.10.252
www IN A 192.168.0.252
配置完成后可以解析www.bj.tech.org也可以解析dns.tech.org
server named configtest 測試dns文件
四、構(gòu)建分離解析的域名服務(wù)器
分離解析的域名服務(wù)器實(shí)際上還是主域名服務(wù)器,這里所說的分離解析主要針對不同的客戶端提供不同的解析記錄,如當(dāng)dns同時(shí)為internet和內(nèi)網(wǎng)提供服務(wù)時(shí),可能需要內(nèi)網(wǎng)用戶訪問公司的web服務(wù)和mail服務(wù)直接發(fā)往位于內(nèi)網(wǎng)的web和mail服務(wù)器上,減輕服務(wù)器地址轉(zhuǎn)換的負(fù)擔(dān)
域名服務(wù)器架設(shè)在網(wǎng)關(guān)服務(wù)器上,服務(wù)器有二塊網(wǎng)卡一個地址為公網(wǎng)地址173.0.0.1 一個為私網(wǎng)地址192.168.10.254
負(fù)責(zé)域名為tech.org,當(dāng)公網(wǎng)用戶訪問時(shí)直接解析為173.0.0.1 當(dāng)內(nèi)網(wǎng)用戶訪問時(shí)直接解析為web服務(wù)器192.168.0.5地址和mail服務(wù)器192.168.0.6的地址
配置過程:
vim /etc/named.conf
options { directory "/var/named";};
view "LAN" {
match-clients { 192.168.10.0/24; };
zone "tech.org" IN {
type master;
file "tech.org.zone.lan";};
}
view "WAN" {
match-clients { any; };
zone "tech.org" IN {
type master;
file "tech.org.wan";};
};
vim /var/named/tech.org.lan
$TTL 36400
@ IN SOA tech.org. root.tech.org (
2011012801
1H
10M
7D
1D)
IN NS dns.tech.org.
IN MX 10 mail.tech.org.
ns IN A 192.168.10.254
www IN A 192.168.10.5
mail IN A 192.168.10.6
vim /var/named/tech.org.wan
$TTL 36400
@ IN SOA tech.org root.tech.org.(
2011012801
1H
10M
7D
1D)
IN NS dns.tech.org.
IN MX 10 mail.tech.org.
ns IN A 173.0.0.1
www IN A 173.0.0.1
mail IN A 173.0.0.1
配置完成后重啟服務(wù),當(dāng)公網(wǎng)公網(wǎng)用戶訪問web和mai服務(wù)器時(shí),解析為173.0.0.1
當(dāng)內(nèi)網(wǎng)用戶訪問web或者mail時(shí)解析為實(shí)際的服務(wù)器地址
本文出自 “fighter” 博客,請務(wù)必保留此出處http://fighter.blog.51cto.com/1318618/500957
聯(lián)系客服