Networking
為所有網站獲取相同的 DNS TTL 值
我正在使用 dig 實用程序獲取本地 DNS 上網站的 TTL 值,它始終顯示所有網站的相同值 5s。可能是什麼原因?如何獲取原始 DNS TTL 值?我做得對嗎?
此外,使用 google 的主/從 DNS 伺服器名稱執行命令會得到 5m,而對於其他一些人,我根本沒有得到任何結果。
我認為在 5s 的情況下,它只是一個記憶體值,而 5m 是原始值。但我不明白為什麼它對所有網站都顯示相同的值。
- 所有網站的 TTL 均為 5 秒的原因是什麼?
您的本地 DNS 伺服器(可能在您的路由器內)似乎正在操縱 DNS 數據,原因不明。
- 如何獲得原始 TTL 值?
您自己已經回答了這個問題:通過使用良好的 DNS 伺服器而不是操縱性的伺服器。
- 使用 google 的主/從 DNS 伺服器名稱執行命令會得到 5m,而對於其他一些我根本沒有得到任何結果。
DNS 伺服器可以以兩種角色執行:
- 權威的DNS伺服器將充當一個或多個域的資訊源,並將忽略任何與這些域無關的請求。對於任何可公開訪問的 DNS 域,必須至少有兩個公共權威 DNS 伺服器。
ns1.google.com
是 Google 第一個公共權威 DNS 伺服器的常用名稱。- 解析DNS 伺服器將接受有關任何域的請求,並將根據需要向其他 DNS 伺服器發出進一步請求以找出答案。通常,解析 DNS 伺服器僅供所屬組織自己和/或其客戶使用,但也有許多公共 DNS 解析器,例如 Google 的 8.8.8.8 和 8.8.4.4 或 quad9.net 的 9.9.9.9 和 149.112.112.112,或 Cloudflare 的 1.1.1.1。
這兩個 DNS 角色(權威和解析)可以組合成一個 DNS 伺服器來完成這兩項工作,但目前的最佳做法是盡可能將它們分開。
如果您正在使用 DHCP 獲取目前的 DNS 伺服器配置,您可以嘗試使用一兩個上述公共解析器覆蓋 DHCP 分配的 DNS 伺服器。
或者,如果您目前的 DNS 伺服器 IP 地址是路由器的 IP,您可以檢查路由器的配置以找出路由器本身使用的 DNS 伺服器,然後直接將它們配置到您的系統(以繞過可能較差/可疑的 DNS 實施路由器)。路由器可能通過 DHCP 或您的 Internet 服務提供商的類似技術獲取其 DNS 設置,因此預設使用您的 ISP 的 DNS 伺服器。
您也可以嘗試僅重置路由器。如果這解決了問題,您的路由器上可能有一些影響 DNS 的惡意軟體。此類路由器惡意軟體可能是非持久性的,只需重置路由器即可清除它(直到它使用允許原始感染的相同漏洞重新感染)。如果是這種情況,您可能應該查看是否可以更新路由器的韌體以修復該漏洞。