Debian 8 x64でbind9を実行していて、自分のWebサイト用に2つのゾーンをホストしたいと考えています。
example.com
example.net
私はnamed.conf。*ファイルを構成し、zonesディレクトリにdb.example.comとdb.example.netを設定してから、両方をロードしようとしました。 .comは成功しましたが、.netは失敗しました。 NSレコードはありませんでした。
私は次のNSレコードを同じIPを持つ両方に使用しています。これは不可能ですか?
ns1.example.com IN NS 1.1.1.1
ns2.example.com IN NS 1.1.1.2
あなたがやろうとしていることは、原則としてかなり実行可能ですが、ゾーンファイルスニペットに4つの問題があります。あなたが完全なゾーンファイルを投稿するならば、私はより良いガイダンスを提供することができます、しかしあなたのゾーンファイルは完全に間違っています。 (実行しようとしていることを実行するための)有効なゾーンファイルは、次のようになります。
@ IN SOA ns1.example.com. soa.example.com. (
2016010401 ; serial
3600; refresh
600; retry
86400 ; expire
3600 ) ; min TTL
IN NS ns1
IN NS ns2
IN A 33.33.33.33
ns1 IN A 1.1.1.1
ns2 IN A 2.2.2.2
www IN CNAME www.provider.domain.
ここにはいくつかの重要な部分があります-
ゾーンファイルの最初の文字として「@」に注意してください。つまり、このドメイン名は、/ etc /named.confの参照から参照しているドメイン名に関してキューを取得します。これにより次のことが可能になります。他のドメインに同じドメイン構造を使用します。
IN NS nsXレコードの先頭には何もありません。これは、ゾーン全体のNSレコードを設定しているためです。 "nsX"ビットは相対アドレス指定です-つまり、named.confのエントリに応じてns1。@ = ns1.example.comまたはns1.example.netと同等です。
A 1.1.1.1の行ns1は、ns1のIPアドレスを指定します。これにより循環参照が作成されます。つまり、ns1.example.comを解決するには、ns1.example.comを知っている必要があるネームサーバーexample.comのIPアドレスを知っている必要があります。 Bindはこれを自分で理解できますが、インターネットの他の部分は理解できません。このため、ドメインを登録するときにレジストラにIPアドレスとドメインを指定する必要があります[ルートに「Glue」レコードを作成できます/親ネームサーバー]
20.20.20.20でsmtp.example.comのようなものを指定した場合、これは期待どおりに機能しないことに注意してください。これを行う正しい方法は、「smtp.example.com。INA 20.20.20.20」です(。 "文字に注意してください。省略した場合、Bindはsmtp.example.com.example.comを意味すると解釈します。
完全を期すために、もちろん、/ etc /named.confまたは同等のゾーンファイルを指定する必要があります。これは次のように行います。
zone "example.com"
{
type master;
file "/path/to/zone.file";
};
zone "example.net"
{
type master;
file "/path/to/zone.file";
};