
我在 OPNsense 上運行 BIND 作為內部 DNS 區域的從屬伺服器。
我注意到,如果該區域的主站發生故障,從站將在第一次失敗的更新嘗試後停止應答該區域的請求(以 SRVFAIL 回應)。
背後的設計原因可能是為了避免在無法到達主設備時從從設備發出過時的數據。 (畢竟,主伺服器可能還好,只是從伺服器的網路連線失敗了。)但是,如果主伺服器當機並且無法及時恢復,這對於恢復能力來說是個壞消息。
是否有一個設定可以告訴 BIND 始終為從屬區域提供最後已知的信息,無論主伺服器無法訪問多久,甚至冒著返回過時資料的風險?
如果是這樣,是否可以透過 OPNsense Web GUI 以某種方式存取(即引擎蓋下沒有不受支援的戳)?
答案1
沒有針對此的全域 BIND 選項1。相當,SOA 記錄的第 6 個字段告訴輔助伺服器在更新失敗後可以為過時的區域副本提供服務多長時間。
@ SOA <mserver> <rperson> <serial> <refresh> <retry> <expire> <minttl>
聽起來您的區域的到期時間設定為與刷新間隔相同的值 - 您需要將其增加到左右1w
(例如SOA ns1 hostmaster 1897 4h 1h 1w 30m
)。
1您可能會在較新的 BIND 版本中找到全域選項,用於從快取提供資料的遞歸解析器,而不是用於權威伺服器。