web-dev-qa-db-ja.com

プライベートIPアドレスを指すDNS Aレコード

ドメインを所有しています。 example.comと呼びます。プライベートネットワークにローカルBINDサーバーをセットアップしたい。プライベートIPアドレス192.168.2.13のボックスがあります

このボックスにdevelopment.example.comという名前を付けたいのですが、プライベートIP(192.168.2.13)を指すようにDNSプロバイダーにexample.comのAレコードを追加するのは通常の方法と考えられますか? development.example.comは、プライベートネットワーク内のマシンに解決できますか?

10
Ryan M

プライベートIP(192.168.2.13)を指すDNSプロバイダーにexample.comのAレコードを追加して、development.example.comがプライベートネットワーク内のマシンに解決できるようにすることは、通常のプラクティスと考えられていますか?

これは確かに機能しますが、プライベートネットワークに関する少しの情報漏えいの扉を開くので、ベストプラクティスではありません。

すべてのLANクライアントがポイントできる DNSMasq のインスタンスをローカルで実行します。次に、DNSMasqで、ドメインにホストを追加したり、権威あるDNSサーバーよりも優先されるHost-overridesを外部から追加したりできます。

8
EEAA

それをすることは問題ありません-実際、主要なコンシューマールーターメーカーの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.123Aレコードを作成して、他の開発者が自分のDNSレコードをローカルに追加しなくても使用できるようにします。

6
Moshe Katz

絶対に有効です。 ISCのBINDを使用して同じゾーンの異なるバージョンを異なるリクエスタに送信する方法(「ビュー」と呼ばれます)があるため、この情報を必要に応じてLANのみに制限できます。しかし、私はあなたが気になるとは思いません。

4
poige

完全に問題ありません。たとえば、2つのインターフェイスを持つサーバーを使用して、名前を内部的にローカルアドレスに解決し、Webの場合はパブリックアドレスで解決できます。

1台のマシンでは、/ etc/hostsにエントリを追加する方がおそらく簡単です。

192.168.2.13 development.example.com

Bindを使用してこのエントリを外部に公開したい場合は、ドメインexample.comに対する権限がなく、誰もあなたに質問しないので、おそらく問題にはなりません。

しかし、ドメインの実際の名前を考える場合、外部のアドレスがあり、少なくともサーバーの1つを指し、エラーメッセージで応答することで、ユーザーが居ないことに気付くまで永遠に待たせるのではなく、内部ネットワーク。 (tunnelblick/openvpnを開始するのを忘れた、または何らかの理由)

  • windows 8に関するコメントを読んでください。hostsファイルもあるはずです。
3
marty