我有一個 DNS 伺服器已啟動並正在運行,其中為我的網域配置了一個區域,並allow-update
啟用了該指令。我在文件中有網域的初始配置,/var/cache/bind/db.mydomain.com
該文件有一行包含$INCLUDE db.aux.mydomain.com
從此文件載入記錄的指令。
當我使用以下命令更新區域時,問題就出現了,因為綁定透過刪除行並將內容直接放入檔案中來nsupdate
重寫檔案。db.mydomain.com
$INCLUDE
db.aux.mydomain.com
db.mydomain.com
我怎樣才能防止這種情況發生?
答案1
我認為你無法避免這一點。
當您為區域啟用動態更新時,您實際上是將要綁定的區域文件內容的控制權交給了您。您不再被允許直接在文件中進行更改,並且綁定將需要在更新後重寫它。
至於$INCLUDE
在這種情況下,如果要保留 include 語句,bind 會做什麼?
進行更新時是否需要根據需要修改所有引用的文件?
如果從多個區域引用某些包含檔案怎麼辦?
如果新增一筆記錄怎麼辦foo.aux.mydomain.com
? Bind 不知道檔案名稱對您意味著什麼,它不知道在該檔案中專門新增條目。
如果動態更新不應該應用於該子網域,則更好的選擇實際上可能是委託並將其作為單獨的區域。