「DNSサーバー」と呼ばれる3つの層
スタブリゾルバー
お使いのデバイス自体
再帰リゾルバー
ISP、ルーター、1.1.1.1
権威サーバー
ドメイン自身のDNS
DNSサーバーとは:リゾルバーとネームサーバーの役割
DNSサーバーとは、ドメインネームシステムにおける名前についての問い合わせに答えるソフトウェアですが、この言葉は複数の役割を指します。再帰リゾルバーは、デバイスからのクエリを受け取り、多くの場合キャッシュ済みのデータを使ったり、ほかのサーバーに問い合わせたりして、答えを見つけます。権威ネームサーバーは、特定のDNSゾーンのレコードを公開し、そのゾーンに属する名前の元データを提供します。これらのシステムは連携して動きますが、互いに置き換えられるものではありません。どちらに問い合わせているのかを知っておくと、あるDNSサーバーがキャッシュ済みのデータを返す一方で、別のサーバーがドメインの所有者が最近設定した内容を返す理由を説明しやすくなります。
再帰リゾルバーはクライアントの代理人
ほとんどのノートパソコンやスマートフォンは、インターネットプロバイダー、職場、ルーター、公開DNSサービスなどが運用する再帰リゾルバーに問い合わせるように設定されています。キャッシュにない名前についての質問を受け取ると、リゾルバーはDNSの委任の連鎖をたどり、必要に応じてルート、トップレベルドメイン、権威サーバーに順に問い合わせます。そして最終的な答えをクライアントに返し、TTLのルールに従って一時的に保存します。このキャッシュにより、同じ処理の繰り返しが減り、通常のブラウジングが速くなります。同時に、権威側で最近変更があっても、関連するキャッシュ情報が期限切れになるまで、リゾルバーの見え方が遅れることがあります。
| 役割 | 主な責務 | 典型的なクライアント |
|---|---|---|
| スタブリゾルバー | デバイスのDNSの問い合わせを転送する | オペレーティングシステム |
| 再帰リゾルバー | 答えを探してキャッシュする | デバイスとアプリケーション |
| 権威ネームサーバー | DNSゾーンのデータを公開する | 再帰リゾルバー |
| ルート / TLDサーバー | 次の委任先への参照を提供する | 再帰リゾルバー |
権威ネームサーバーは、自らが提供するゾーンデータをもとに応答します。ドメインの所有者は通常、DNSプロバイダーを通じて権威サーバーを設定し、レジストラの設定が、そのドメインにどのネームサーバーが委任されるかを決めます。再帰リゾルバーが目的の権威にたどり着けるのは、委任の連鎖が正しい場合だけです。そのドメインの権威ではないプロバイダーのダッシュボードでレコードを更新しても、公開側のユーザーには、その編集が一切見えないことがあります。DNSの更新が効いていないように見えるとき、まずNSレコードを確認するのが有効なのはこのためです。公開の場で応答する責任がどのプロバイダーにあるのかを、確認できます。
2つのDNSサーバーが異なる答えを返す理由
答えが異なる原因には、キャッシュのタイミング、スプリットホライズンDNS、地理的なルーティング、ロードバランシング、ゾーンレプリケーションの遅れ、誤った委任などがあります。企業ネットワークでは、従業員には意図的に内部のアドレスを返し、公開側のビューでは公開のエンドポイントを返すことがあります。公開の再帰リゾルバーも、設置場所が異なり、リージョンに応じた応答を受け取ることがあります。食い違いは、問い合わせの経路を比較すべきサインであって、どちらかのサーバーが悪意を持っている、あるいは壊れているという証拠ではありません。結論を出す前に、レスポンスコード、問い合わせた名前、レコードタイプ、TTL、リゾルバーのアドレスを確認してください。
- 通常のクライアントが受け取りそうな内容を知りたいときは、再帰リゾルバーを使う。
- 現在公開されているゾーンデータを確認するときは、権威サーバーに問い合わせる。
- コントロールパネルで行った変更が見えない場合は、委任とNSレコードを確認する。
- 古いキャッシュ済みの応答が永続的だと思い込む前に、TTLとタイムスタンプを比較する。
- 社内のDNS名は非公開に保つ。機密性のあるホスト名を公開のチェッカーに送信しない。
問題を絞り込む実践的な方法
トラブルシューティングでは、まず影響を受けているネットワークから通常の再帰クエリを実行し、その答えを記録します。次に、信頼できる公開リゾルバー、必要であればドメインの権威ネームサーバーと比較します。権威側が正しいのに再帰側の答えが古いなら、キャッシュが原因として考えられます。権威側自体が間違っているなら、ゾーンとプロバイダーのアカウントを調べます。権威サーバー同士で食い違う場合は、プロバイダーがゾーンを同期していないか、委任が想定外のサーバーを指している可能性があります。この段階的な比較によって、レコードを何度も変更したり、すべてのキャッシュをフラッシュしたりしなくても、障害の箇所を切り分けられることがよくあります。
ドメインがアドレスになる仕組みの基本的な説明は、DNSの仕組み をご覧ください。公開アドレスを確認したい場合は、ドメイン検索ツール が公開DNSに問い合わせます。これは、権威の完全な監査とは異なり、どちらの操作も、サーバーがアプリケーションのトラフィックを受け付けるかどうかは確認しません。リゾルバーと権威の違いを理解すると、DNSの答えを解釈しやすくなり、思い込みではなく証拠に基づいて、次の診断の手順を選べるようになります。
目的に応じたリゾルバーの選び方
通常のブラウジングでは、ネットワークが設定したリゾルバーが、意図されたフィルタリング、内部の名前、サポート上の動作を提供していることがよくあります。独立した公開のチェックには、十分に文書化された公開の再帰リゾルバーが役立つ比較対象になりますが、キャッシュ、ポリシー、場所の違いによって、その答えが異なることがあります。自分のゾーンを確認する場合は、ユーザーのデバイス設定を変更するのではなく、権威サーバーに問い合わせてください。公開サービスはプライベートなゾーンのデータを知らないため、企業のチームは、承認されたリゾルバーの経路と、条件付きフォワーディングのルールを文書化しておく必要があります。これらの目的は分けて考えてください。エンドユーザーの体験を最もよく表すリゾルバーが、公開されたばかりの権威データを確認するのに最適なツールとは限りません。各結果にリゾルバーを記録しておくと、別のチームメンバーが別のネットワークから異なる答えを見たとき、その理由をあとから説明しやすくなります。
ドメインの公開DNSアドレスを調べたい場合は、Domain IP Lookupツールをお試しください。
関連記事
再帰的なDNS検索を1ホップずつ見る
ブラウザー
example.comを要求
リゾルバー
ISP / 1.1.1.1
ルート + TLD
.comの管理元は?
権威サーバー
正式な回答
この連鎖の各ホップはそれ自体がDNS検索で、結果はその後キャッシュされます
DNS名前解決の仕組み:クエリから応答まで
DNSクエリが、キャッシュ、再帰リゾルバー、リファーラル、権威サーバーをたどり、ホスト名がアドレスになるまでの流れを追います。
ほぼすべてのゾーンで出会うレコード
SOAレコードとは?DNSゾーンの権限を解説
DNSのSOAレコードについて、シリアル番号、リフレッシュとリトライのタイマー、権威ネームサーバーがゾーンを連携させる仕組みを詳しく解説します。
3つの役割。担当企業が別々なことも多い
NSレコードとは:ネームサーバーレコードの解説
NSレコード、親ゾーンでの委任、権威ネームサーバーの仕組みと、ドメインのレコードをどのDNSプロバイダーが提供しているかを確認する方法を解説します。