了解 DNS:網際網路的目錄服務

網域名稱系統 (DNS) 是您每天與之互動的網路的重要組成部分,您甚至常常沒有意識到這一點。該系統將www.example.com等人類友善的網域轉換為192.0.2.1等電腦用來相互通訊的 IP 位址。將 DNS 視為網際網路的電話簿,可協助您輕鬆連線至網站和服務。在本部落格中,我們將探討 DNS 是什麼、它如何運作以及為什麼它如此重要。我們也將透過範例和配置深入探討一些技術細節。

目錄

  1. 什麼是 DNS?

  2. DNS 的工作原理

  1. DNS 記錄

  2. 設定 DNS

  1. 安全考慮

  2. 結論

1.什麼是DNS?

DNS 代表網域名稱系統。它是一個分層、分散的系統,用於將網域轉換為 IP 位址。 DNS 允許您使用易於記憶的網域名稱而不是複雜的數位 IP 位址,從而使網路變得用戶友好。

DNS 的結構如何

DNS 依層級結構組織:

  1. 根級:最頂層,包含儲存有關頂級域 (TLD) 資訊的根伺服器。

  2. 頂級網域名稱 (TLD) :包括熟悉的擴展名,如.com.org.net ,以及特定國家/地區的 TLD,如.uk.jp

  3. 二級域名:直接位於 TLD 下的域名,例如example.com中的example

  4. 子網域:其他細分,例如www.example.com中的www

2. DNS 的工作原理

當您在瀏覽器中輸入 URL 時,DNS 會將該 URL 轉換為 IP 位址,以便您的電腦可以存取網站。此過程涉及多個步驟和不同類型的 DNS 伺服器。

DNS解析過程

  1. DNS 查詢啟動:您在瀏覽器中輸入 URL,瀏覽器會將 DNS 查詢傳送至本機 DNS 解析器。

  2. 查詢遞歸解析器:本機 DNS 解析器(通常由 ISP 提供)檢查其快取中的 IP 位址。如果沒有找到,它會查詢遞歸解析器。

  3. 遞歸查詢:遞歸解析器依序查詢根伺服器、TLD 伺服器和權威 DNS 伺服器來尋找 IP 位址。

  4. 回應:找到 IP 位址後,它會返回本機 DNS 解析器,然後解析器將其發送到您的瀏覽器,從而允許存取該網站。

DNS 伺服器的類型

  • 根名稱伺服器:DNS 轉換過程的第一站,處理 TLD 請求。

  • TLD 名稱伺服器:儲存有關特定 TLD 內的網域的資訊。

  • 權威名稱伺服器:對其管理的網域的查詢提供回應。

3.DNS記錄

DNS 記錄儲存有關網域名稱及其對應 IP 位址的資訊。以下是一些常見的 DNS 記錄類型:

  • A 記錄:將網域名稱對應到 IPv4 位址。

  • AAAA 記錄:將網域名稱對應到 IPv6 位址。

  • CNAME記錄:將一個網域對應到另一個網域(規範名稱)。

  • MX 記錄:指定網域的郵件伺服器。

  • TXT 記錄:儲存文字訊息,通常用於驗證和電子郵件安全(例如 SPF、DKIM)。

例如,以下是example.com的一些 DNS 記錄:

example.com.   3600  IN  A     93.184.216.34
example.com.   3600  IN  AAAA  2606:2800:220:1:248:1893:25c8:1946
www.example.com. 3600  IN  CNAME  example.com.
example.com.   3600  IN  MX    10 mail.example.com.
example.com.   3600  IN  TXT   "v=spf1 include:_spf.example.com ~all"

4. 設定 DNS

為您的網域設定 DNS 涉及配置 DNS 記錄並確保您的 DNS 伺服器可以正確處理查詢。

DNS 設定檔

在類別 Unix 系統上,DNS 配置通常可以在/etc/named.conf中找到(對於 BIND,一種流行的 DNS 伺服器軟體)。這是一個基本範例:

options {
    directory "/var/named";
    forwarders {
        8.8.8.8;  // Google DNS
        8.8.4.4;  // Google DNS
    };
};

zone "example.com" IN {
    type master;
    file "example.com.zone";
};

zone "." IN {
    type hint;
    file "named.ca";
};

example.com.zone檔案可能如下所示:

$TTL 86400
@    IN  SOA  ns1.example.com. admin.example.com. (
        2024010101 ; Serial
        3600       ; Refresh
        1800       ; Retry
        1209600    ; Expire
        86400 )    ; Minimum TTL
@    IN  NS   ns1.example.com.
@    IN  NS   ns2.example.com.
@    IN  A    93.184.216.34
@    IN  AAAA 2606:2800:220:1:248:1893:25c8:1946
www  IN  CNAME example.com.
mail IN  MX   10 mail.example.com.

DNS 查詢範例

若要查詢 DNS 記錄,您可以使用dignslookup等工具。這是使用dig範例:

dig example.com

此命令輸出如下內容:

; <<>> DiG 9.16.1-Ubuntu <<>> example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12345
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3

;; QUESTION SECTION:
;example.com.                  IN      A

;; ANSWER SECTION:
example.com.           3600    IN      A       93.184.216.34

;; AUTHORITY SECTION:
example.com.           3600    IN      NS      ns1.example.com.
example.com.           3600    IN      NS      ns2.example.com.

;; ADDITIONAL SECTION:
ns1.example.com.       3600    IN      A       192.0.2.1
ns2.example.com.       3600    IN      A       192.0.2.2

;; Query time: 54 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Wed Jun 15 16:20:55 UTC 2024
;; MSG SIZE  rcvd: 117

5. 安全考慮

DNS 對於網路功能至關重要,因此成為各種攻擊的目標。主要安全考量包括:

  • DNS 快取中毒:攻擊者將損壞的 DNS 資料引入解析器的快取中,將流量重新導向到惡意網站。

  • DNSSEC :DNS 安全性擴充功能會向 DNS 資料新增加密簽名,確保資料完整性和真實性。

  • DDoS 攻擊:分散式阻斷服務攻擊可能會導致 DNS 伺服器的流量不堪重負,導致 DNS 解析緩慢或無法解析。

六,結論

域名系統是一項重要的技術,它使網路變得易於存取且用戶友好。透過將網域轉換為 IP 位址,DNS 可以實現無縫瀏覽和通訊。了解 DNS 的工作原理、結構和配置對於 Web 開發人員、網路管理員和網路安全專業人員至關重要。

我們已經介紹了 DNS 的基礎知識,包括其層次結構、解析過程和各種記錄類型。我們也研究了 DNS 的設定和一些重要的安全注意事項。有了這些知識,您就可以更深入地研究 DNS 並將其應用到您的專案和網路中。


原文出處:https://dev.to/iaadidev/the-basics-of-dns-understanding-the-internets-directory-service-34l2


共有 0 則留言