漫畫:這是我見(jiàn)過(guò)對(duì)DNS最通俗易懂的解釋了

親愛(ài)的,我出去一趟。

你要去干嘛?
有事。

有什么事?
我跟同事討論下網(wǎng)絡(luò)方案。

討論什么方案?
我跟你說(shuō)了,你也不知道。

你說(shuō)呀!你不說(shuō)怎么知道我不知道。
那好吧,我給你講一講,看你能不能給我一點(diǎn)建議。最近有個(gè)局點(diǎn)需要配置DNS代理功能。

什么是DNS?
DNS就像是網(wǎng)絡(luò)世界的地圖,根據(jù)域名查找對(duì)于的IP地址,能夠讓用戶更方便的上網(wǎng)。



我上網(wǎng)的時(shí)候,會(huì)用到DNS嗎?
我們上網(wǎng)都有用到它,例如訪問(wèn)某個(gè)網(wǎng)站,輸入的是網(wǎng)址,實(shí)際機(jī)器訪問(wèn)的是ip地址。


首先查找電腦上的DNS緩存列表,如果有記錄,那么直接返回對(duì)于IP地址,否則進(jìn)行下一步;
查找電腦上的HOST文件的映射關(guān)系,如果有記錄,那么返回對(duì)于IP地址,否則進(jìn)行下一步;
查找互聯(lián)網(wǎng)線路供應(yīng)商的本地DNS服務(wù)器(即中國(guó)電信、中國(guó)移動(dòng)或中國(guó)聯(lián)通),本地DNS服務(wù)器先查找自己的緩存記錄,如果有記錄,那么返回對(duì)于IP地址,否則本地DNS服務(wù)器向根域名服務(wù)器發(fā)生請(qǐng)求;
根域名服務(wù)器收到請(qǐng)求后,查看是.com頂級(jí)域名,于是返回.com頂級(jí)域名服務(wù)器的IP地址給到本地DNS服務(wù)器;
本地DNS服務(wù)器收到回復(fù)后,向.com頂級(jí)域名服務(wù)器發(fā)起請(qǐng)求;
.com頂級(jí)域名服務(wù)器收到請(qǐng)求后,查看是.baidu.com次級(jí)域名,于是返回.baidu.com次級(jí)域名服務(wù)器的IP地址給到DNS服務(wù)器;
本地DNS服務(wù)器收到回復(fù)后,向.baidu.com次級(jí)域名服務(wù)器發(fā)起請(qǐng)求;
.baidu.com次級(jí)域名服務(wù)器收到請(qǐng)求后,查看是自己管理的域名,于是查看域名和IP地址映射表,把www.baidu.com的IP地址返回給本地DNS服務(wù)器;
本地DNS服務(wù)器收到回復(fù)后,向電腦回復(fù)域名對(duì)應(yīng)IP地址,并把記錄寫入本地DNS服務(wù)器的緩存里;
電腦收到回復(fù)后,使用IP地址訪問(wèn)網(wǎng)站,并把記錄寫入電腦DNS緩存中。

那你說(shuō)的DNS代理有是干什么用的?
顧名思義,DNS代理代替電腦跟DNS服務(wù)器進(jìn)行請(qǐng)求和查詢。作用是簡(jiǎn)化網(wǎng)絡(luò)配置和集中管理。

DNS代理(DNS Proxy)用于在DNS Client和DNS Server之間轉(zhuǎn)發(fā)DNS請(qǐng)求和應(yīng)答報(bào)文。局域網(wǎng)內(nèi)的DNS Client把DNS Proxy當(dāng)作DNS Server,將DNS請(qǐng)求報(bào)文發(fā)送給DNS Proxy。DNS Proxy將該請(qǐng)求報(bào)文轉(zhuǎn)發(fā)至DNS Server,并將DNS Server的應(yīng)答報(bào)文返回給DNS Client,從而實(shí)現(xiàn)域名解析。
使用DNS Proxy功能后,當(dāng)DNS Server的地址發(fā)生變化時(shí),只需改變DNS Proxy上的配置,無(wú)需改變局域網(wǎng)內(nèi)每個(gè)DNS Client的配置,從而簡(jiǎn)化了網(wǎng)絡(luò)管理。

上次我打開(kāi)百度網(wǎng)站,卻跳轉(zhuǎn)到一個(gè)廣告網(wǎng)站,這是怎么回事?
這個(gè)就是DNS劫持,把目標(biāo)網(wǎng)站域名解析到錯(cuò)誤的IP地址上。這時(shí)可以把DNS地址設(shè)置成運(yùn)營(yíng)商提供的IP地址,或者設(shè)置成公共DNS服務(wù)器IP地址。就像你買衣服一樣的,去商場(chǎng)買名牌,盡量不去買質(zhì)量和服務(wù)都不靠譜的地?cái)傌洝?br>


說(shuō)到買衣服,我的建議是陪我去逛街看看衣服吧,為雙十一做準(zhǔn)備。
這 ......

關(guān)注「開(kāi)源Linux」加星標(biāo),提升IT技能

