エラーのため、DNSバインディングはロードされません。

エラーのため、DNSバインディングはロードされません。

これは学校の課題ですが、DNSバインディングの設定に問題があります。 DNSサーバーを設定するには、SOA、NSおよびグルーレコード、wwwのAレコード、メールおよびサブドメインネームサーバー、CNAMEを設定する必要があります。

mcduckcorp.duckburg.caliドメインのDNSサーバーを設定しようとしています。

mcduckcorp.db、duckburg.db、cali.db という 3 つのデータベースファイルがあります。 "named-checkzone"コマンドを使用して確認しましたが、結果は次のとおりです。

mcduck.db:

dns_master_load: /etc/bind/mcduckcorp.db:1: extra input text
dns_master_load: /etc/bind/mcduckcorp.db:16: www.mcduckcorp.duckburg.cali: CNAME and other data
zone mcduckcorp.duckburg.cali/IN: loading from master file /etc/bind/mcduckcorp.db failed: extra input text
zone mcduckcorp.duckburg.cali/IN: not loaded due to errors

duckburg.db:

dns_master_load: /etc/bind/duckburg.db:1: extra input text
zone duckburg.cali/IN: loading from master file /etc/bind/duckburg.db failed: extra input text
zone duckburg.cali/IN: not loaded due to errors

カリデータベース

dns_master_load: /etc/bind/cali.db:1: extra input text
zone cali/IN: loading from master file /etc/bind/cali.db failed: extra input text
zone cali/IN: not loaded due to errors

構成ファイルは次のとおりです。

mcduck.db:

$TTL 30 d
$ORIGIN mcduckcorp.duckburg.cali. 
@ IN SOA ns1.mcduckcorp.duckburg.cali. mail.mcduckcorp.duckburg.cali. (
            2019092700 ;serial
            86400 ;refresh
            7200 ;retry
            3600000 ;expiration
            172800) ;minimum

@ IN NS ns1.mcduckcorp.duckburg.cali.
ns1.mcduckcorp.duckburg.cali.   IN   A   192.168.1.10
mail.mcduckcorp.duckburg.cali.  IN   A   192.168.1.10
www.mcduckcorp.duckburg.cali.   IN   A   192.168.1.10

www   IN   CNAME   squirrel

duckburg.db:

$TTL 30 d
$ORIGIN duckburg.cali.
@ IN SOA ns1.duckburg.cali. mail.duckburg.cali. (
                        2019092700 ;serial
                        86400 ;refresh
                        7200 ;retry
                        3600000 ;expiration
                        172800) ;minimum

@ IN NS ns1.duckburg.cali.
ns1.duckburg.cali.              IN   A   192.168.1.10
mail.mcduckcorp.duckburg.cali.  IN   A   192.168.1.10
www.mcduckcorp.duckburg.cali.   IN   A   192.168.1.10

subdomain   IN   NS   ns1.mcduckcorp.duckburg.cali.
ns1.mcduckcorp.duckburg.cali.   IN   A   192.168.1.10

www   IN   CNAME   squirrel

カーリーデータベース:

$TTL 30 d
$ORIGIN cali.
@ IN SOA ns1.cali. mail.cali. (
                        201909700 ;serial
                        86400 ;refresh
                        7200 ;retry
                        3600000 ;expiration
                        172800) ;minimum

@ IN NS ns1.cali.
ns1.cali.                       IN   A   192.168.1.10
mail.mcduckcorp.duckburg.cali.  IN   A   192.168.1.10
www.mcduckcorp.duckburg.cali.   IN   A   192.168.1.10

subdomain   IN   NS   ns1.duckburg.cali.
ns1.duckburg.cali.              IN   A   192.168.1.10

www   IN   CNAME   squirrel

明らかに間違い(または何度も)を犯しましたが、何が間違っているのかわかりません。どんな助けでも大変感謝します!

答え1

ゾーンファイルにはいくつかの明らかな問題があります。

  1. 例や課題のために、自分が所有していないドメインを絶対に使用しないでください。今は存在しないかもしれませんが、将来は存在するかもしれません。

    example.orgexample.comexample.net例や宿題などとして使用してください。これらのドメイン名は誰にも割り当てられず、誰でも安全に使用できます。この目的のために存在します。

  2. 行と行の間にはスペースを入れないでください30d$TTL

  3. mcduckcorp.dbまず、www.mcduckcorp.duckburg.caliAレコードをIPアドレス192.168.1.10として定義します。

    後でそれを指すCNAMEとして定義しますsquirrel.mcduckcorp.duckburg.cali。これはうまくいきません。

    エイリアス履歴別のドメイン名を指すエイリアスを定義します。記録は次のとおりです。

    alias-name IN CNAME canonical-name
    

    Aエイリアスは他MXのデータレコードを持つことはできNSません。これは他の場所(標準名)を指すエイリアスです。つまり、エイリアスは「継承」されます。みんなそれが指す名前のデータであり、いかなる方法でも変更することはできません(追加、削除、または編集できません)。

お客様の課題では、A レコードと CNAME レコードの例を表示するよう求められます。ドメイン自体のAレコードを生成し、wwwそれを指すエイリアスを作成してみてください。例えば

    @   IN A     192.168.1.10
    www IN CNAME @

www@($ ORIGIN、ドメイン自体)に関連するすべてのレコードを「継承」します。これには、AレコードだけでなくNS、MX、TXT、および存在する可能性がある他のレコードも含まれます。

NSレコードはほとんど関連性がありませんが、MXレコードは、たとえばメールサーバーがdomain.example.comメールも処理するように設定されている場合に便利ですwww.domain.example.com

あるいは、A レコードを作成し、そのwwwレコードsquirrelを指すエイリアスを作成することもできます。例えば

    www      IN A     192.168.1.10
    squirrel IN CNAME www

ここで squirrel はwww1 つの A レコードを除いてすべて継承されます。

関連情報