
この設定について:
私のパブリック権威 DNS サーバー<public dns ip>
:
example.com. A <public webserver IP>
foo.bar.example.com. TXT "Hello World"
私のプライベート権威 DNS サーバー192.168.0.2
:
foo.bar.example.com. A "192.168.0.1"
bar.bar.example.com. CNAME "foo.bar.example.com"
つまり、権威 DNS サーバーが 2 つあり、1 つはパブリック ドメイン、もう 1 つはプライベート ドメインにあります。パブリック サーバーは、特定のドメインのサブセットに対して、一部の TXT レコードを提供する必要がありますが、A レコードは提供しません。プライベート サーバーは、内部使用のみを目的として A レコードと CNAME レコードを提供する必要がありますが、TXT レコードは提供しません。
クライアントの DNS サーバー IP が間違った順序 (パブリック、プライベート) になっている場合、パブリックの権威 DNS サーバー応答によってプライベート DNS サーバーが照会されなくなるのでしょうか?
例:
クライアントはresolv.conf
次のように設定しました:
<public dns ip>
192.168.0.2
nslookup foo.bar.example.com
コンソールから実行した場合、名前は解決されるのでしょう192.168.0.1
か、それともパブリック DNS サーバーから名前が存在しないと通知され、検索を停止するのでしょうか?
答え1
解決は、あなたが考えているようには機能しません。 に複数の行がある場合、resolv.conf
それらはフォールバックとして使用されます。システムは常に最初のネームサーバーを使用し、まったく応答がない場合 (名前が存在しないという応答とは異なります) にのみ、2 番目のネームサーバーを照会します。これは基本的にクエリごとに適用されます。
異なる設定をする必要があります。権威あるネームサーバーを 1 つだけ用意し、bind
そのviews
メカニズムを使用して、さまざまなクライアントに異なる応答を返すようにします。クライアントが通常の DNS ツリーをたどってネームサーバーを見つけられるようにします。
しかし、それ以外の点では、理論上はあなたの言う通りです。つまり、「パブリック」サーバーが応答して NXDOMAIN と言えば、検索はそこで停止します。ただし、権威サーバーと再帰サーバー ( のものresolv.conf
) を混在させていますが、これは非常に悪い習慣です。また、必要以上に複雑な設定が残っており、後で問題が発生することになります。
答え2
これは Windows ネットワークで一般的な設定であり、(Active Directory DNS 統合により) 再帰リゾルバはその DNS ゾーンの権限サーバーでもあります。
同じ名前 (ただしレコードは異なる) のゾーンがパブリック DNS にも存在する場合、パブリック レコードを照会する試みは内部の再帰リゾルバで終了します (そのゾーンに対して権限があるため、レコードが存在しないことを正式に宣言できます)。そのため、プライベート リゾルバを使用するクライアントでは、パブリック ゾーンはプライベート ゾーンによってマスクされます。
答え3
私の意見では、<public dns ip>
ドメインのAレコードがない場合、それは間違いなくセカンダリDNSサーバーに来ます192.168.0.2