![既存の DNS ゾーンの拡張](https://rvso.com/image/617255/%E6%97%A2%E5%AD%98%E3%81%AE%20DNS%20%E3%82%BE%E3%83%BC%E3%83%B3%E3%81%AE%E6%8B%A1%E5%BC%B5.png)
みんな!
最初は簡単なことをやろうと考えていたのですが、実際に実装しようとすると不可能に思えます。
既存の DNS ゾーンを拡張して、LAN 内でこのゾーンのパブリック アドレス以外を解決できるようにしたいと考えています。
私はADとDNSが統合されたWindows 2012を使用しています。このDNSに、LAN上のクライアントPCのみが知っているホストを追加するためのゾーンexample.comを含めたいのですが、これらのホストは%SystemRoot%\System32\drivers\etcのhostsファイルに追加されています。
そして、私が欲しいのは example.com であって somethingElse.example.com ではないことは確かです。問題は、いくつかのチームが同じプロジェクトに取り組んでいることです。チームの 1 つでは、example.com をホストしているものの、その中のすべてのホストを公開したくないため、anyHost.example.com が表示されます。一方、他のチームはこれらのプライベート ホストにアクセスする必要があります。
プライマリ前方参照ゾーンを追加しようとしましたが、ゾーンをホストしていないので意味がありません。しかし、DNS にゾーンを追加しても、公開されているホストを解決できません。ローカル DNS は、そのゾーンに対して応答できないクエリを転送しないようです。そのゾーンの実際のネーム サーバーを含む NS レコードを追加しましたが、何も変わりませんでした。また、SOA を nslookup ユーティリティから受け取ったものに変更しました (正しいですか?)。これも効果がありません。さらに、セカンダリとスタブの両方のゾーン タイプを試しました。セカンダリ ゾーンはまったく読み込まれず、スタブ ゾーンは A レコードを受け入れないため、この特別なプライベート ホストを追加できません。
これを実現できるかどうかはわかりませんので、上記の問題を解決するための正しい方向を指し示すような回答をいただければ幸いです。
答え1
スプリット ブレイン DNS (一般にスプリット ホライズン DNS とも呼ばれる) を実装しようとしているようです。
この目的には、前方参照ゾーンが間違いなく必要です。前方参照ゾーンを作成すると、DNS サーバーは (少なくともサーバー自身の視点では) その名前空間に対して権限を持つようになります。つまり、パブリック DNS には存在するが内部 DNS サーバーには存在しないレコードを検索すると応答が返され、DNS サーバーは、たとえば実際の権限のあるネーム サーバーにNXDOMAIN
要求を転送しません。www.example.com
したがって、内部 DNS 名前空間には、パブリック DNS で現在使用されていないサブドメイン (例: ) を選択することをお勧めしますinternal.example.com
。こうすることで、DNS サーバーは *.internal.example.com に対して権限を持ちますが、*.example.com 名前空間の残りの部分に対しては権限を持ちません。