進一步閱讀

進一步閱讀

我有一個使用 Bind 的公司 DNS 伺服器。
我有 3 台領事伺服器。 Consul 正在監聽本機主機連接埠 8660 的 DNS。在這些伺服器上,我還使用 DNSmasq 將 DNS 請求從公用 IP 連接埠 53 轉送到本機上的 Consul。

Consul的配置非常簡單。我剛剛啟動了 DNS 連接埠。當我在連接埠 8660 上檢查本機 DNS 時,它工作正常。

每個consul伺服器上DNSmasq的配置是:

server=/subdomain.example.com/127.0.0.1#8600
server=XX.XX.XX.XX (first ip of the corporate DNS)
server=XX.XX.XX.XX (second ip of the corporate DNS)
listen-address=XX.XX.XX.XX (ip of the server)

公司DNS的配置是:

zone "subdomain.example.com" {
    type forward;
    forward only;
    forwarders {
        XX.XX.XX.XX; (ip of the first consul)
        XX.XX.XX.XX; (ip of the second consul)
        XX.XX.XX.XX; (ip of the third consul)
    };
};

當從 consul 新增或刪除某些項目時,公司 DNS 上的 DNS 區域會立即更新。

當某個服務的所有項目都從 consul 中刪除時,企業 DNS 會刪除其表中的所有項目(這是正常的)。但如果再次建立項目,consul 的 DNS 會更新,但企業 DNS 不會更新。要更新公司 DNS,我應該執行命令rndc flushtree subdomain.example.com

答案1

這在 Consul doco 中的標題“day 1”中得到了解決。 ☺

設定soa.min_ttl配置選項。如果沒有它,快取 DNS 代理不知道「沒有這樣的名稱」和「沒有資料」資訊應該持續多久,您將得到他們自己的盡力猜測。這被稍微扭曲為快取 DNS 代理的錯誤。事實並非如此。 「無此類名稱」和「無資料」回應資料封包應該在(合成的)SOA 資源記錄中包含 TTL 資訊。

進一步閱讀

相關內容