web-dev-qa-db-ja.com

空/空白のDNSAレコードを設定できますか?

DNSのすばらしい世界に頭を悩ませようとしています。

以下を含むexample.comのゾーンファイルを作成しました。

@     A    1.2.3.4
*     A    1.2.3.4

ただし、次の内容を含むために別のゾーンファイルを作成したローカルDNS local.example.comもセットアップしています。

machine1     A    192.168.0.1
machine2     A    192.168.0.2

Machine1.local.example.comを掘ると、Aレコード192.168.0.1が返されます。

悲しいことに、badmachine.local.example.comは、local.example.comと同様に、1.2.3.4を返します。

これを防ぐ最善の方法はわかりません。 local.example.comに以下を追加すると、空のAレコードが上記の2つの例で返されます。これは、私が望む動作です。

@     A
*     A

私はanything.example.comに、特に指定されない限り応答を与えたくないlocal.example.comサブドメイン内のものを除いてワイルドカードを使用させたいです。基本的に、1つの除外を含むワイルドカードが必要です。

これは許可されていますか?これはベストプラクティスですか、それとも私はひどく間違ったことをしていますか? BINDバックエンドでPowerDNSを使用しています。

あなたの考えをありがとう!

5
John

まず、上記のChris Sへのコメントは、元の質問をかなり明確にします(実際、変更します)。元の質問に編集することをお許しください。

第二に、他の人が指摘しているように、nullレコードは許可されていません。

第三に、あなたが望むことをする方法は、local.example.comを適切なサブドメインとして宣言することだと思います。

local                       IN      NS      ns1.example.com
local                       IN      NS      ns2.example.com

現在example.comで実行しているのと同じ2つのネームサーバーを一覧表示します(注:PowerDNSがわからないため、上記のエントリはBIND形式です) 。次に、これらのネームサーバー(私はこのネームサーバーだと思います)で、解決したいホストのみを含み、ワイルドカードレコードを含まないlocal.example.comのゾーンファイルを宣言します。

したがって、人々がfoo.example.comを検索すると、それがリストにない場合は、既存のワイルドカードレコードと一致し、1.2.3.4(または何でも)を返します。しかし、人々がfoo.local.example.comを検索すると、local.example.comのネームサーバーレコードが返され、さらに再帰が実行されます。ネームサーバーはlocal.example.comのゾーンファイルを調べて、( fooの特定のレコードがないおよび local.example.comにワイルドカード)「いいえ、そのようなレコードはありません」。

4
MadHatter

この機能は一貫して実装されていないため、実行しているサーバーの特定の動作を確認する必要があります。

RFC 4592から引用すると、多くのDNS実装は、ワイルドカードの元の定義とはさまざまな方法で異なります。

実際のワイルドカード

ワイルドカードの使用法の定義を理解しているので、ワイルドカードエントリに実行させたいことは正しいです(最後の手段のデフォルト値と考える方がよいでしょう)。明確なRFCを読み、ここで更新する時間を見つけようとします...

1
benc

あなたが求めている反応を正確に知ることは有用でしょう。質問で引用されている最初の2行は、ドメインのデフォルトの応答と、一致しないレコード応答も設定しています。したがって、example.comは「@」レコードによって処理され、what-that-doesnt-exist.exmaple.comは「*」レコードによって処理されます。それらは必要ありません、両方とも取り除くことができます。それらを空白値に設定することは無効な構成です(ほとんどのシステムで)。

1
Chris S

エントリを「無効にする」方法を考えることはできません。空のAレコードは許可されていません。

おそらく*.example.com A 1.2.3.4 .local.example.comエントリの上書きを防ぎますか? PowerDNSが仕様どおりに動作していないようです。 local.example.comドメインを定義しておくと、ワイルドカードがそのドメイン内の何かを踏みつけるのを防ぐことができます。フルゾーンファイルを投稿できますか?それはいくつかの小さな質問を解決します。

1
Jeff Ferland