DNS応答の並列比較による伝播状況の検証
DNSレコードの変更や移行を行う際、複数のリゾルバーが返す応答に不一致がないかを確認することは、ウェブサイトやアプリケーションの可用性を維持するために極めて重要です。本ツールは、複数のリゾルバーから得られたDNS応答テキストを直接貼り付け、レコードタイプ、TTL、および値を並べて比較するための検証ツールです。
本ツールはDNSクエリを外部に送信しません。提供されたテキストデータのみを対象に比較処理を行うため、ローカル環境や特定のリゾルバーから取得済みのデータを安全かつ迅速に突き合わせることができます。
入力データの仕様とフォーマット制限
比較を行うには、最低2つのリゾルバー回答を入力する必要があります。各リゾルバーの入力エリアには、以下のフォーマットに準拠したDNSレコードを貼り付けてください。
対応するレコード形式
- 標準的なdig回答行:
名前 TTL IN タイプ値の形式。- 例:
example.com. 300 IN A 192.0.2.1
- 例:
- コンパクトな行:
タイプ TTL 値の形式。- 例:
A 300 192.0.2.1
- 例:
入力における制限事項とルール
- 無視される要素: 入力テキストに含まれるコメント行や、digコマンドのセクション見出し(Header、Query、Authority、Additionalなど)は自動的に無視されます。
- 文字数制限: 各リゾルバーの回答データは、100,000文字未満である必要があります。これを超えるデータを入力した場合、エラーが発生します。
- エラーハンドリング:
- 入力が不足している状態で「答えを比較する」をクリックすると、状況に応じて「少なくとも 2 つのリゾルバー回答を貼り付けます。」または「回答を少なくとも 2 つのリゾルバ パネルに貼り付けます。」というエラーメッセージが表示されます。
- 許容量を超えた場合は「リゾルバー
‹n›の答えが異常に大きいです。 100,000 文字以内にしてください。」と表示されます。 - フォーマットに準拠していない行が存在する場合、「リゾルバー
‹n›、行‹line›はサポートされている DNS レコードではありません。名前 TTL IN 型の値を使用するか、 TTL 値を入力します。」というエラーが出力されます。
比較結果のステータス判定
入力されたレコードは解析され、以下のステータスに分類されて並べて比較されます。
| ステータス | 判定基準 |
|---|---|
| 完全一致 | 比較対象のすべてのリゾルバーにおいて、レコードタイプ、TTL、および値が完全に同一である状態。 |
| TTL は異なります | レコードタイプと値は同一であるが、設定されているTTL(Time To Live)の値が異なる状態。 |
| 価値観が違う | レコードタイプは同一であるが、返されている値(IPアドレスやホスト名など)が異なる状態。 |
| 記録なし | 他のリゾルバーの回答には存在するレコードタイプが、特定のリゾルバーの回答において欠落している状態。 |
比較が完了すると、画面上に「‹resolvers› リゾルバー サンプル間で ‹types› レコード タイプを比較しました。」というサマリーが表示されます。
キャッシュとTTLの技術的背景
DNSリゾルバー(再帰リゾルバー)を比較する際、「TTL は異なります」というステータスが頻繁に発生します。これは必ずしもゾーンデータの不整合や設定ミスを意味するものではありません。
再帰リゾルバーは、権威ネームサーバーからレコードを取得した後、設定されたTTLの秒数をカウントダウンしながらキャッシュを保持します。また、リゾルバー独自のキャッシュ制限ポリシーが適用されることもあります。したがって、異なるリゾルバー間で値が一致しておりTTLのみが異なる場合は、通常、ゾーンデータの差異ではなく、それぞれのキャッシュ経過時間の違いを示しています。
本ツールの限界と注意点
本ツールを使用するにあたり、以下の制限事項を理解しておく必要があります。
- アクティブクエリの不保持: 本ツールはインターネット上のDNSサーバーに対して直接クエリを送信しません。ユーザーが手動で取得し、貼り付けたサンプルデータのみを比較します。
- グローバル伝播の未証明: 貼り付けられたサンプル間での一致は、世界中のすべてのDNSサーバーへの伝播完了を証明するものではありません。また、権威ネームサーバーにおける設定の正確性を保証するものでもありません。
- 操作の初期化: 「クリア」ボタンをクリックすると、入力されたすべてのリゾルバー回答と比較結果がリセットされ、入力フォーカスが最初のアシスタントフィールドに戻ります。
プライバシーとデータ処理について
本ツールに入力されたDNS回答データは、すべて利用者のブラウザー上でのみ処理されます。外部サーバーへのアップロードや、BroBroGoへの保存は一切行われません。
よくある質問(FAQ)
どの DNS 結果形式を貼り付けることができますか?
「example.com. 300 IN A 192.0.2.1」などの標準の dig 回答行、または「A 300 192.0.2.1」などのコンパクトな行を貼り付けます。コメントと dig セクションの見出しは無視されます。
TTL が異なるということは、DNS 値が間違っていることを意味しますか?
必ずしもそうとは限りません。再帰リゾルバーは、キャッシュされた TTL をカウントダウンし、独自のキャッシュ制限を適用する場合があります。異なる TTL と一致する値は、通常、異なるゾーンデータではなく、異なるキャッシュ経過時間を示します。
ここでの一致は、DNS があらゆる場所に伝播したことを証明しますか?
いいえ。比較の対象となるのは、貼り付けた回答のみです。他のパブリック、ISP、企業およびデバイスのキャッシュは異なるデータを返す可能性があり、このページは権威ネームサーバーに接続しません。