![BINDゾーンファイルにCNAMEレコードを追加する](https://rvso.com/image/1557235/BIND%E3%82%BE%E3%83%BC%E3%83%B3%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%ABCNAME%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E8%BF%BD%E5%8A%A0%E3%81%99%E3%82%8B.png)
私は、 という名前の 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.com
も https://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.com
。host1.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
レコードは、いくつかのまれな例外を除いて、他のレコード タイプと共存できません。この場合、同じドメインにはすでにレコードSOA
とNS
レコードがあります (ゾーン アペックスに常にあるのと同じです)。
その結果、BIND がゾーン ファイルの読み込みを完全に拒否した可能性があります。(ただし、BIND のエラー ログを実際に確認することによってのみ確実にわかります。)
つまり、ゾーンの頂点に を持つことは許可されておらず、IP アドレスを/レコードCNAME
として手動でコピーする必要があります。A
AAAA
将来、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