Bind
BIND 9:rndc 重新載入沒有效果
我在 FreeBSD 10 上以監禁配置執行 BIND 9.10.2 埠,並且我遇到了一個問題,即
rndc reload
即使 SOA 序列已正確遞增,也無法獲取任何(主主)區域文件更改。命令本身似乎成功了:
#rndc reload server reload successful
在我看到的日誌中:
May 9 16:03:47 y named[81516]: all zones loaded May 9 16:03:47 y named[81516]: running
然而,只有重新啟動才能
named
獲取區域更新。
rndc zonestatus my_zone.com
列印舊序列號。所以 BIND 以某種方式無法重新讀取區域文件。我該如何調試呢?
如果這確實是動態更新的區域(
allow-update
/update-policy
指定),直接編輯區域文件是不安全的!在這樣的設置中,維護區域文件的是 BIND;緩沖日志文件 (
.jnl
) 中的更改並定期重寫區域文件本身。對區域數據的所有更改都應通過動態更新協議發生並由 BIND 管理,而不是通過對區域文件的直接更改。無論如何更改區域文件將導致不一致的行為,因為區域文件內容將與日誌內容和
named
.簡而言之,通常您使用動態更新(使案例如
nsupdate
或任何其他客戶端)對此類區域進行所有更改,但如果您出於某種原因絕對必須直接控制區域文件,您可以使用暫時暫停動態更新rndc freeze
,然後繼續使用rndc thaw
) . 暫停更新是一種相當侵入性的操作(任何更新都將失敗,並且更改歷史可能會被擦除,具體取決於ixfr-from-differences
),因此在正常操作期間您可能不應該這樣做。