Domain-Name-System

Bind9 為自定義區域返回 SERVFAIL

  • October 22, 2022

我正在嘗試使用 Bind 為我的域設置 DNS 伺服器。google.com對於非自定義域,如or ,伺服器行為正確github.com,但對於我的域,它總是返回“SERVFAIL”。我已經檢查了使用named-checkzone返回“OK”的區域文件。

我的區域配置(在 中定義named.conf.local):

zone "michlfranken" {
 type master;
 file "/var/cache/bind/db.isiko404.dev";
};

我的選項文件:

options {
       directory "/var/cache/bind";

       // If there is a firewall between you and nameservers you want
       // to talk to, you may need to fix the firewall to allow multiple
       // ports to talk.  See http://www.kb.cert.org/vuls/id/800113

       // If your ISP provided one or more IP addresses for stable
       // nameservers, you probably want to use them as forwarders.
       // Uncomment the following block, and insert the addresses replacing
       // the all-0's placeholder.

       forwarders {
               80.241.218.68;
               46.182.19.48;
       };

       //========================================================================
       // If BIND logs error messages about the root key being expired,
       // you will need to update your keys.  See https://www.isc.org/bind-keys
       //========================================================================
       dnssec-validation yes;

       listen-on-v6 { any; };
       listen-on { any; };
};

NS 記錄的 RHS(右側)不能是 CNAME,它必須是規範名稱,定義為 A 和 AAA 記錄中的一個或兩個。此處對此進行了描述:在 DNS 中,IN NS 是否可以指向 CNAME?

這是您的 NS 記錄:

vesemir:~> dig @81.169.234.207 isiko404.dev ns +short
h2869709.stratoserver.net.
dns.isiko404.dev.

這是您的 dns.isiko404.dev 記錄:

vesemir:~> dig @81.169.234.207 dns.isiko404.dev +norecurse +noall +answer
dns.isiko404.dev.       21600   IN      CNAME   s1.isiko404.dev.
s1.isiko404.dev.        21600   IN      A       81.169.234.207

現在,zone子句中的名稱應該是您的區域名稱,我猜它是“isiko404.dev”,而不是“michlfranken”。

我必須說我很困惑為什麼我可以查詢您的伺服器卻看不到錯誤。

引用自:https://serverfault.com/questions/1113742