web-dev-qa-db-ja.com

バインドの構成-SOA名前付きサービスの開始時の記録)に関するエラー

バインドサーバーをセットアップしてから、完全に長すぎます。最近、たくさんの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

1
Dion Pezzimenti

ログエントリSOA record not at top of zone (domain.com.domain.com)は、何かがおかしいというヒントです。ファイルの先頭にあるSOAレコードは、このゾーンファイルによって処理されることになっているドメインのエントリとは見なされません。

これは、$Origin domain.comファイルのzone "domain.com" IN {行とnamed.conf行の不一致が原因である可能性があります。これは、実際の不一致またはUTF-8文字列処理の問題などが原因です。

この場合の簡単な回避策は、ゾーンファイルから$Origin行を削除することです。次に、named.confのゾーン定義に基づいて自動的に構築され、これらの文字列が確実に一致するようにします。

3
Shane Madden