0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一文解讀域名系統(tǒng)(DNS),了解其的工作原理和基礎(chǔ)知識

如意 ? 來源:Linux中國 ? 作者:Xingyu.Wang 譯 ? 2020-09-11 15:01 ? 次閱讀

域名系統(tǒng)(Domain Name System)(DNS)是互聯(lián)網(wǎng)的基礎(chǔ)之一,然而大多數(shù)不懂網(wǎng)絡(luò)的人可能并不知道他們每天都在使用它來工作、查看電子郵件或在智能手機上浪費時間。

就其本質(zhì)而言,DNS 是一個與數(shù)字匹配的名稱目錄。這些數(shù)字,在這里指的是 IP 地址,計算機用 IP 地址來相互通信。大多數(shù)對 DNS 的描述都是用電話簿來比喻,這對于 30 歲以上的人來說是沒有問題的,因為他們知道電話簿是什么。

如果你還不到 30 歲,可以把 DNS 想象成你的智能手機的聯(lián)系人名單,它將人們的名字與他們的電話號碼及電子郵件地址進行匹配,然后這個聯(lián)系人名單的就像地球上的人一樣多。

DNS 簡史

當(dāng)互聯(lián)網(wǎng)還非常、非常小的時候,人們很容易將特定的 IP 地址與特定的計算機對應(yīng)起來,但隨著越來越多的設(shè)備和人加入到不斷發(fā)展的網(wǎng)絡(luò)中,這種簡單的情況就沒法持續(xù)多久了?,F(xiàn)在仍然可以在瀏覽器中輸入一個特定的 IP 地址來到達(dá)一個網(wǎng)站,但當(dāng)時和現(xiàn)在一樣,人們希望得到一個由容易記憶的單詞組成的地址,也就是我們今天所認(rèn)識的那種域名(比如 linux.cn )。在 20 世紀(jì) 70 年代和 80 年代早期,這些名稱和地址是由一個人指定的,她是 斯坦福大學(xué)的 Elizabeth Feinler ,她在一個名為 HOSTS.TXT 的文本文件中維護著一個主列表,記錄了每一臺連接互聯(lián)網(wǎng)的計算機。

隨著互聯(lián)網(wǎng)的發(fā)展,這種局面顯然無法維持下去,尤其是因為 Feinler 只處理加州時間下午 6 點之前的請求,而且圣誕節(jié)也要請假。1983 年,南加州大學(xué)的研究人員 Paul Mockapetris 受命在處理這個問題的多種建議中提出一個折中方案。但他基本上無視了所有提出的建議,而是開發(fā)了自己的系統(tǒng),他將其稱為 DNS。雖然從那時起,現(xiàn)今的它顯然發(fā)生了很大的變化,但在基本層面上,它的工作方式仍然與將近 40 年前相同。

DNS 服務(wù)器是如何工作的

將名字與數(shù)字相匹配的 DNS 目錄并不是整個藏在互聯(lián)網(wǎng)的某個黑暗角落。截至 2017 年底, 它記錄了超過 3.32 億個域名 ,如果作為一個目錄確實會非常龐大。就像互聯(lián)網(wǎng)本身一樣,該目錄分布在世界各地,存儲在域名服務(wù)器(一般簡稱為 DNS 服務(wù)器)上,這些服務(wù)器都會非常有規(guī)律地相互溝通,以提供更新和冗余。

權(quán)威 DNS 服務(wù)器與遞歸 DNS 服務(wù)器的比較

當(dāng)你的計算機想要找到與域名相關(guān)聯(lián)的 IP 地址時,它首先會向 遞歸(recursive) DNS 服務(wù)器(也稱為遞歸解析器)提出請求。遞歸解析器是一個通常由 ISP 或其他第三方提供商運營的服務(wù)器,它知道需要向其他哪些 DNS 服務(wù)器請求解析一個網(wǎng)站的名稱與其 IP 地址。實際擁有所需信息的服務(wù)器稱為 權(quán)威(authoritative) DNS 服務(wù)器。

DNS 服務(wù)器和 IP 地址

每個域名可以對應(yīng)一個以上的 IP 地址。事實上,有些網(wǎng)站有數(shù)百個甚至更多的 IP 地址與一個域名相對應(yīng)。例如,你的計算機訪問 www.google.com 所到達(dá)的服務(wù)器,很可能與其他國家的人在瀏覽器中輸入相同的網(wǎng)站名稱所到達(dá)的服務(wù)器完全不同。

該目錄的分布式性質(zhì)的另一個原因是,如果這個目錄只在一個位置,在數(shù)百萬,可能是數(shù)十億在同一時間尋找信息的人中共享,那么當(dāng)你在尋找一個網(wǎng)站時,你需要花費多少時間才能得到響應(yīng) —— 這就像是排著長隊使用電話簿一樣。

什么是 DNS 緩存?

為了解決這個問題,DNS 信息在許多服務(wù)器之間共享。但最近訪問過的網(wǎng)站的信息也會在客戶端計算機本地緩存。你有可能每天使用 google.com 好幾次。你的計算機不是每次都向 DNS 名稱服務(wù)器查詢 google.com 的 IP 地址,而是將這些信息保存在你的計算機上,這樣它就不必訪問 DNS 服務(wù)器來解析這個名稱的 IP 地址。額外的緩存也可能出現(xiàn)在用于將客戶端連接到互聯(lián)網(wǎng)的路由器上,以及用戶的互聯(lián)網(wǎng)服務(wù)提供商(ISP)的服務(wù)器上。有了這么多的緩存,實際上對 DNS 名稱服務(wù)器的查詢數(shù)量比看起來要少很多。

如何找到我的 DNS 服務(wù)器?

一般來說,當(dāng)你連接到互聯(lián)網(wǎng)時,你使用的 DNS 服務(wù)器將由你的網(wǎng)絡(luò)提供商自動建立。如果你想看看哪些服務(wù)器是你的主要名稱服務(wù)器(一般是遞歸解析器,如上所述),有一些網(wǎng)絡(luò)實用程序可以提供關(guān)于你當(dāng)前網(wǎng)絡(luò)連接的信息。 Browserleaks.com 是一個很好的工具,它提供了很多信息,包括你當(dāng)前的 DNS 服務(wù)器。

我可以使用 8.8.8.8 的 DNS 嗎?

但要記住,雖然你的 ISP 會設(shè)置一個默認(rèn)的 DNS 服務(wù)器,但你沒有義務(wù)使用它。有些用戶可能有理由避開他們 ISP 的 DNS —— 例如,有些 ISP 使用他們的 DNS 服務(wù)器將不存在的地址的請求重定向到 帶有廣告的網(wǎng)頁 。

如果你想要一個替代方案,你可以將你的計算機指向一個公共 DNS 服務(wù)器,以它作為一個遞歸解析器。最著名的公共 DNS 服務(wù)器之一是谷歌的,它的 IP 地址是 8.8.8.8 和 8.8.4.4。Google 的 DNS 服務(wù)往往是 快速的 ,雖然對 Google 提供免費服務(wù)的別有用心的動機 有一定的質(zhì)疑,但他們無法真正從你那里獲得比他們從 Chrome 瀏覽器中獲得的更多信息。Google 有一個頁面,詳細(xì)說明了如何 配置你的電腦或路由器 連接到 Google 的 DNS。

DNS 如何提高效率

DNS 的組織結(jié)構(gòu)有助于保持事情的快速和順利運行。為了說明這一點,讓我們假設(shè)你想訪問 linux.cn 。

如上所述,對 IP 地址的初始請求是向遞歸解析器提出的。遞歸解析器知道它需要請求哪些其他 DNS 服務(wù)器來解析一個網(wǎng)站( linux.cn )的名稱與其 IP 地址。這種搜索會傳遞至根服務(wù)器,它知道所有頂級域名的信息,如 .com、.net、.org 以及所有國家域名,如 .cn(中國)和 .uk(英國)。根服務(wù)器位于世界各地,所以系統(tǒng)通常會將你引導(dǎo)到地理上最近的一個服務(wù)器。

一旦請求到達(dá)正確的根服務(wù)器,它就會進入一個頂級域名(TLD)名稱服務(wù)器,該服務(wù)器存儲二級域名的信息,即在你寫在 .com、.org、.net 之前的單詞(例如, linux.cn 的信息是 “l(fā)inux”)。然后,請求進入域名服務(wù)器,域名服務(wù)器掌握著網(wǎng)站的信息和 IP 地址。一旦 IP 地址被找到,它就會被發(fā)回給客戶端,客戶端現(xiàn)在可以用它來訪問網(wǎng)站。所有這一切都只需要幾毫秒的時間。

因為 DNS 在過去的 30 多年里一直在工作,所以大多數(shù)人都認(rèn)為它是理所當(dāng)然的。在構(gòu)建系統(tǒng)的時候也沒有考慮到安全問題,所以 黑客們充分利用了這一點 ,制造了各種各樣的攻擊。

DNS 反射攻擊

DNS 反射攻擊可以用 DNS 解析器服務(wù)器的大量信息淹沒受害者。攻擊者使用偽裝成受害者的 IP 地址來向他們能找到的所有開放的 DNS 解析器請求大量的 DNS 數(shù)據(jù)。當(dāng)解析器響應(yīng)時,受害者會收到大量未請求的 DNS 數(shù)據(jù),使其不堪重負(fù)。

DNS 緩存投毒

DNS 緩存投毒 可將用戶轉(zhuǎn)移到惡意網(wǎng)站。攻擊者設(shè)法在 DNS 中插入虛假的地址記錄,這樣,當(dāng)潛在的受害者請求解析其中一個中毒網(wǎng)站的地址時,DNS 就會以另一個由攻擊者控制的網(wǎng)站的 IP 地址作出回應(yīng)。一旦訪問了這些假網(wǎng)站,受害者可能會被欺騙,泄露密碼或下載了惡意軟件。

DNS 資源耗盡

DNS 資源耗盡 攻擊可以堵塞 ISP 的 DNS 基礎(chǔ)設(shè)施,阻止 ISP 的客戶訪問互聯(lián)網(wǎng)上的網(wǎng)站。攻擊者注冊一個域名,并通過將受害者的名稱服務(wù)器作為域名的權(quán)威服務(wù)器來實現(xiàn)這種攻擊。因此,如果遞歸解析器不能提供與網(wǎng)站名稱相關(guān)的 IP 地址,就會詢問受害者的名稱服務(wù)器。攻擊者會對自己注冊的域名產(chǎn)生大量的請求,并查詢不存在的子域名,這就會導(dǎo)致大量的解析請求發(fā)送到受害者的名稱服務(wù)器,使其不堪重負(fù)。

什么是 DNSSec?

DNS 安全擴展是為了使參與 DNS 查詢的各級服務(wù)器之間的通信更加安全。它是由負(fù)責(zé) DNS 系統(tǒng)的 互聯(lián)網(wǎng)名稱與數(shù)字地址分配機構(gòu)(Internet Corporation for Assigned Names and Numbers)(ICANN)設(shè)計的。

ICANN 意識到 DNS 頂級、二級和三級目錄服務(wù)器之間的通信存在弱點,可能會讓攻擊者劫持查詢。這將允許攻擊者用惡意網(wǎng)站的 IP 地址來響應(yīng)合法網(wǎng)站的查詢請求。這些網(wǎng)站可能會向用戶上傳惡意軟件,或者進行網(wǎng)絡(luò)釣魚和網(wǎng)絡(luò)欺騙攻擊。

DNSSec 將通過讓每一級 DNS 服務(wù)器對其請求進行數(shù)字簽名來解決這個問題,這就保證了終端用戶發(fā)送進來的請求不會被攻擊者利用。這就建立了一個信任鏈,這樣在查詢的每一步,請求的完整性都會得到驗證。

此外,DNSSec 可以確定域名是否存在,如果不存在,它就不會讓該欺詐性域名交付給尋求域名解析的無辜請求者。

隨著越來越多的域名被創(chuàng)建,越來越多的設(shè)備繼續(xù)通過物聯(lián)網(wǎng)設(shè)備和其他“智能”系統(tǒng)加入網(wǎng)絡(luò),隨著 更多的網(wǎng)站遷移到 IPv6 ,將需要維持一個健康的 DNS 生態(tài)系統(tǒng)。大數(shù)據(jù)和分析的增長也 帶來了對 DNS 管理的更大需求 。

SIGRed:蠕蟲病毒 DNS 漏洞再次出現(xiàn)

最近,隨著 Windows DNS 服務(wù)器缺陷的發(fā)現(xiàn),全世界都看到了 DNS 中的弱點可能造成的混亂。這個潛在的安全漏洞被稱為 SIGRed, 它需要一個復(fù)雜的攻擊鏈 ,但利用未打補丁的 Windows DNS 服務(wù)器,有可能在客戶端安裝和執(zhí)行任意惡意代碼。而且該漏洞是“可蠕蟲傳播”的,這意味著它可以在沒有人為干預(yù)的情況下從計算機傳播到計算機。該漏洞被認(rèn)為足夠令人震驚,以至于美國聯(lián)邦機構(gòu) 被要求他們在幾天時間內(nèi)安裝補丁 。

DNS over HTTPS:新的隱私格局

截至本報告撰寫之時,DNS 正處于其歷史上最大的一次轉(zhuǎn)變的邊緣。谷歌和 Mozilla 共同控制著瀏覽器市場的大部分份額,他們正在鼓勵向 DNS over HTTPS (DoH)的方向發(fā)展,在這種情況下,DNS 請求將被已經(jīng)保護了大多數(shù) Web 流量的 HTTPS 協(xié)議加密。在 Chrome 的實現(xiàn)中,瀏覽器會檢查 DNS 服務(wù)器是否支持 DoH,如果不支持,則會將 DNS 請求重新路由到谷歌的 8.8.8.8。

這是一個并非沒有爭議的舉動。早在上世紀(jì) 80 年代就在 DNS 協(xié)議上做了大量早期工作的 Paul Vixie 稱此舉對安全來說是“ 災(zāi)難 ”:例如,企業(yè) IT 部門將更難監(jiān)控或引導(dǎo)穿越其網(wǎng)絡(luò)的 DoH 流量。不過,Chrome 瀏覽器是無所不在的,DoH 不久就會被默認(rèn)打開,所以讓我們拭目以待。
責(zé)編AJX

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 網(wǎng)絡(luò)
    +關(guān)注

    關(guān)注

    14

    文章

    7445

    瀏覽量

    88449
  • DNS
    DNS
    +關(guān)注

    關(guān)注

    0

    文章

    214

    瀏覽量

    19751
  • ip地址
    +關(guān)注

    關(guān)注

    0

    文章

    290

    瀏覽量

    16966
收藏 人收藏

    評論

    相關(guān)推薦

    什么是域名DNS

    什么是域名DNS為什么要注冊DNS呢,申請了DNS后,客戶可以自己為域名作解析,或增設(shè)子域名.客
    發(fā)表于 07-19 00:13

    什么是域名DNS

       為什么要注冊DNS呢,申請了DNS后,客戶可以自己為域名作解析,或增設(shè)子域名.客戶申請DNS時,建議客戶
    發(fā)表于 11-22 00:39

    第27章 DNS域名系統(tǒng)基礎(chǔ)知識

    轉(zhuǎn)最新網(wǎng)絡(luò)教程本章節(jié)為大家講解DNS(Domain Name System,域名系統(tǒng)),通過前面章節(jié)對TCP和UDP的學(xué)習(xí),需要大家對DNS也有個基礎(chǔ)的認(rèn)識。(本章的知識點主要整理自網(wǎng)
    發(fā)表于 11-23 15:50

    使用JavaScript代碼在Rapid板子上實現(xiàn)DNS解析域名得到IP地址操作分享!

    DNS(Domain Name System,域名系統(tǒng)),因特網(wǎng)上作為域名和IP地址相互映射的個分布式數(shù)據(jù)庫,能夠使用戶更方便的訪問互聯(lián)網(wǎng),而不用去記住能夠被機器直接讀取的IP數(shù)串。
    發(fā)表于 08-15 04:17

    什么是DNS

    什么是DNS  英文縮寫: DNS 中文譯名: 域名系統(tǒng) 分  類: IP與多媒體 解  釋: 遍布于因特網(wǎng)的數(shù)據(jù)庫。它
    發(fā)表于 02-22 17:25 ?1080次閱讀

    解讀DNS服務(wù)器以及保護的方法

    本文主要介紹了解讀DNS服務(wù)器以及保護的方法,DNS服務(wù)器可以認(rèn)為是種軟件,可以認(rèn)為是種管理域名
    發(fā)表于 01-14 09:21 ?2521次閱讀
    <b class='flag-5'>解讀</b><b class='flag-5'>DNS</b>服務(wù)器以及保護的方法

    DNS域名系統(tǒng)介紹

    DNS的全稱是Domain Name System。它負(fù)責(zé)把FQDN(就是以“?!狈指艚Y(jié)尾的名字)翻譯成個IP。最初的DNS系統(tǒng)使用的是
    的頭像 發(fā)表于 01-15 17:38 ?6841次閱讀

    基于個建立在以太坊智能合約上的ENS域名系統(tǒng)介紹

    ENS 是個可讀的、去中心化且安全的域名系統(tǒng),本身是個建立在以太坊上的智能合約,同時也是個 dApp,即可以用于以太坊及其他區(qū)塊鏈的
    發(fā)表于 10-24 10:37 ?2197次閱讀

    了解DNS工作原理,了解域名的管理機制

    而每個根DNSDNS報文中都要占用定的字節(jié)數(shù),比如根的名稱、TTL、IP地址等。這樣,13個根域名服務(wù)器基本上就把空間占差不多了,剩余
    的頭像 發(fā)表于 09-03 10:43 ?4856次閱讀

    域名系統(tǒng)DNS的概念和設(shè)施詳細(xì)說明

    本RFC是對域名系統(tǒng)DNS)的介紹,它省略了許多可以在RFC中找到的細(xì)節(jié),“域名-實現(xiàn)和規(guī)范”〔RFC-1035〕。RFC假設(shè)讀者熟悉本備忘錄中討論的概念。DNS函數(shù)和數(shù)據(jù)類型的子集
    發(fā)表于 11-23 08:00 ?0次下載
    <b class='flag-5'>域名系統(tǒng)</b><b class='flag-5'>DNS</b>的概念和設(shè)施詳細(xì)說明

    DNS服務(wù)器和DNS服務(wù)器地址是什么

    域名系統(tǒng),屬于種組織成域?qū)哟谓Y(jié)構(gòu)的計算機和網(wǎng)絡(luò)服務(wù)器命名系統(tǒng)。域名系統(tǒng)主要用于分配域名地址、IP地址給互聯(lián)網(wǎng)中的主機,
    的頭像 發(fā)表于 03-30 15:57 ?8600次閱讀

    虹科分享 | 作為域名系統(tǒng)的SPoF

    認(rèn)為設(shè)計有缺陷。這就把我們帶到了SPoF,即域名系統(tǒng)(域名系統(tǒng))。域名系統(tǒng)是IP地址和人類可讀的網(wǎng)站名稱和域名的電話簿。例如,在撰寫本文時,www.faceboo
    的頭像 發(fā)表于 02-09 14:54 ?533次閱讀
    虹科分享 | 作為<b class='flag-5'>域名系統(tǒng)</b>的SPoF

    dns的服務(wù)器地址設(shè)置為多少

    DNS域名系統(tǒng))是互聯(lián)網(wǎng)的基礎(chǔ)設(shè)施之,用于將域名轉(zhuǎn)換為IP地址,使用戶可以訪問網(wǎng)絡(luò)資源。要設(shè)置DNS服務(wù)器地址,首先需要理解
    的頭像 發(fā)表于 01-15 11:11 ?1528次閱讀

    了解常見DNS問題

    當(dāng)企業(yè)的DNS出現(xiàn)故障時,為不影響企業(yè)的正常運行,團隊需要能夠快速確定問題的性質(zhì)和范圍。那么有哪些常見的DNS問題呢? 域名解析失敗 : 當(dāng)您輸入
    的頭像 發(fā)表于 07-05 15:49 ?217次閱讀

    DNS的結(jié)構(gòu)和工作原理

    DNS 代表域名系統(tǒng)域名服務(wù)器。DNS 將IP 地址解析為主機名,反之亦然。
    的頭像 發(fā)表于 08-05 15:23 ?303次閱讀
    <b class='flag-5'>DNS</b>的結(jié)構(gòu)和<b class='flag-5'>工作原理</b>