資安基礎惡補 - 網路篇 - DNS

DNS


使命

將域名解析為 IP 地址。


解析流程

  • 客戶端查詢 (DNS Resolver)

    當輸入某個 Domain name 時,瀏覽器會向系統的本地 DNS Resolver 提出請求。

  • 本地 DNS 伺服器 (Recursive Resolver)

    本地 DNS 伺服器接收請求,並會根據是否有緩存決定要從哪邊拿資料。總共會有以下情況:

    • 有緩存:如果此前查詢過該域名,本地伺服器會直接返回緩存結果。

    • 無緩存:迭代查找。

  • Root Server

    在本地 DNS 伺服器請求 Root Server(如 .)後,Root Server 會告訴本地伺服器要查詢哪個頂級域名(TLD)伺服器。

  • TLD Server

    在本地 DNS 伺服器查詢 TLD Server(如 .com)後,TLD Server 會返回權威伺服器 - Authoritative Server(如 ns1.example.com)。

  • 權威伺服器 Authoritative Server

    權威伺服器返回域名對應的 IP 地址。

  • Client 端接收 IP

    本地 DNS 伺服器將結果返回給 Client 端,瀏覽器使用該 IP 地址與伺服器建立連接。

DNS 查找工具 - nslookup












我們可以使用 nslookup 來查詢 DNS 相關的訊息、域名與 IP 地址之間的對應關係。

從上方的資訊我們可以得知從非權威的 Server 中回傳了 domain name 和對應的 ipv4 address。

當然,如果想要使用公用的 google DNS 伺服器查詢 google.com 的位址,可以這麼做:











就會使用 Google 的公共 DNS 伺服器(8.8.8.8)查詢 google.com

不想用 DNS 可以怎麼做?


我們可以試著反向思考,假設我們不想使用 DNS Server,我們可以怎麼做呢?

1. 使用 Hosts 文件


以 MacOS / Linux 為例子,我們可以在 /etc/hosts 修改 IP 和域名的 mapping:




2. 自己輸入 IP

3. 使用靜態 IP 配置與 Nginx / Load Balancer

常見的 DNS Record

1. A
 
IPv4 地址記錄。 

2. AAAA 

IPv6 地址記錄。 

3. MX

郵件交換記錄,指定郵件伺服器的地址。 

4. CNAME 

別名記錄,將域名映射到另一個域名。 

5. NS

名稱伺服器記錄,指定域名的權威 DNS 伺服器。 (也就是哪台機器管理我們的 DNS 紀錄)

6. TXT 

文本記錄,存儲 SPF、DKIM 或其他驗證訊息。

7. SOA

記錄會保存與網域或區域相關的重要資訊,例如系統管理員的電子郵件地址、網域的最後更新時間,以及伺服器在兩次重新整理之間需要等待的時間。

8. SRV

記錄用於指定特定服務(例如 VoIP、即時訊息等)的主機和連接埠。

應用

在了解基礎的 DNS Records 後,假設讀者們有購買域名,管理 DNS 相關的紀錄就簡單啦!




這邊埋個伏筆,讓大家看一下設定 SRV Record 要填寫什麼:
 





留言

這個網誌中的熱門文章

SSL/TLS 協定知多少 - 基礎篇

About Me - 關於我的一切