日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

通解DNS(下)

發(fā)布時間:2023/12/20 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 通解DNS(下) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

??? 當(dāng)我為繼續(xù)寫《通解DNS(下)》的時候,我才發(fā)現(xiàn),我遇到了一些難題,在解決這些問題的時候,我才理解到了DNS與之關(guān)聯(lián)的技術(shù)還是比較復(fù)雜的 ?-丁胖胖


六、DNS中特殊的@與FQDN


在DNS設(shè)置中,@符號是一個比較特殊的符號,它用來代表ZONE,所以在如z00w00.local這樣的ZONE文件中,所以在SOA中有一個“responsible mail addr”配置的地方,你不會找到@符號,但那確實(shí)是一個E-MAIL地址(圖6.1)

(圖6.1)

FQDN-Fully Qualified Domain Name 中文譯名為“完全合格域名”(微軟官方是如此稱呼)但也有的會翻譯為“完全限定域名”(賽門鐵克的官方) 我這里不是閑的蛋疼來咬文嚼字說中文譯名的,而是要說,DOMAIN中的FQDN中是這樣的

www.51CTO.com.?為例(圖6.2)

(圖6.2)

注意com后面的“.”才是我要闡述的關(guān)鍵,windows dns中是這樣的(我比較懶,于是就COPY來岳雷老師的一副圖了(圖6.3)

(圖6.3)

對于普通用戶來說,那個“."似乎無關(guān)緊要,但是對于技術(shù)人員來說,那就必須要搞明白了。如果沒有那個“."就不是真正的FQDN

很多詐騙的網(wǎng)站其實(shí)就是利用這點(diǎn)制造了二級域名,如:www.51cto.com?我變成了www.51cto.com.z00w00.

真是的詐騙網(wǎng)站類似這樣的:www.qq.q1q.com.


七、A記錄和PTR記錄


? ?我并不想闡述A記錄-正向主機(jī)解析記錄,因?yàn)锳記錄相對用的較多,就是一個域名轉(zhuǎn)換成IP,其實(shí)很多用戶都知道在DNS的客戶端中設(shè)置HOSTS文件設(shè)置而無須DNS解析(圖7.1)

(圖7.1)

上圖中的內(nèi)容之所以變得如此怪異,是因?yàn)槲沂褂昧宋谋揪庉嬈髟O(shè)置了格式(....代表空格,CR,LF代表結(jié)束和換行符)


為了照顧新手朋友,我重新?lián)Q了一副記事本打開的HOSTS文件,圖7.2

(圖7.2)

我也不想闡述PTR記錄-因?yàn)榉聪騃P解析記錄,因?yàn)镻TR的用途確實(shí)較少,除了電子郵件用來反向解析一個收發(fā)郵件服務(wù)器的域名外, 一個容易理解PTR的實(shí)踐是當(dāng)你使用NSLOOKUP交換機(jī)查詢時,會首先進(jìn)行反向解析LDNS的FQDN,如下7.3

(圖7.3)

如果是內(nèi)部的DNS(關(guān)于內(nèi)部DNS請見前文描述)因?yàn)闆]有創(chuàng)建反向解析區(qū)域-PTR記錄,NSLOOKUP的時候就會出現(xiàn)(UN KNOW-未知狀態(tài))


我個人認(rèn)為,在這里反向解析LDNS會首先檢查其可用狀態(tài),如果出現(xiàn)UN KNOW,(特別是不是內(nèi)部DNS)你就要小心了,DNS很可能設(shè)置錯了,如果有問題了,下面是我自己構(gòu)造的一個錯誤的DNS服務(wù)器地址,圖7.4

(圖7.4)

?

在確保像上圖中DNS服務(wù)器地址沒錯的情況下(我故意輸出為8.8.8.9),很可能就是DNS服務(wù)器掛了。


注:我發(fā)現(xiàn)很多人都喜歡用PING工具來測試DNS服務(wù)器,我強(qiáng)烈不建議用這種方式,理由有如下:


1、PING在連接的時候首先會像WEB的客戶端程序如瀏覽器先檢查HOSTS文件然后檢查DNS客戶端的緩存

(WINDOWS下利用 ipconfig /displaydns查詢)如果你已經(jīng)瀏覽器了www.51cto.com?并且再次ping?www.51cto.com?只要WEB服務(wù)器沒掛,肯定會正常返回包,但這并不意味著DNS可用,如果你第一次訪問如www.360dns.com這樣網(wǎng)站的時候很可能就無法訪問。


2、并不是所有的DNS都允許ICMP回傳,就如同很多企業(yè)網(wǎng)站為是禁PING的,禁PING的理由無法是為了安全。如

北京聯(lián)通的202.106 DNS服務(wù)器


八、CNAME-別名記錄


? ? ?我想著單獨(dú)談一下CNAME別名記錄,原因是這個別名記錄也把我搞暈了一下。

首先我們先做一個有趣的實(shí)驗(yàn),當(dāng)你ping?www.baidu.com的時候,不知道結(jié)果是不是會和我出現(xiàn)一樣的結(jié)果呢,見圖8.1

(圖8.1)

亮點(diǎn)我已經(jīng)用紅框標(biāo)出來了,怎么ping?www.baidu.com的時候變成了www.a.shifen.com?了呢?

為了做對比,我將ping?www.51cto.com?做了對比,如下圖8.2

(圖8.2)

很明顯,雖然PING 出現(xiàn)超時,但是返回結(jié)果并沒有變化


不知道有沒有人會認(rèn)為是域名劫持呢?說實(shí)話,這個念頭我也閃過一下,但是還是通過強(qiáng)大的搜索找了原因

為了不影響篇幅,簡單說一下:原來shifen.com 這個域名最早就是百度起家的時候用的,就是baidu的競價排名系統(tǒng),名字就叫十分系統(tǒng) ,據(jù)說因?yàn)樽钤绲臅r候每一下的點(diǎn)擊率可以賺取10分錢。有興趣的可以繼續(xù)挖掘一下。


其實(shí)我并關(guān)心這個,我所關(guān)心的是:www.baidu.com和www.a.shifen.com?肯定有一個是A記錄,有一個是CNAME記錄了。那么到底誰是誰的別名呢?我查了一下網(wǎng)上說的,網(wǎng)上有一個問答系統(tǒng)和一篇博文都說www.baidu.com是A記錄,www.a.shifen.com?是CNAME別名記錄 但是我用NSLOOKUP看了一下,確得到完全不同的答案 圖8.3

(圖8.3)

即使你不懂計(jì)算機(jī),如果稍微知道點(diǎn)英文就應(yīng)該明白Aliases的意思吧?那我們在nslookup一下www.a.shifen.com?吧,結(jié)果如下圖8.4

(圖8.4)

看到?jīng)],并沒有出現(xiàn)ALIASES的字樣,看來網(wǎng)上和那篇文章的解釋是錯誤的。為了進(jìn)一步佐證我們的判斷,使用DIG工具再看一下,圖8.5

(圖8.5)

?

根據(jù)RR記錄格式CNAME記錄格式如下:


主機(jī)別名(WWW.BAIDU.COM) ?IN CNAME 實(shí)際代表這個主機(jī)別名的主機(jī)名字(WWW.A.SHIFEN.COM)

由此我們得出前者是后者的別名


由此我們得出結(jié)論:

1、當(dāng)解析一個主機(jī)地址的時候,如WWW.BAIDU.COM?會查詢是否A記錄,如果是A記錄,那么解析出其IP地址

2、如果記錄WWW.BAIDU.COM是一個CNAME記錄,那么先找到其A記錄,然后根據(jù)A記錄解析出其IP地址。

?

有人可能會說:“胖胖,你搞了半天就是要搞明白WWW.BAIDU.COM究竟是A記錄還是CNAME記錄呀,這個意義大嗎?”


這里我要解釋說:其一,首先要搞清楚CNAME記錄是如果被解析的;其二,CNAME記錄還有其他的大作用,先在這里賣一個關(guān)子,我們后面會說到。


九、DNS輪詢

? ? 之前我們說過,DNS作為網(wǎng)絡(luò)的基礎(chǔ)架構(gòu),主要是為了解析域名為IP地址,很多應(yīng)用程序都需要這個過程,拿用途最多的WEB進(jìn)行繼續(xù)闡述。大家知道,為了保障WEB的高可用性和業(yè)務(wù)連續(xù)性,WEB服務(wù)器不止一臺,當(dāng)有多個WEB服務(wù)器時,DNS如何解析呢?見下圖9.1

?

(圖9.1)

當(dāng)用戶訪問www.z00w00.com的時候,dns服務(wù)器ns.z00w00.com會去解析其A記錄,結(jié)果發(fā)現(xiàn)有3條A記錄,這個時候按照默認(rèn)不做任何策略的時候,會按照順序提供A主機(jī)對應(yīng)的IP地址,當(dāng)?shù)诙€用戶訪問的時候就會返回第二臺主機(jī)的IP地址,如下9.2

(圖9.2)

這就是DNS輪詢,不過需要注意一點(diǎn)的是,如果用戶1與用戶2同時設(shè)置了同一臺LDNS(本地的DNS)因?yàn)榫彺娴年P(guān)系,可能會得到同一個IP地址。DNS雖然支撐輪詢訪問WEB,但是也有一些缺點(diǎn),最大的缺點(diǎn)之一就是當(dāng)其中一臺WEB宕機(jī)或其它原因無法訪問的時候,DNS并不能判斷是否宕機(jī),依然會解析IP地址給用戶,當(dāng)然用戶就無法正常訪問了。后來人們想了一個辦法,就是在WEB前端放一個負(fù)載均衡設(shè)備,可以判斷WEB集群的健康狀態(tài),如下圖9.3

(圖9.3)

?

負(fù)載均衡并不是我們講述的重點(diǎn),所以只是簡單提一句。


十、 主/輔DNS模式


單點(diǎn)風(fēng)險,是很多IT公司最不愿意承受的,所以絕大部分的IT公司并不會僅僅允許1臺DNS進(jìn)行權(quán)威解析,如果一臺DNS因?yàn)楣收隙鵁o法解析,那么你所有需要訪問的用戶都無法正常訪問,不要告訴你的用戶用IP訪問呦。所以DNS是允許多臺進(jìn)行解析的,不過DNS服務(wù)器僅允許一臺DNS進(jìn)行寫操作,而其它DNS只允許讀操作。這樣方式有點(diǎn)像MYSQL數(shù)據(jù)庫的主/從模式,可寫操作的被稱為主要區(qū)域DNS,剩下可讀操作的被稱為輔助區(qū)域DNS。如下圖10.1

?

(圖10.1)

ns1.z00w00.com 為主區(qū)域,ns2.z00w00.com為輔助區(qū)域 由于輔助區(qū)域服務(wù)器不能寫操作,所以ns2.z00w00.com的區(qū)域記錄(基于z00w00.com的正向或反向)通過區(qū)域文件復(fù)制得到,什么時候復(fù)制,依據(jù)什么復(fù)制,是通過SOA記錄完成的,下面我們以51cto.com為例,看一下SOA記錄,如下圖10.2

(圖10.2)

?

primary name server 代表主區(qū)域服務(wù)器是誰

responsible mail addr 代表管理員E-MAIL

serial 序號代表數(shù)據(jù)庫文件新舊,如果輔助區(qū)域發(fā)現(xiàn)其值比當(dāng)前值小,就會進(jìn)行區(qū)域復(fù)制

refresh 是更新頻率 3600秒輔助區(qū)域向主區(qū)域進(jìn)行更新

retry 失敗重新嘗試時間 如果輔助區(qū)域無法連接主區(qū)域,那么連接的時間就是這個值

expire 失效時間

dafault TTL 緩存時間


十一、CDN與DNS


當(dāng)很多企業(yè)正在為TCP連接數(shù)、并發(fā)過高、DDOS***、用戶抱怨訪問較慢發(fā)愁而思考如何更改架構(gòu)、增加帶寬、買防DDOS設(shè)備的時候,一些ICP已經(jīng)提供了一些解決方案,那就是CDN。CDN技術(shù)還是很復(fù)雜的,并且我不打算在這里闡述CDN。只是說一下CDN與DNS的關(guān)系。


CDN是內(nèi)容分發(fā)系統(tǒng),可以通過CDN技術(shù)將你自己的源站內(nèi)容推送的CDN服務(wù)器上,而CDN分步在全國各電信、聯(lián)通、移動等機(jī)房;用戶可以就近訪問自己需要的內(nèi)容,從而也隱藏了真實(shí)的WEB服務(wù)器,一舉多得。還記得我們之前說到的CNAME記錄嗎?CNAME記錄就是和CDN有密切關(guān)系的。如圖11.1

(圖11.1)

z00w00.com的權(quán)威解析服務(wù)器ns1.z00w00.com 將www.z00w00.com改該cdn.www.z00w00.com的CNAME記錄

??? 當(dāng)用戶要求解析其IP地址時,首先訪問到權(quán)威服務(wù)器,但是權(quán)威服務(wù)器發(fā)現(xiàn)這是一個別名,然后將別名記錄提交到設(shè)置為A記錄的CDN的DNS服務(wù)器,CDN的DNS服務(wù)器會根據(jù)用戶本地DNS的IP地址判斷選擇里用戶最近的一個CDN節(jié)點(diǎn)服務(wù)器并提供IP地址,然后用戶訪問這個CDN節(jié)點(diǎn)服務(wù)器。

當(dāng)然這只是最簡單的過程,CDN比這要復(fù)雜的多,實(shí)際上還有CDN節(jié)點(diǎn)服務(wù)器如果沒有獲取到用戶所需的資源,還要回源處理(從原始WEB服務(wù)器模擬用戶提供申請,取得數(shù)據(jù))另外CDN如何判斷用戶所在區(qū)域,并根據(jù)其節(jié)點(diǎn)調(diào)度提供IP地址。因?yàn)槲覀儾皇窃诮忉孋DN,此復(fù)雜細(xì)節(jié)略過。

?? 其實(shí),我還想寫的更多,如DNSSEC,DNS劫持等;但在《通解DNS(上)》發(fā)布后并沒有得到大家的更多關(guān)注,所以暫時放棄了這些內(nèi)容。寫原創(chuàng)技術(shù)文章,確實(shí)很辛苦。除了需要構(gòu)思內(nèi)容,有些東西知識點(diǎn)還需要認(rèn)真思考,盡量不要出錯,畢竟我本人不是大神。當(dāng)然我也可以寫一篇DNS部署的文章,若干行命令,按照部署的流程走一遍,甚至負(fù)不負(fù)責(zé)的不反復(fù)推敲排除特殊環(huán)境變量。但這不是我的風(fēng)格,我希望有網(wǎng)友能通過這上下兩篇文章,得到一些啟示,這就夠了。當(dāng)然,如果在描述的有不準(zhǔn)確,或者在知識點(diǎn)上就有錯誤,也希望大神給予指出。


總結(jié)

以上是生活随笔為你收集整理的通解DNS(下)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。