Linux

強制探勘解決而不使用記憶體

  • January 14, 2021

我想知道是否有辦法查詢 DNS 伺服器並繞過記憶體(使用dig)。我經常更改 DNS 伺服器上的一個區域,我想檢查它是否從我的工作站正確解析。但是由於伺服器記憶體了已解析的請求,所以我經常得到舊的請求。重新啟動或載入伺服器並不是一件好事。

您可以使用@語法從特定伺服器查找域。如果 DNS 伺服器對該域具有權威性,則響應將不是記憶體結果。

dig @ns1.example.com example.com

您可以通過詢問NS域的記錄來找到權威伺服器:

dig example.com NS

DNS 協議中沒有強制名稱伺服器響應而不使用其記憶體的機制。Dig 本身不是名稱伺服器,它只是一個工具,可以使用標準 DNS 請求將您的查詢傳遞到您配置的任何名稱伺服器。DNS確實包含一種告訴伺服器不要使用遞歸的方法,但這不是您想要的。這僅在您想直接查詢權威名稱伺服器時才有用。

如果您想阻止名稱伺服器從其記憶體中響應,您只能通過更改名稱伺服器上的配置來做到這一點,但如果您不控制名稱伺服器,這是不可能的。

但是,您可以通過 dig繞過配置的名稱伺服器,並執行其自己的遞歸請求,該請求會返回到根伺服器。為此,請使用該+trace選項。

dig example.com +trace

實際上,由於這只會查詢權威伺服器而不是本地記憶體解析器,因此即使這些伺服器使用內部記憶體,結果也不會過時。使用的額外好處+trace是您可以看到沿路徑發出的所有單獨請求。

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