Linux
強制探勘解決而不使用記憶體
我想知道是否有辦法查詢 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
是您可以看到沿路徑發出的所有單獨請求。