什麼是CNAME 記錄?概念、運作方式、DNAME 記錄、ANAME 記錄
網路百科全書中CNAME記錄的定義。
什麼是 CNAME 記錄?
CNAME 記錄代表規範名稱記錄,是 DNS 伺服器資料庫或區域檔案中的網域名稱系統 (DNS) 資源記錄。CNAME 記錄可用來將別名對映至伺服器的標準名稱 (真名)。CNAME 記錄可讓您使用多個名稱來參照網路上的單一主機。
在 Windows Server 中建立 CNAME 記錄 (使用 DNS 管理員)
如果解析器查詢名稱伺服器以查閱主機,且查詢的名稱是 CNAME 記錄中的別名,則名稱伺服器會將別名取代為所查閱主機的標準名稱,然後查閱標準名稱的位址。
CNAME 記錄範例
以下是 Microsoft.com 網際網路網域中名為server12的主機的位址記錄。此記錄的 IP 位址為 172.16.8.5,後面接著 CNAME 記錄,指出名稱 bobby(或完整網域名稱 bobby.Microsoft.com)是相同主機的別名:
server12.Microsoft.com IN A 172.16.8.55 bobby IN CNAME server12
DNAME 記錄
DNAME 記錄或委派名稱記錄由 RFC 6672 定義 (原始 RFC 2672 現已過時)。DNAME 記錄會為網域名稱樹的整個子樹狀結構建立別名。相反地,CNAME 記錄會為單一名稱建立別名,而不是其子網域。與 CNAME 記錄一樣,DNS 查閱將繼續使用新名稱重試查閱。名稱伺服器會合成 CNAME 記錄,以實際將 DNAME 記錄套用至所要求的名稱 - 子樹狀結構上每個節點的 CNAME 與整個子樹上的 DNAME 具有相同的效果。
例如,如果有一個 DNS 區域,如下所示:
foo.example.com. DNAME bar.example.com. bar.example.com. A 192.0.2.23 xyzzy.bar.example.com. A 192.0.2.24 *.bar.example.com. A 192.0.2.25
foo.example.com 的 A 記錄查閱不會傳回任何資料,因為 DNAME 不是 CNAME,而且 foo 上沒有直接的 A 記錄。
但是,查找 xyzzy。foo.example.com 將被 DNAME 映射並返回 xyzzy 的 A 記錄。bar.example.com,即 192.0.2.24;如果 DNAME 記錄是 CNAME 記錄,則此要求會傳回找不到名稱。
最後,foobar.foo.example.com 要求會對應 DNAME 並傳回 192.0.2.25。
ANAME 記錄
數個受管理的 DNS 平台會實作非標準 ALIAS 或 ANAME 記錄類型。這些虛擬記錄由 DNS 系統管理員管理,例如 CNAME 記錄,但會由 (某些) DNS 用戶端 (例如 A 記錄) 發佈和解析。ANAME 記錄通常設定為指向另一個網域,但當用戶端查詢時,請使用 IP 位址來回答。
ANAME 記錄類型正在進行標準化,但可能存在許多不合規的實作,因此它們可以執行 DNS 平台擁有者選擇的任何操作,包括存在於區域的頂點,以及接收郵件的網域存在。與 CNAME 記錄相比,ANAME 記錄的一個可能優勢是速度;DNS 用戶端至少需要兩個查詢才能將 CNAME 解析為 IP 位址的 A 記錄,而只需要一個查詢即可將 ANAME 解析為 IP 位址。
假設 DNS 伺服器可以解析 A 記錄,並快取所要求的 IP 位址,而且比其 DNS 用戶端更有效率且延遲更少。ANAME 記錄類型目前是 IETF 正在考慮的標準草案。