# 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 %}