Domain-Name-System
列出動態添加的 DNS 記錄
我不知道如何列出動態添加的 DNS 記錄。假設我添加了這樣的記錄:
~$ nsupdate > update add test.domain.com 3600 A 1.2.3.4 > send
在此之後,我可以使用以下命令查找子域 test.domain.com:
~$ dig test.domain.com
我得到了正確的資訊。但是這個條目不像手動添加的記錄那樣顯示在區域文件中。
如果我在任何地方都看不到它們,我如何知道動態添加了哪些記錄?
使用綁定 9.10.3
我很抱歉逐字引用手冊,但他們可能是比我更好的作家https://ftp.isc.org/www/bind/arm95/Bv9ARM.ch04.html
簡而言之:當允許動態更新時,區域文件並不是絕對的。
使用動態更新對區域所做的所有更改都儲存在區域的日誌文件中。該文件在第一次動態更新發生時由伺服器自動創建。日誌文件的名稱是通過將擴展
.jnl
名附加到相應區域文件的名稱來形成的,除非特別被覆蓋。日誌文件為二進制格式,不應手動編輯。伺服器偶爾也會將更新區域的完整內容寫入(“轉儲”)到其區域文件中。這不會在每次動態更新後立即完成,因為當頻繁更新大區域時,這會太慢。相反,轉儲最多延遲 15 分鐘,從而允許進行其他更新。
….
動態區域的區域文件通常不能手動編輯,因為它們不能保證包含最新的動態更改——這些僅在日誌文件中。確保動態區域的區域文件是最新的唯一方法是執行
rndc stop
.如果您必須手動更改動態區域,以下過程將起作用: 使用 禁用對區域的動態更新
rndc freeze zone
。這也將刪除區域的 .jnl 文件並更新主文件。編輯區域文件。執行rndc thaw zone
以重新載入更改的區域並重新啟用動態更新。