Domain-Name-System

配置綁定 - 啟動命名服務時有關 SOA 記錄的錯誤

  • March 18, 2022

自從我設置綁定伺服器以來已經太久了。我最近創建了很多 Windows DNS 伺服器,所以我想在 CentOS 6 上嘗試一下。不幸的是,我在設置區域文件時遇到了很多麻煩。

主機名:shield.domain.com

當我嘗試啟動服務時,我收到以下錯誤消息:

domain.com.zone:3: SOA record not at top of zone (domain.com.domain.com)
zone domain.com/IN: loading from master file domain.com.zone failed: not at top of zone
zone domain.com/IN: not loaded due to errors.
_default/domain.com/IN: not at top of zone
zone localhost.localdomain/IN: loaded serial 0
zone localhost/IN: loaded serial 0
zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN: loaded serial 0
zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0
zone 0.in-addr.arpa/IN: loaded serial 0

我修改了 /etc/named.conf 文件以包含我的新區域,並且文件設置如下:

options {
   listen-on port 53 { 127.0.0.1; };
   listen-on-v6 port 53 { ::1; };
   directory       "/var/named";
   dump-file       "/var/named/data/cache_dump.db";
   statistics-file "/var/named/data/named_stats.txt";
   memstatistics-file "/var/named/data/named_mem_stats.txt";
   allow-query     { localhost; };
   recursion yes;

   dnssec-enable yes;
   dnssec-validation yes;
   dnssec-lookaside auto;

   /* Path to ISC DLV key */
   bindkeys-file "/etc/named.iscdlv.key";

   managed-keys-directory "/var/named/dynamic";
   forwarders { <IP_ADDR_1>;<IP_ADDR_2>;<IP_ADDR_3>;};
};

zone "domain.com" IN {
   type master;
   file "domain.com.zone";
   allow-update { none; };
};

logging {
   channel default_debug {
           file "data/named.run";
           severity dynamic;
   };
};

zone "." IN {
   type hint;
   file "named.ca";
};

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

然後我創建了一個新的區域文件 /var/named/domain.com.zone ,它被配置為這樣。我無法弄清楚我在頂部的 SOA 記錄中做錯了什麼,或者我的區域文件是否存在其他問題:

$ORIGIN domain.com
$TTL 86400
@       IN      SOA     shield.domain.com.    hostmaster.domain.com. (
                   2013008413      ; serial
                   21600           ; refresh after 6 hours
                   3600            ; retry after 1 hour
                   604800          ; expire after 1 week
                   86400 )         ; minimum TTL of 1 day

   IN      NS      shield.domain.com.

           IN      A       10.10.0.175

shield      IN      A       10.10.0.175

我使用了以下資源,但我發現自己越來越迷失,茫然地盯著區域文件。這是環境中唯一多託管不同服務的伺服器:

綁定配置文件:http ://centos.org/docs/2/rhl-rg-en-7.2/s1-bind-configuration.html

DNS 範例區:http ://www.zytrax.com/books/dns/ch6/mydomain.html

日誌條目SOA record not at top of zone (domain.com.domain.com)暗示有問題;SOA文件頂部的記錄不被視為應該由該區域文件處理的域的條目。

這可能是由於文件中的行與$ORIGIN domain.com行不匹配引起的,可能是由於實際不匹配或類似 UTF-8 字元串處理問題。zone "domain.com" IN {``named.conf

在這種情況下,一個簡單的解決方法是簡單地$ORIGIN從區域文件中刪除該行;然後它將根據 中的區域定義自動建構named.conf,確保這些字元串匹配。

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