---
# System prepended metadata

title: DNS 名稱解析 基本概念
tags: [Resource Record, DNS, DNS Zone, Fully Qualified Domain Name, DQDN, DNS Domain, Namespace]

---

# DNS 名稱解析 基本概念
1. 用途：一種特殊用途，採階層結構、分區管理的資料庫系統，常用來：
    * 名稱解析出IP(**正向對應區域**)。
    * IP解析出名稱(**反向對應區域**)。
1. 還能利用DNS做以下動作：
    * 找到AD DC(網域控制站)通訊類別目錄伺服器(Name server)：這是登入AD DS時使用。
        * AD DS和 DNS 這兩個都是使用網域(domain)這個名詞。在AD DS中，網域(domains)是一種AD DS的邏輯架構，他是由物件(object)組合而成。 EX：使用者帳戶、群組帳戶、電腦帳戶、驗證服務、授權服務&其他身分驗證的服務等。
            * Active Directory 網域名稱要和擬定組態好的主機的主要DNS尾碼(primary DNS suffix)相符合。
        * DNS中，網域(domain)：構成整個DNS系統的階層結構中的級別(Level)。
    * 找到他們註冊在DNS中的網路服務的名稱。
## DNS 服務
* Fully Qualified Domain Name（FQDN） 是指一個完整的域名，從最具體的部分開始，一直到根域名（頂級域名）。FQDN 具體描述了網路中一個具體位置的主機或資源。
* DNS是將FQDNs和其他主機名稱解析出IP位址的服務。
* DNS Name Space是一種階層式命名架構，為每一個可以被識別相關連到根網域的網路節點，提供多層辨識。
## 在網際網路中 名稱是如何解析
* 可採取多條路徑，基本上取決於它是公有(public)還是私有(private)以及DNS基礎結構是如何被設計的。
* 在網際網路中有13台根伺服器(root service)負責管理DNS解析的整體基礎結構。
* 2種常見改變名稱解析流程：
    * 快取(Caching)：在本地DNS伺服器解析到一個DNS名稱之後，他便會快取這個結果長達將近24小時。後續對這個DNS名稱做名稱解析後的要求，都是從這個快取提供。同時它會根據在 DNS 區域中的 SOA 紀錄中所定義的存留時間(Time to live，TTL)之值來快取這結果一段時間。
    * 轉寄(Forwarding)：DNS伺服器可以組態去轉寄(forward)DNS要求給另一台DNS伺服器。EX：對所有網際網路的名稱解析要求，可以轉寄給網際網路提供者(Internet service provider，ISP)的DNS伺服器，它代替了請求的DNS伺服器執行名稱解析中的其餘部分，並傳回答案。這樣的優點是，本地DNS伺服器不需要在網際網路中的每一台DNS伺服器互相溝通。
## DNS 基礎結構元件
1. DNS 伺服器：
    * 包含主機名稱和IP位址的資料庫。
    * 回應客戶端的要求並提供所要求的對應資訊。
    * 當它沒有所需的對應資訊時，可以轉寄DNS的要求到另一台DNS伺服器。
3. DNS 區域(zone)：每一個區域是被分配給一台DNS伺服器所擁有，或可能是一個權威(authoritative)伺服器來處理部分區域的要求。
    * 正向對應區域(Forward lookup zones)：將主機名稱解析並查詢到IP位址，與擁有一些常用的資源紀錄。
    * 反向對應區域(Reverse lookup zones)：將IP位址解析回應出主機名稱，該區域不是經常有被組態，但系統管理人員應該組態他們用以減少錯誤與警告訊息。
5. DNS 解讀器(resolvers)：是用戶端服務常用的功能。
    * 提供查詢主機到IP位址的對應服務，也就是執行DNS用戶端服務(DNS clinet service)。
    * 將解析對應的快取放在本機用戶端快取中，以備將來使用，也稱DNS解析快取(DNS resolver cache)。
7. 資源紀錄(resource records)：在DNS資料庫中用來回答查詢的真實條目(Entries)。每一個條目包含幾個項目(Items)、名稱(Name)、紀錄型態(Record Type)和紀錄資料(Record Data)，以下是定義特殊的紀錄型態(Record Type)允許條目可以被分類且提供更快的查詢回應：
    * A：將主機名稱解析出IPv4地址。
    * AAAA：將主機名稱解析出IPv6地址。
    * CNAME：將一個名稱(別名Alias)解析出另一個完整格式名稱(fully qualified name)，如：將www解析成webserver1.microsoft.com。
    * SRV：用於找出提供特定服務的伺服器，如：網域控制站 AD。
    * PTR：用在反向對應區域中，將IP位址解析出完整格式主機名稱(fully qualified host name)。
## DNS 伺服器的類型
* 可分為三類：
    1. 主要名稱伺服器(Master Name Server)
        * 工作內容：在網路上提供名稱解析的資訊，並負責管理自己授權範圍下的所有資料更新，包含新增、修改、移除資料。資料
        * 特性：資料為正本。
    1. 次要名稱伺服器(Slave Name Server)
        * 工作內容：供主要名稱伺服器的備援使用，資料僅具唯讀。
        * 特性：
            * 備援，資料為副本。
            * 加快遠端查詢速度。
            * 負載平衡。
    1. 快取暫存伺服器(Caching Only Server)
        * 工作內容：只做查詢服務，不保管任何授權區域資料的快取名稱伺服器。
        * 特性：少見，只裝DNS角色卻不新增Zone。

---
以下內容均以 Windows Server 2016環境做設定
---

## Windows的主機名稱解析流程
1. Local Host Name (`hostname`)
2. Resolver Cache
3. Host Files
4. 附加DNS尾碼(suffix)欄位
5. DNS
## Windows Server Hosts的檔案路徑
* 路徑：C:\Windows\System32\drivers\etc
* 修改Hosts檔案
## DNS用戶端設定：DHCP Clinet設定
* 主要DNS尾碼的設定：對應 DHCP 015 DNS 網域名稱 
* 指定使用的DNS Server：對應 DHCP 006 伺服器 
    * 以上兩者設定結束後須重開機讓設定值生效。
    * 最後用`ipconfig /all`指令確認設定生效。
### 影片資源補充
* What is DNS? | How a DNS Server (Domain Name System) works | DNS Explained
{%youtube g6R9gRWIIK8 %}