BINDゾーンファイルにCNAMEレコードを追加する

BINDゾーンファイルにCNAMEレコードを追加する

私は、 という名前の DNS サーバーを使用して、virtualbox を使用して仮想プライベート ネットワークを設定しましたdns1.xyz1.com。 という名前の Web サーバーがありますxyz1.com

DNS サーバーを使用して Web サイトの IP アドレスを解決したいと考えています。フォワード ゾーン ファイルを次のように構成しました。

$TTL    604800

@       IN      SOA     dns1.xyz1.com. admin.xyz1.com. (
                              13         ; Serial
                         604820         ; Refresh
                          86600         ; Retry
                        2419600         ; Expire
                         604600 )       ; Negative Cache TTL

; name servers - NS records
    IN  NS  dns1.xyz1.com.
    IN  NS  dns2.xyz1.com.

; name servers - A records
dns1.xyz1.com.          IN      A       192.168.56.13
dns2.xyz1.com.          IN      A       192.168.56.15

; 192.168.56.0/24 - A records
host1.xyz1.com.         IN      A       192.168.56.17
xyz1.com.               IN      CNAME   host1.xyz1.com.
host1.xyz1.com.         IN      TXT     "some text"
host2.xyz1.com.         IN      A       192.168.56.18

CNAME レコードを追加する前は、次のように入力するとhttps://host1.xyz1.com、ブラウザが適切な Web サーバーに転送されました。

CNAME レコードを追加した後 (ブラウザーをhttps://xyz1.comと同じ Web サイトに変換することも希望しますhttps://host1.xyz1.com)、残念ながら、次に示すように CNAME 行を追加した後、どのアドレスも目的の Web サーバーを開きません: もhttps://xyz1.comhttps://host1.xyz1.com

xyz1.com.               IN      CNAME   host1.xyz1.com.

参考までに、named.conf.localファイルの内容は次のとおりです。

zone "xyz1.com" {
    type master;
    file "/etc/bind/forward.xyz1.com";
};

zone "56.168.192.in-addr.arpa"{
    type master;
    file "/etc/bind/reverse.xyz1.com";
};

結論:https://xyz1.comまたはという 異なる名前を使用して、同じ Web サーバー (同じ IP) にアクセスしたいと考えていますhttps://host1.xyz1.com。CNAME レコードの何が間違っているのか教えていただけますか? どうすれば修正できますか?

編集:

回答ありがとうございます。しかし、問題はまだ残っています。このアドレス xyz.com を解決できず、名前を使用して特定のサーバーを指定する必要がありますxyz.comhost1.xyz.com

いくつかの回答に基づいて、構成ファイルのこの部分を更新しました。

; 192.168.56.0/24 - A records
@           IN  A   192.168.56.7
host1.xyz1.com.         IN      CNAME   xyz1.com.
host1.xyz1.com.         IN      TXT     "text here"

ping 可能な Web サーバーがあり、192.168.56.7その IP を と の両方でポイントしたいxyz1.comと考えてhost1.xyz1.comいます。これを実現するにはどうすればよいでしょうか?

答え1

CNAMEレコードは、いくつかのまれな例外を除いて、他のレコード タイプと共存できません。この場合、同じドメインにはすでにレコードSOANSレコードがあります (ゾーン アペックスに常にあるのと同じです)。

その結果、BIND がゾーン ファイルの読み込みを完全に拒否した可能性があります。(ただし、BIND のエラー ログを実際に確認することによってのみ確実にわかります。)

つまり、ゾーンの頂点に を持つことは許可されておらず、IP アドレスを/レコードCNAMEとして手動でコピーする必要があります。AAAAA


将来、DNS は、ANAME完全な CNAME セマンティクスなしで IP アドレスをエイリアスできる疑似レコードを標準化する可能性があります。(これらは現在、一部の DNS ホスティング サービスでカスタム追加として提供されています。)ここここ、 またはここ

答え2

逆のことをしています。ドメイン名をサブドメインの CNAME として設定しないでください。サブドメイン (host1) をドメイン (xyz1.com) の CNAME として設定してください。

ルートドメイン (xyz1.com) を示すには @ を使用します。

;192.168.56.0/24 - A records              
@               IN      A       192.168.56.17
host1.xyz1.com.         IN      CNAME   xyz1.com.
host2.xyz1.com.         IN      A       192.168.56.18

関連情報