空の DNS A レコードを設定することは許可されていますか?

空の DNS A レコードを設定することは許可されていますか?

私は 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 に以下を追加すると、上記の 2 つの例で、私が望む動作として空の A レコードが返されます。

@     A
*     A

私は、anything.example.com が、local.example.com サブドメイン内の指定しない限り応答しない anything を除くワイルドカードを使用するようにしたいと考えています。基本的に、1 つの除外を含むワイルドカードが必要です。

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

ご意見ありがとうございます!

答え1

まず、上記の Chris S さんへのコメントにより、元の質問がかなり明確化 (実際、修正) されましたので、元の質問に編集して反映させたことをお許しください。

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

3 番目に、必要なことを実現するには、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 のワイルドカード)「いいえ、そのようなレコードはありません」。

答え2

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

答え3

エントリを「null」にする方法が思いつきません。空の A レコードは許可されません。

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

答え4

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

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

ワイルドカードの実践

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

関連情報