CNAME 記錄上的 TTL 是什麼意思?
由於我的網路中涉及到多少台伺服器,我很難讓它們保持井井有條。其中一些沒有靜態 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 的 IPs2.config.mydomain.com
,我的伺服器返回10.0.0.1
。
CNAME s2.config.mydomain.com
它會將記錄記憶體 3600 秒,將記錄記憶體A 10.0.0.1
60 秒嗎?這意味著每 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 將減少客戶看到的響應的大小。它還應該幫助解析器伺服器。但是每秒的請求數應該大致相同。