ドメインを所有しています。 example.com
と呼びます。プライベートネットワークにローカルBINDサーバーをセットアップしたい。プライベートIPアドレス192.168.2.13のボックスがあります
このボックスにdevelopment.example.com
という名前を付けたいのですが、プライベートIP(192.168.2.13)を指すようにDNSプロバイダーにexample.comのA
レコードを追加するのは通常の方法と考えられますか? development.example.comは、プライベートネットワーク内のマシンに解決できますか?
プライベートIP(192.168.2.13)を指すDNSプロバイダーにexample.comのAレコードを追加して、development.example.comがプライベートネットワーク内のマシンに解決できるようにすることは、通常のプラクティスと考えられていますか?
これは確かに機能しますが、プライベートネットワークに関する少しの情報漏えいの扉を開くので、ベストプラクティスではありません。
すべてのLANクライアントがポイントできる DNSMasq のインスタンスをローカルで実行します。次に、DNSMasqで、ドメインにホストを追加したり、権威あるDNSサーバーよりも優先されるHost-overridesを外部から追加したりできます。
それをすることは問題ありません-実際、主要なコンシューマールーターメーカーの1つは、192.168.0.1
を指すA
レコードを持つドメイン名を提供するために使用していました(ただし、これに関するドキュメントはもう見つかりません) )。
ただし、ローカルネットワークでこのDNSレコードのみが必要な場合は、ローカルDNSmasqまたはTinyDNSを 上記の@EEAAで推奨 として実行する必要があります。
私がパブリックDNSサーバーにプライベートアドレスを配置する状況は、開発に Vagrant (または同様の)仮想マシンを使用している場合です。たとえば、VMをホストしているマシンでのみアクセス可能なプライベートアドレスであるIPアドレスexample.com
の開発用のVagrant VM for 192.168.53.123
を開発した場合、 vm.example.com
を指す192.168.53.123
のA
レコードを作成して、他の開発者が自分のDNSレコードをローカルに追加しなくても使用できるようにします。
絶対に有効です。 ISCのBINDを使用して同じゾーンの異なるバージョンを異なるリクエスタに送信する方法(「ビュー」と呼ばれます)があるため、この情報を必要に応じてLANのみに制限できます。しかし、私はあなたが気になるとは思いません。
完全に問題ありません。たとえば、2つのインターフェイスを持つサーバーを使用して、名前を内部的にローカルアドレスに解決し、Webの場合はパブリックアドレスで解決できます。
1台のマシンでは、/ etc/hostsにエントリを追加する方がおそらく簡単です。
192.168.2.13 development.example.com
Bindを使用してこのエントリを外部に公開したい場合は、ドメインexample.comに対する権限がなく、誰もあなたに質問しないので、おそらく問題にはなりません。
しかし、ドメインの実際の名前を考える場合、外部のアドレスがあり、少なくともサーバーの1つを指し、エラーメッセージで応答することで、ユーザーが居ないことに気付くまで永遠に待たせるのではなく、内部ネットワーク。 (tunnelblick/openvpnを開始するのを忘れた、または何らかの理由)