Domain-Name-System

CNAME 記錄上的 TTL 是什麼意思?

  • October 3, 2016

由於我的網路中涉及到多少台伺服器,我很難讓它們保持井井有條。其中一些沒有靜態 IP,所以我認為如果我創建一個 config.mydomain.com 域可能會很好。在這個域上,我可以儲存 A 記錄和每個伺服器的 IP。這就是我的設置方式:

s1.config.mydomain.com.     A   10.0.0.1    #ttl 60
s2.config.mydomain.com.     A   10.0.0.2    #ttl 60
s3.config.mydomain.com.     A   10.0.0.3    #ttl 60
# etc

這些記錄中的每一個都有一個 60 的 TTL,以防我需要快速更改 IP,但我不一定希望客戶端每 60 秒連接一次更新。現在假設我設置了我的域以使用它們,如下所示:

mydomain.com.           CNAME   s2.config.mydomain.com.   #ttl 3600
mail.mydomain.com.      CNAME   s2.config.mydomain.com.   #ttl 10800
svn.mydomain.com.       CNAME   ns1.config.mydomain.com.  #ttl 21600

CNAMES 的 TTL 更高,所以假設我訪問 mydomain.com。它向我的 DNS 伺服器詢問 的 IP mydomain.com,我的伺服器返回CNAME s2.config.mydomain.com.然後它向我的伺服器詢問 IP 的 IP s2.config.mydomain.com,我的伺服器返回10.0.0.1

CNAME s2.config.mydomain.com它會將記錄記憶體 3600 秒,將記錄記憶體A 10.0.0.160 秒嗎?這意味著每 60 秒它仍會向我的伺服器詢問 IP 地址?

或者它會將 see CNAME s2.config.mydomain.com、 getA 10.0.0.1和 記憶體都記憶體 3600 秒。

如果是第一個,我可能不得不找到另一種方法來管理它們,所以我希望它是第二個,但我不確定。您知道跟踪它們的更好方法嗎?

根據ISC郵件列表上的這條消息,CNAME 及其指向的記錄通過解析名稱伺服器(理智解析名稱伺服器)進行記憶體,這樣做是為了讓解析器能夠優化客戶端的解析/記憶體過程。

因此,如果 CNAME TTL 有效但它指向的 A 無效,它只會重複查找指向的記錄,而不是原始 CNAME(直到 CNAME TTL 也向上)。

您所有的 CNAME 記錄將被記憶體最多 3600、10800 和 21600 秒。

A 記錄是獨立處理的,每 60 秒會再次查詢一次。

但是,如果 CNAME 過期,則應同時更新 A 記錄。

CNAME 記錄在 RFC 1912.mydomain.com 中有各種問題的解釋。不能是 CNAME,因為您使用了 SOA 和 NS 記錄:它是 com. 領域。

你的問題很老了。現在,一些 DNS 提供商沒有遵循 RFC,讓使用者將 CNAME 放入 SOA(他們稱之為 APEX 域)。同樣,使用風險自負。

最後但並非最不重要的一點是,當您的客戶要求 IPv6 記錄時,為您的 CNAME 設置更高的 TTL 值可能會有所幫助:AAAA。至少 CNAME 映射會保留在記憶體中,並且只會詢問兩次 IP 地址。

簡而言之:在 CNAME 上設置更高的 TTL 將減少客戶看到的響應的大小。它還應該幫助解析器伺服器。但是每秒的請求數應該大致相同。

引用自:https://serverfault.com/questions/260254