一、簡述dns
DNS(domain name system)域名系統(tǒng)或者(domain named system)區(qū)域名稱服務(wù),分為正向與反向域名解析,適用C/S,端口路53/udp,53/tcp,屬于應(yīng)用層協(xié)議;
作用:人得記憶有限,如果沒有dns得記下多少IP地址;從網(wǎng)絡(luò)來說由于tcp/ip協(xié)議族是基于ip地址,所以需要一個(gè)翻譯器即DNS;可以1對(duì)多也可以多對(duì)1,那么正向解析即域名解析為ip地址,反向解析即ip地址解析為域名。有人說DNS就是一個(gè)本大得電話本,說的挺貼切。
正反向解析事兩個(gè)不同得名稱空間,是兩顆不同得解析樹;
正向:ip---》主機(jī)名
反向:主機(jī)名---》ip
當(dāng)今得業(yè)界標(biāo)準(zhǔn)BIND(berkeley internet name domain)dns軟件
二、DNS域名
1)DNS是一個(gè)倒掛樹結(jié)構(gòu)示意圖如下
2)按照功能命名得五個(gè)類別介紹
a.根域:DNS域名中使用時(shí),規(guī)定由尾部據(jù)點(diǎn)(.)來指定名稱位于根域或更高級(jí)別得域?qū)哟谓Y(jié)構(gòu),(.)
b.頂級(jí)域:TDL(TOP LEVEL DOMAIN)用來只是某個(gè)國家地區(qū)或組織使用得類型,例如(.com)
c.二級(jí)域:個(gè)人或組織在internet上使用得注冊名稱,例如iyong.com
d.子域:已經(jīng)注冊二級(jí)域名派生得域名,就是網(wǎng)站名,例如www.iyong.com
e.主機(jī)名:通常情況下,DNS域名得最左側(cè)得標(biāo)簽表示網(wǎng)絡(luò)上得特定計(jì)算機(jī),如www,mail,zhidao
f.名稱服務(wù)器:域內(nèi)負(fù)責(zé)解析本域內(nèi)的名稱的主機(jī)
g.根服務(wù)器:13組服務(wù)器
3)dns和internet域
互聯(lián)網(wǎng)域名系統(tǒng)有名稱注冊機(jī)構(gòu)負(fù)載維護(hù)分配有組織和國家/地區(qū)得頂級(jí)域在internet上進(jìn)行管理。國際標(biāo)準(zhǔn)3166。
常見得DNS域名
com,商業(yè)公司
edu,教育機(jī)構(gòu)
net,網(wǎng)絡(luò)公司
gov,非軍事政府機(jī)構(gòu)
mil,軍事政府機(jī)構(gòu)
cn,代表中國
三、DNS服務(wù)器類型
主DNS服務(wù)器
從DNS服務(wù)器 (可以是多個(gè)提供容錯(cuò))
緩存DNS服務(wù)器(轉(zhuǎn)發(fā)器)
主DNS服務(wù)器:管理和維護(hù)所負(fù)責(zé)解析的域內(nèi)解析庫的服務(wù)器
從DNS服務(wù)器:從主服務(wù)器或從服務(wù)器“復(fù)制”(區(qū)域傳輸)解析庫副本
1)復(fù)制操作的方式
序列號(hào)serial:解析庫版本號(hào),主服務(wù)器解析庫變化時(shí),其序列遞增
刷新時(shí)間間隔refresh:從服務(wù)器從主服務(wù)器請求同步解析的時(shí)間間隔
重試時(shí)間間隔retry:從服務(wù)器請求同步失敗時(shí),再次嘗試時(shí)間間隔
過期時(shí)長expire:從服務(wù)器始終聯(lián)系不到服務(wù)器時(shí),多久后放棄從服務(wù)器角度,停止提供服務(wù)
否定答案的緩存時(shí)長;minimum
”通知“機(jī)制:主服務(wù)器解析庫發(fā)送變化時(shí),會(huì)主動(dòng)通知從服務(wù)
2)區(qū)域傳送
完全傳輸axfr:傳送整個(gè)解析庫
增量傳輸lxfr:傳遞解析庫變化的那部分內(nèi)容
3)區(qū)域(zone)和域(domain)
Domain:FQDN
正向:FQDN->IP
反向:IP->FQDN
各需要一個(gè)解析庫來分別負(fù)責(zé)本地域名的的正向和反向解析庫
正向區(qū)域
反向區(qū)域
FQDN:fullqualified domain name 完全限定域名
如:www.iyong.com.
四、DNS查詢解析
我們在瀏覽器訪問www.iyong.com這個(gè)域名,dns怎么查詢到這臺(tái)主機(jī)那?
1、在瀏覽器中輸入www.iyong.com域名,操作系統(tǒng)會(huì)先檢查自己本地的hosts文件是否有這個(gè)網(wǎng)址映射關(guān)系,如果有,就先調(diào)用這個(gè)ip地址映射,完成域名解析。
2、如果hosts里沒有這個(gè)域名的映射,則會(huì)查找本地DNS解析器緩存,是否有這個(gè)網(wǎng)址映射關(guān)系,如果有,直接返回,完成域名解析。
3、如果hosts與本地DNS解析器緩存都沒有相應(yīng)的網(wǎng)址映射關(guān)系,首先會(huì)找TCP/IP參數(shù)中設(shè)置的首選DNS服務(wù)器,在此我們叫它本地DNS服務(wù)器,此服務(wù)器收到查詢時(shí),如果要查詢的域名,包含在本地配置區(qū)域資源中,則返回解析記過給客戶端,完成域名解析,此解析具有權(quán)威性。
4、如果要查詢域名,不由本地DNS服務(wù)器區(qū)域解析,但該服務(wù)器已緩存了此網(wǎng)址映射關(guān)系,則調(diào)用這個(gè)IP地址映射,完成域名解析,此解析不具有權(quán)威性。
5、如果本地DNS服務(wù)器本地區(qū)域文件與緩存解析都失效,則根據(jù)本地DNS服務(wù)器的設(shè)置(是否設(shè)置轉(zhuǎn)發(fā)器)進(jìn)行查詢,如果未用轉(zhuǎn)發(fā)模式,本地DNS就把請求發(fā)至13臺(tái)根DNS,根DNS服務(wù)器收到請求后會(huì)判斷這個(gè)域名(.com)是誰來授權(quán)管理,并會(huì)返回一個(gè)負(fù)責(zé)該頂級(jí)域名服務(wù)器的一個(gè)IP。本地DNS服務(wù)器收到IP信息后,將會(huì)聯(lián)系負(fù)責(zé).com域的這臺(tái)服務(wù)器。這臺(tái)負(fù)責(zé).com域的服務(wù)器收到請求后,如果自己無法解析,它就會(huì)找一個(gè)管理.com域的下一級(jí)DNS服務(wù)器地址(iyong.com)給本地DNS服務(wù)器。當(dāng)本地DNS服務(wù)器收到這個(gè)地址后,就會(huì)找iyong.com域服務(wù)器,重復(fù)上面的動(dòng)作,進(jìn)行查詢,直至找到www.iyong.com主機(jī)。
6、如果用的是轉(zhuǎn)發(fā)模式,此DNS服務(wù)器就會(huì)把請求轉(zhuǎn)發(fā)至上一級(jí)DNS服務(wù)器,由上一級(jí)服務(wù)器進(jìn)行解析,上一級(jí)服務(wù)器如果不能解析,或找根DNS或把請求轉(zhuǎn)至上上級(jí),以此循環(huán)。不管是本地DNS服務(wù)器用是轉(zhuǎn)發(fā),還是根提示,最后都是把結(jié)果返回給本地DNS服務(wù)器,由此DNS服務(wù)器再返回給客戶機(jī)。
從上圖可以知道,客戶端到本地DNS服務(wù)器是屬于遞歸查詢,而DNS服務(wù)器之間的交互查詢就是迭代查詢
遞歸查詢與迭代查詢
a.遞歸,只發(fā)送一次請求,得到一次準(zhǔn)確結(jié)果(消耗資源)
b.迭代,發(fā)送多次請求,得到參考結(jié)果
一次完整得查詢請求經(jīng)過得流程
client-->hosts文件-->DNS service
local cache -->DNS server(recursion遞歸)-->server cache -->iteration(迭代)
解析答案類型
a.肯定答案
b.否定答案:請求的條目不存在等原因?qū)е聼o法返回結(jié)果
c.權(quán)威答案:aa 表示是自身知道的結(jié)果,不是問來的
d.非權(quán)威答案
五、資源記錄(resoursr record,簡寫RR)
1、簡單介紹資源記錄
資源記錄事組成DNS各域記錄,這些記錄類型有:A,AAAA,PTR,SOA,NS,CNAME,Mx等
a.SOA 起始授權(quán)記錄,(start of authority),一個(gè)區(qū)域解析庫有且僅能有要給SOA記錄,而必須為解析庫的第一條記錄;
b.NS(nameserver)得縮寫,專用于表明當(dāng)前區(qū)域的DNS服務(wù)器
c.A (address),后面記錄得對(duì)應(yīng)ipv4地址;FQDN-->IP
d.AAAA 對(duì)應(yīng)得ipv6地址;FQDN-->IPV6
e.PTR?。╬ointTER)指針,后面記錄得數(shù)據(jù)就是反解到得主機(jī)名;IP-->FQDN
f.CNAME 別名,一個(gè)主機(jī)名可以有多個(gè)別名,但ip地址事一樣得;
g.MX 郵件服務(wù)器;
資源記錄定義的格式:
語法格式:
name[TTL] IN rr_type(資源記錄類型) value(可以是多個(gè))
rr_type:替換為指定的資源記錄類型;
ttl可以省略從全局繼承 internet
注意:
1)TTL就是time to live,可以從全局繼承,默認(rèn)秒為單位;
2)@可以用于應(yīng)用當(dāng)前區(qū)域得名字比如baidu.com;
3)同一個(gè)名字可以通過多條記錄定義多個(gè)不同得值,此時(shí)DNS服務(wù)器會(huì)以輪詢方式響應(yīng),可以分流做負(fù)載均衡;
4)同一個(gè)值也可能有多個(gè)不同得定義名字;通過多個(gè)不同得名字指向同一個(gè)值進(jìn)行定義;僅表示通過多個(gè)名字可以找到同一個(gè)主機(jī)而已;
2、SOA:一個(gè)區(qū)域中有且只能有一個(gè)soa
name:當(dāng)前區(qū)域的名字,例如“zhangxingeng.com.”;最后記得有各點(diǎn)
value:有多個(gè)部分組成
1)當(dāng)前區(qū)域的主DNS服務(wù)器的FQDN,也可以適用但卻區(qū)域的名字;
2)當(dāng)前區(qū)域管理員的郵箱地址;但地址中不能使用@服務(wù),一般用.替換,zxg.iyong.com
3) 主從服務(wù)區(qū)域傳輸相關(guān)定義以及否定的答案的統(tǒng)一的TTL
1 [root@node5 ~]# cat /var/named/zhangxingeng.com.zone 2 $TTL 1D 3 @ IN SOA @ web1.zhangxingeng.com.admin.zhangxingeng.com ( 4 0 ; serial #序列號(hào)-最后不要超過10位數(shù) 5 1D ; refresh #刷新時(shí)間1天 6 1H ; retry #重試時(shí)間 7 1W ; expire #過期時(shí)間,一周 8 3H ) ; minimum #否定答案的ttl值,3個(gè)小時(shí) 9 NS web110 web1 A 192.168.216.199 11 dns1 A 192.168.216.198
3、NS記錄格式
name:當(dāng)前區(qū)域的名字
value:當(dāng)前區(qū)域的某個(gè)DNS服務(wù)器的名字,例如web1.zhangxingeng.com
注意:一個(gè)區(qū)域可以由有多個(gè)NS記錄
例如:
zhangxingeng.com. IN NS web1.zhangxingeng.com
zhangxingeng.com. IN NS web2.zhangxingeng.com
注意:
1)相鄰的兩個(gè)資源記錄的name相同時(shí),后續(xù)的可省略
2)對(duì)NS記錄而言,任何一個(gè)ns記錄后面的服務(wù)器名字,都應(yīng)該再后續(xù)有一個(gè)A記錄
4、MX記錄定義格式
name:當(dāng)前區(qū)域的名字
value:當(dāng)前區(qū)域的某郵件服務(wù)器(smtp服務(wù)器)的主機(jī)名;
一個(gè)區(qū)域內(nèi),MX記錄可有多個(gè);但每個(gè)記錄的value之前以你更改有一個(gè)數(shù)字(0-99),表示此服務(wù)器的優(yōu)先級(jí);數(shù)字越小優(yōu)先級(jí)越高;
例如:
zhangxingeng.com. IN MX 10 mx1.zhangxingeng.com.
IN MX 20 mx2.zhangxingeng.com.
注意:
對(duì)MX記錄而言,任何一個(gè)MX記錄后面的服務(wù)器名字,都應(yīng)該再后續(xù)有一個(gè)A記錄.
5、A記錄定義格式
name:某主機(jī)的FQDN,例如web1.zhangxingeng.com
value:主機(jī)名對(duì)應(yīng)主機(jī)的ip地址;
例如
web1.zhangxingeng.com. IN A 192.168.216.199
web2.zhangxingeng.com. IN A 192.168.216.202
注意:
*.zhangxingeng.com. IN A 192.168.216.199
zhangxingeng.com. IN A 192.168.216.199
避免用戶寫作名稱時(shí)給錯(cuò)誤答案,可以通過泛域名解析進(jìn)行解析至特定地址;
6、PTR記錄定義格式
name:IP,有特定格式,把IP地址反過來寫,199.216.168.192;而有特定后綴:in-addr.arpa.,所以完整寫法為:199.216.168.192.in.addra.arpa.
value:FQDN
例如:
199.216.168.192.in.addra.arpa. IN PTR web1.zhangxingeng.com.
簡寫
199 IN PTR web1.zhangxingeng.com.
注意:網(wǎng)絡(luò)地址及后綴可省略;主機(jī)地址依然需要反這寫
7、CNAME記錄定義格式
name:別名的FQDN
value:正規(guī)名字的FQDN;
例如:
web1.zhangxingeng.com. IN CNAME www.zhangxingeng.com