照会要求を送信することに加えて、DNSサーバーへのネットワーク接続が正常に機能し、サーバーが最小限に応答することを確認する「良いケース」はありますか? Nagiosコードを例にすると、「サーバーは大丈夫ですか?」ではなく、「この名前は解決されますか?」に合わせているようです。
空のクエリを試しましたが無視されるようです。サーバーの状態を要求してみましたが、一部の応答(通常は「実装されていません」)がありますが、他の一部は要求を無視します。私はpingを無視して機能などを台無しにし、追加の問題を引き起こす多くのサーバーシステムを見てきたので、pingに頼るよりも優れています。
現時点では、一貫して信頼できる唯一の解決策は、サーバーがそれをキャッシュして応答するのに最小限の努力が必要だと仮定し、google.comのようなものを見つけることだと思います。数分ごとにこれを行う必要があるため、考える必要はありません。所有者を不快にします。
答え1
RFC 6303デフォルトでは、すべてのDNSサーバーが応答できる必要がある複数のDNSゾーンがリストされており、これらのクエリがDNS階層のルートに不必要に伝播するのを防ぎます(このゾーンがローカル目的で使用されていない場合)。
これらの中で最も古く最も有名なのは、ループバックネットワークのリバースゾーン、特に1.0.0.127.in-addr.arpa.
IPv4アドレス127.0.0.1(FQDN)のPTRレコードです。デフォルトでは、すべてのDNSサーバーしなければならないこの機能は、他のDNSサーバーに問い合わせることなく提供されます。
したがって、dig -x 127.0.0.1 @dns-server-address
技術的には特定のレコードに対するクエリですが、実際には1つのレコードなので、「サーバーは動作していますか?」テストに適しています。すべてDNSサーバーは、最小限の労力で他のDNSサーバーに接続しなくても問題を解決できるはずです。
名前に対するクエリはlocalhost.
実際には同様に機能する必要があります。使用しているツールが潜在的にローカルドメインにサフィックスを追加するのを防ぐには、クエリする名前が完全修飾名であることを示すために末尾にピリオドを明示的に含める必要があります。偏った結果をもたらす可能性のある名前です。