DNSの仕組みを調べていると、「リゾルバ」という言葉が頻繁に登場します。
リゾルバはDNSの名前解決において中心的な役割を果たすコンポーネントであり、その仕組みを理解することでDNS全体への理解が大きく深まります。
この記事では、DNSリゾルバの意味・種類・役割・フォワーダーとの関係について、名前解決・キャッシュといったキーワードを交えながらわかりやすく解説していきます。
ネットワークの基礎をしっかりと固めたい方にとって、ぜひ押さえておきたい内容です。
DNSリゾルバとはドメイン名の名前解決を担うソフトウェアまたはサーバーのこと
それではまず、DNSリゾルバの基本的な意味と役割について解説していきます。
DNSリゾルバとは、クライアントからのDNS問い合わせを受け付け、権威DNSサーバーへの問い合わせを代行してIPアドレスを返すソフトウェアまたはサーバーのことです。
「リゾルバ(resolver)」とは「解決するもの」という意味であり、ドメイン名とIPアドレスの対応関係を解決する役割からこの名前が付けられています。
私たちがブラウザにURLを入力した瞬間から、DNSリゾルバが自動的に動き出して名前解決を完了させています。
DNSリゾルバはDNSの「仲介役」です。
クライアントが直接ルートサーバーや権威DNSサーバーに問い合わせるのではなく、リゾルバがその複雑な問い合わせプロセスをすべて代行します。
ユーザーが意識することなくWebサイトにアクセスできるのは、DNSリゾルバが裏側で高速に動作しているおかげです。
DNSリゾルバの種類
DNSリゾルバには大きく分けて「スタブリゾルバ」と「フルサービスリゾルバ」の2種類があります。
| 種類 | 別名 | 設置場所 | 役割 |
|---|---|---|---|
| スタブリゾルバ | リゾルバライブラリ | クライアントOS内 | フルサービスリゾルバに問い合わせを転送する |
| フルサービスリゾルバ | キャッシュDNSサーバー・再帰リゾルバ | プロバイダや企業のネットワーク上 | 再帰的に問い合わせを行いIPアドレスを取得する |
この2種類が連携することで、ユーザーのブラウザからIPアドレス取得までの一連の名前解決が完結します。
スタブリゾルバの仕組み
スタブリゾルバとは、クライアントOSに組み込まれた最小限の名前解決機能のことです。
スタブリゾルバはまずhostsファイルやローカルキャッシュを確認し、情報がない場合に設定されたフルサービスリゾルバへ問い合わせを転送します。
自分自身では再帰的な問い合わせを行わず、フルサービスリゾルバに最終的な解決を委ねる「入り口」の役割を担っています。
WindowsやMacでネットワーク設定に入力する「DNSサーバーのアドレス」が、このスタブリゾルバの転送先に相当します。
フルサービスリゾルバの仕組み
フルサービスリゾルバはスタブリゾルバから問い合わせを受け取り、ルートDNSサーバーから権威DNSサーバーまで階層的に問い合わせを繰り返してIPアドレスを取得します。
この処理を「再帰的問い合わせ」と呼び、クライアントの代わりにすべての問い合わせを肩代わりするのがフルサービスリゾルバの最大の特徴です。
取得したIPアドレスはキャッシュに保存され、次回以降の同じドメインへの問い合わせを高速化します。
フルサービスリゾルバの名前解決の詳細な流れ
続いては、フルサービスリゾルバが実際にどのように名前解決を行うかを確認していきます。
再帰的問い合わせのステップ
フルサービスリゾルバが「example.com」のIPアドレスを解決する流れは以下のとおりです。
①フルサービスリゾルバがキャッシュを確認する
②キャッシュになければルートDNSサーバーに「example.comを知っているか」と問い合わせる
③ルートサーバーが「.comを管理するTLDサーバーのアドレス」を返す
④TLDサーバーに「example.comを知っているか」と問い合わせる
⑤TLDサーバーが「example.comの権威DNSサーバーのアドレス」を返す
⑥権威DNSサーバーに問い合わせ、AレコードからIPアドレスを取得する
⑦取得したIPアドレスをキャッシュに保存し、スタブリゾルバに返す
この一連のプロセスがTTLの範囲内ではキャッシュで省略されるため、実際には非常に高速に名前解決が完了します。
ネガティブキャッシュの仕組み
フルサービスリゾルバはIPアドレスが存在するドメインの情報だけでなく、存在しないドメインへの否定応答もキャッシュします。
これを「ネガティブキャッシュ」と呼び、同じ存在しないドメインへの問い合わせが繰り返された際に毎回権威DNSサーバーへ問い合わせることを防ぎます。
ネガティブキャッシュの保持時間はSOAレコードのネガティブキャッシュTTLで制御されており、DNSサーバーへの不要な負荷を削減する効果があります。
パブリックDNSリゾルバとは
フルサービスリゾルバはプロバイダが提供するものだけでなく、誰でも無料で利用できる「パブリックDNSリゾルバ」も広く使われています。
| サービス名 | IPアドレス | 運営者 | 特徴 |
|---|---|---|---|
| Google Public DNS | 8.8.8.8 / 8.8.4.4 | 高速・高可用性・世界中で広く利用されている | |
| Cloudflare DNS | 1.1.1.1 / 1.0.0.1 | Cloudflare | 高速・プライバシー重視・DoH・DoT対応 |
| OpenDNS | 208.67.222.222 | Cisco | フィルタリング機能付き・セキュリティ重視 |
| Quad9 | 9.9.9.9 | Quad9財団 | マルウェアサイトをブロック・プライバシー保護 |
プロバイダのDNSよりも高速・高信頼性のパブリックDNSを手動設定することで、名前解決の速度とセキュリティを向上させることができます。
フォワーダーの仕組みとDNSリゾルバへの影響
続いては、企業ネットワークでよく使われる「フォワーダー」の仕組みとDNSリゾルバとの関係を確認していきます。
フォワーダーとは何か
フォワーダーとは、DNSサーバーが自分では再帰的な問い合わせを行わず、別の上位DNSサーバーに問い合わせを転送する設定のことです。
企業ネットワークでは、社内のDNSサーバーがルートサーバーに直接問い合わせるのではなく、プロバイダや企業が指定した上位DNSサーバー(フォワーダー)に転送するよう設定されることが一般的です。
フォワーダーを使うことで、セキュリティポリシーに沿った通信経路の制御と、社内専用ドメインと外部ドメインの解決を分離した管理が実現できます。
条件付きフォワーダーの活用
条件付きフォワーダーとは、特定のドメインへの問い合わせだけを指定のDNSサーバーに転送する仕組みです。
条件付きフォワーダーの設定例:
「corp.example.com」への問い合わせ → 社内DNSサーバー(192.168.1.1)に転送
「それ以外のドメイン」への問い合わせ → 外部DNSサーバー(8.8.8.8)に転送
この設定により、社内ドメインは社内サーバーで、外部ドメインは外部サーバーでそれぞれ解決されます。
条件付きフォワーダーは社内ドメインを外部に漏らさずに名前解決するうえで非常に有効な設定です。
スプリットDNSとリゾルバの関係
スプリットDNS(スプリットホライズンDNS)とは、社内からのアクセスと社外からのアクセスに対して異なるDNS応答を返す構成のことです。
たとえば社内からは内部IPアドレスを返し、社外からはグローバルIPアドレスを返すことで、内部ネットワークの構成を外部に露出しないように保護できます。
スプリットDNSはセキュリティとアクセス効率の両方を高める高度なDNS設計手法として、大企業や金融機関などで広く採用されています。
DNSリゾルバのセキュリティと最新動向
続いては、DNSリゾルバに関連するセキュリティ上の注意点と最新の技術動向について確認していきます。
オープンリゾルバのリスク
オープンリゾルバとは、インターネット上の不特定多数からの問い合わせに応答してしまうフルサービスリゾルバのことです。
オープンリゾルバはDNSリフレクション攻撃(DDoS攻撃の一種)に悪用される危険性があり、攻撃者が送信元を偽装したクエリを大量に送ることで、オープンリゾルバの応答トラフィックを標的サーバーに集中させてしまいます。
自社のDNSサーバーがオープンリゾルバになっていないかを定期的に確認することが、セキュリティ管理の重要な取り組みの一つです。
DoHとDoTによるリゾルバの暗号化
従来のDNSリゾルバへの問い合わせは暗号化されておらず、通信経路上での盗聴や改ざんが可能でした。
この問題を解決するためにDoH(DNS over HTTPS)とDoT(DNS over TLS)が普及しており、DNSクエリを暗号化することでプライバシーを保護します。
| 技術 | ポート番号 | 特徴 |
|---|---|---|
| DoH | 443 | HTTPS通信に混在するため識別・フィルタリングが困難 |
| DoT | 853 | 専用ポートのため管理者が識別・制御しやすい |
CloudflareやGoogleのパブリックDNSリゾルバはDoH・DoTの両方に対応しており、プライバシーを重視するユーザーに広く利用されています。
DNSSECとリゾルバの検証機能
DNSSEC(DNS Security Extensions)は、DNSレスポンスに電子署名を付加することでキャッシュポイズニングなどの改ざん攻撃を防ぐ仕組みです。
DNSSEC対応のフルサービスリゾルバは、権威DNSサーバーから受け取った応答の電子署名を検証し、改ざんされていないことを確認してからクライアントに返します。
DNSSECの検証機能はDNSポイズニング対策の根本的な解決策であり、重要なドメインへの導入が推奨されています。
まとめ
この記事では、DNSリゾルバの意味・種類・フォワーダーとの関係・セキュリティと最新動向について解説しました。
DNSリゾルバはスタブリゾルバとフルサービスリゾルバの2種類で構成されており、両者が連携することでユーザーが意識することなく高速な名前解決が実現しています。
フォワーダーや条件付きフォワーダーを活用することで、企業ネットワークでのセキュリティと管理効率を高めることができます。
DoH・DoT・DNSSECといったセキュリティ技術の理解も、現代のDNS運用には欠かせない知識でしょう。
DNSリゾルバの仕組みを正しく理解することが、安全で効率的なネットワーク運用の基盤となります。
ぜひ本記事を参考に、DNSリゾルバへの理解を深めてみてください。