為什麼 BIND 不再使用轉發器?

為什麼 BIND 不再使用轉發器?

BIND 不再使用轉發器來解析。它只會到達根伺服器。我不知道這種情況何時開始發生,因為一切都是透明的,但可以肯定的是綁定配置沒有改變。雖然使用apt進行了升級。

我使用的是 Debian 7,目前綁定版本是 BIND 9.8.4。

配置:

options {
    directory "/var/cache/bind";
    forwarders { 
        8.8.8.8;
        8.8.4.4;
    };
    forward only;
    dnssec-validation no;
    auth-nxdomain no;    # conform to RFC1035
    listen-on-v6 { any; };
};

有重新啟用轉送的想法嗎?

答案1

但可以肯定的是綁定配置沒有改變。雖然使用apt進行了升級。

即使配置沒有改變,升級核心引擎也足以讓事情變得不工作!

如上所述這裡

在 BIND 9.4.1 之前(及包括)的 BIND 版本中,BIND 伺服器的預設行為是允許所有客戶端遞歸(除非另有指定)。

因此,您應該明確允許遞歸,因為轉發器需要它才能運作:

allow-recursion { any; };

為了保留與之前相同的行為,我建議將這些指令添加到您的options { ... }區塊中:

allow-recursion { any; };
allow-query { any; };
allow-query-cache { any; };

答案2

僅當啟用了遞歸時轉發器才起作用。

另外,您應該使用 ISP 的 DNS 伺服器,而不是 Google 的。

相關內容