Networking

了解dig客戶端返回的PTR記錄的TTL欄位

  • February 19, 2020

總的來說,我對 DNS 的工作有些懷疑——即使我有理論基礎。讓我們考慮以下輸出:

[user@host ~]$ dig google.com
[...]
;; ANSWER SECTION:
google.com.     102 IN  A   172.217.3.174

[user@host ~]$ dig -x 172.217.3.174
[...]
;; ANSWER SECTION:
174.3.217.172.in-addr.arpa. 17514 IN    PTR sea15s11-in-f14.1e100.net.
174.3.217.172.in-addr.arpa. 17514 IN    PTR sea15s11-in-f174.1e100.net.

[user@host ~]$ dig -x 172.217.3.174
[...]
;; ANSWER SECTION:
174.3.217.172.in-addr.arpa. 299 IN  PTR sea15s11-in-f14.1e100.net.
174.3.217.172.in-addr.arpa. 299 IN  PTR sea15s11-in-f174.1e100.net.

[user@host ~]$ dig -x 172.217.3.174
[...]
;; ANSWER SECTION:
174.3.217.172.in-addr.arpa. 299 IN  PTR sea15s11-in-f14.1e100.net.
174.3.217.172.in-addr.arpa. 299 IN  PTR sea15s11-in-f174.1e100.net.

[user@host ~]$ dig -x 172.217.3.174
[...]
;; ANSWER SECTION:
174.3.217.172.in-addr.arpa. 298 IN  PTR sea15s11-in-f14.1e100.net.
174.3.217.172.in-addr.arpa. 298 IN  PTR sea15s11-in-f174.1e100.net.

[user@host ~]$ dig -x 172.217.3.174
[...]
;; ANSWER SECTION:
174.3.217.172.in-addr.arpa. 297 IN  PTR sea15s11-in-f14.1e100.net.
174.3.217.172.in-addr.arpa. 297 IN  PTR sea15s11-in-f174.1e100.net.

TTL欄位到底是什麼意思?

在第一個答案中是:17514,進一步的 299、298…

我知道定義,類似於:客戶端應在記憶體中保留答案多長時間(限制對 DNS 的查詢)

但是,

  1. 它只與應用程序客戶端有關嗎?畢竟,linux 不記憶體 DNS 答案,所以這個欄位無關緊要。

  2. 它是否也與輔助 DNS 伺服器有關(換句話說,要為該特定記錄保留來自主 DNS 的資訊多長時間?)?在 master 中刷新 SOA 欄位呢?

  3. 越來越小是怎麼回事?誰對此負責?我的客戶端(在 RHat 上探勘)或 DNS 伺服器?權威還是奴隸?/etc/resolv.conf?

順便說一句:我認為 master 和 Authorative 與 slave=secondary=non-Authorative 相同

  1. 大多數客戶端會記憶體 DNS 響應,大多數 Linux 發行版預設情況下不會記憶體,但也可以安裝軟體來執行此操作。
  2. 是的,大多數 DNS 伺服器會記憶體它們不具有權威性的域的響應。這是按記錄完成的。另一方面,授權開始 (SOA) 刷新間隔適用於 DNS 集群,其中主伺服器保留區域的主副本,而 SOA 記錄刷新間隔設置從屬伺服器應多久請求一次整個區域的副本從主伺服器。
  3. 通常是客戶端保留它已經收到的記錄的記憶體,並在記錄過期時清除它們。鏈中的所有非權威伺服器對記憶體響應執行相同的操作。Linux 預設情況下不會這樣做,因此您看到的答案來自一些上游非權威 DNS 伺服器。

Authoritative/Non-Authoritative 與 DNS 中的 Master/Slave 的含義不同。權威 DNS 伺服器是將特定區域發佈到全球 DNS 其餘部分的伺服器。非權威 DNS 伺服器是不負責特定區域的伺服器,但恰好擁有該區域的記錄副本。DNS 伺服器可以對一個區域(稱為 abc.com)具有權威性,但對另一個區域(例如 bcd.com)也可以是非權威性的。

Master和Slave DNS伺服器與集群相關。在 DNS 伺服器集群中,一台伺服器是主伺服器,並保留該集群對其具有權威性的所有區域的主副本。然後,從伺服器輪詢主伺服器以獲取區域的副本,然後作為該區域的權威 DNS 伺服器進行響應。這樣一來,所有更改都只對主伺服器完成並複製到從伺服器。通常從伺服器是唯一響應外部 DNS 查詢的伺服器,而主伺服器只是與從伺服器對話。

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