ドメインネームサーバとは? わかりやすく解説

Weblio 辞書 > コンピュータ > IT用語辞典 > ドメインネームサーバの意味・解説 

ドメインネームサーバ


DNSサーバ

(ドメインネームサーバ から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/09/29 05:59 UTC 版)

DNSサーバ(ディーエヌエスサーバ)は、コンピュータ・ネットワークにおいて、Domain Name System(DNS)の「名前解決」機能が実装されたサーバである。

概要

インターネットでの通信に際し、URLの中やメールアドレスの中などでの相手先は、IPアドレスが直接指定されることはまず無く、ドメイン名などといった「名前」が使われている。そういった名前から、IPアドレスなど[注 1]を得る「解決」を行うシステムがDomain Name System(DNS)である。

あるコンピューターが他のコンピュータとインターネットプロトコル(IP)を介して通信する際には、通信の相手となるコンピュータに付与されたIPアドレスを知る必要がある。一方、URLなどには(IPアドレスを、直接指定することもできるが)、もっぱらドメイン名を使って対象を記述する。ドメイン名から、IPアドレスなどといった必要な情報を得る(名前を解決する)ために、ネットワーク上で情報を提供する仕組みがDomain Name Systemであり、それを担う各サーバがDNSサーバである。

DNSの仕組み

DNSによる名前解決には、以下の3種類の構成要素によって成り立っている。その内、DNSサーバは分散型データベースの1ノードとして機能しており、「DNSコンテンツサーバ」と「DNSキャッシュサーバ」の2種類に分類される。

名前解決の流れ

  1. DNSクライアント(PC)が、設定されたDNSキャッシュサーバに「www.wikipedia.orgのIPアドレスは?」と問い合わせる(再帰的問い合わせ)。
  2. DNSキャッシュサーバは、まずルートサーバに尋ねる。
  3. ルートサーバから「.org」を管理するサーバを教わる。
  4. 「.org」のサーバから「wikipedia.org」を管理するDNSコンテンツサーバを教わる。
  5. 「wikipedia.org」のDNSコンテンツサーバに尋ね、最終的なIPアドレスを受け取る(ここまでのキャッシュサーバの動きが反復問い合わせ)。
  6. キャッシュサーバは結果をPCに返し、一定期間その情報をキャッシュ(保存)する。

DNSコンテンツサーバ

DNSコンテンツサーバの役割は、Domain Name Systemにおいて、ドメインの管理情報、すなわち、自ゾーンの管理するサーバのリソースレコード(RR)と、ドメインの委任に関する情報を保持し、問い合わせ要求があったときに応答することである。コンテンツサーバはドメインの持ち主が管理することもできるが、多くの場合、プロバイダレンタルサーバ業者などが提供しているものを利用する[1]

役割と機能

  • 自らが「ゾーン」(ドメイン名空間、例: wikipedia.org)を管理し、情報を世界に公開する。
  • 独自のドメイン名をドメインレジストラで登録するときに、「そのドメイン名を管理するDNSサーバ」として指定する。
  • 外部からの反復問い合わせに応答し、自身の持つ情報、あるいは「知らない」という情報(委任情報)を返す。
    • 社内ネットワーク専用で使用され、一般に公開しないゾーンを管理するものもある。この場合、ドメインレジストラへの登録の必要はない。
    • 権威DNSサーバ」と呼ばれることもある。コンテンツサーバは上記のような役割のサーバ全般の総称であるのに対し、権威DNSサーバは、例えば「wikipedia.orgドメインの(wikipedia.orgドメインが管理・委譲している情報を持っている(それに関して権威がある))権威DNSサーバ」といったように、個々のドメインとの関係を意味する。

リソースレコード(RR)

DNSコンテンツサーバは、「ゾーン情報」(ゾーンファイル)内のリソースレコード(資源レコード)と呼ばれるデータ内で、以下のような情報を管理する。

  • Aレコード:名前に対するIPv4アドレス
  • AAAAレコード:名前に対するIPv6アドレス
  • MXレコード:メールサーバーのホスト名の完全修飾ドメイン名(FQDN
  • NSレコード:そのゾーンを管理するDNSコンテンツサーバ名
  • CNAMEレコード:その名前に対する別名(エイリアス)
  • PTRレコード:IPアドレスに対応するドメイン名。逆引き用である。(例: 198.51.100.234 というIPアドレスを逆引きするには 234.100.51.198.in-addr.arpa という名前のPTRレコードを問い合わせればよい)
  • SOAレコード:ゾーンそのものの情報
  • TXTレコード:テキスト情報、汎用性が高い。
    • SPF (Sender Policy Framework) - ドメインのメール送信を許可するサーバーのIPアドレスなどを記述
    • DKIM (DomainKeys Identified Mail) - 公開鍵を記述し、なりすましを防止する
    • DMARCレコード - DMARCのバージョン、認証に失敗したメールのポリシー、集計レポートの送信先などのタグと値を記述
    • BIMI(Brand Indicators for Message Identification)レコード - バージョン番号、ロゴのURL、PMCのURLを登録することで、メールにロゴを表示できる。
    • GoogleやAWSなどのサービスにおけるドメイン所有権
  • DNSKEYレコード/RRSIGレコード:応答の正当性を保証するDNSSEC電子署名情報

プライマリサーバとセカンダリサーバ

DNSでは、安定した名前解決のため、複数のサーバで運用されるのが一般的である。コンテンツサーバには、「プライマリサーバ」と「セカンダリサーバ」の分類があり、マスタとスレーブの関係にある。

プライマリサーバ

ゾーン情報(オリジナル)を管理し、自らのゾーン情報に関する問い合わせに回答したり、セカンダリサーバへ配信したりする。Windows Server同梱のDNSサービスにある動作モード「Active Directory統合ゾーン」は、プライマリサーバとしての役割に機能拡張[2]がされたものである。

セカンダリサーバ

プライマリサーバから受け取った情報を保持し、担当するゾーンに関する問い合わせに回答する。自らはゾーン情報を管理しない。

DNSゾーン転送

プライマリサーバからセカンダリサーバーへ、「ゾーン情報」(ゾーンファイル)を同期する仕組み。「DNSゾーン転送」とも言う。

セキュリティ

DNSサーバが応答不能になれば、管理しているゾーン内のコンピューターが提供しているサービスを利用できなくなり、誤った情報を回答するとクライアントコンピューターは意図していないノードにアクセスしてしまう[注 2]ことになる。

健全な利用環境を確保するために、DNSサーバのリソースレコードの改ざん(DNSスプーフィング)やDoS攻撃を防ぐよう、DNSサーバソフトウエアおよびOSの設定やセキュリティ更新プログラムの適用、コンテンツサーバの多重化(セカンダリサーバを公開し、プライマリサーバは非公開とするなど)、ファイアウォール侵入検知システムの導入などにより対策を講じる必要がある。

DNSSEC

電子署名を用いてDNSの応答が改ざんされていないことを保証する「DNSSEC」機能が提供されている。

KSKロールオーバー問題

DNSSECにおいて、電子署名の正当性検証に使われる最上位の暗号鍵である「ルートゾーンKSK」を更新する際に、EDNSによるIPフラグメンテーションが発生するほどのサイズの応答データが発生するが、通信設定が対応できていないDNSで通信ができず、DNSSECによる正当性検証ができなくなり、インターネットの利用に問題が発生する。

これは、「ルートゾーンKSK」が2016年まで更新されてこなかったために問題になっていなかったが、2016年10月から2018年3月にかけて、 順次変更を行うことになったために顕在化した問題である。特に2017/09/19、2017/12/20、2018/01/11から始まる更新では、IPフラグメンテーションが発生しない1280bytesを超える1414~1424Bytesの応答データが発生するために、問題が発生する。

基本的には、DNSの運用責任者がソフトウェアのアップデートや設定変更で対応すべきものであるが、一般消費者向けのルータに内蔵されているDNS Proxyでも問題が発生する可能性があり、インターネットの利用に問題が発生する場合がある。

DNSキャッシュサーバ

DNSキャッシュサーバは、DNSクライアント(ウェブブラウザなど、ドメイン名を利用する何らかのアプリケーション等)から再帰的問い合わせによって依頼を受け、反復問い合わせを行い、解決プロセスを代行するサーバである。結果を再利用できるよう、一定期間自らキャッシュする。

「フルリゾルバ」「フルサービスリゾルバ」「キャッシュDNSサーバ」とも呼ばれる。

DNSキャッシュサーバーでは、分散システムであることが多い。システムの各所で情報の一貫性(Consistency)を保つことが極めて重要となる。

再帰的問い合わせと反復問い合わせ

キャッシュサーバは、再帰的問い合わせと反復問い合わせ(非再帰的問い合わせ)の2種類の問い合わせを使い分けて名前解決を行う。

再帰的問い合わせ

名前解決がされたのであれば、その完全な結果を、できなかった場合は「存在しない」とするやはり完全な結果を求める問い合わせである。ユーザのパーソナルコンピュータなどといった端末から、DNSキャッシュサーバに対して送られる。

反復問い合わせ

反復問い合わせとも。この問い合わせを受けたDNSコンテンツサーバは、自分自身が持っている情報であればそれを、委任している情報であればそのこと(委任情報)を返す。DNSキャッシュサーバはその内容に応じて次々と問い合わせを反復する(一般的にはルートサーバから順にドメインツリーをたどる)。

典型的で単純な例で説明すると、ユーザプログラムからlibcの gethostbyname (3) を通して、/etc/resolv.conf で設定されたDNSキャッシュサーバへの問い合わせが「再帰的問い合わせ」で、キャッシュサーバが行う、DNSコンテンツサーバ群への繰返しの問い合わせが「反復問い合わせ」である。

DNSキャッシュサーバへの接続

ほとんどの場合、キャッシュサーバは接続プロバイダなどによって用意されており、「インターネットを利用するための機器の設定」にその設定が含まれている。あるいは、DHCPを利用してIPアドレス等と一緒に自動的に設定してしまうことが多い。

ネットワーク内に、キャッシュサーバを用意し、そちらを使うこともできる。

受けた問い合わせを単に上位のDNSサーバーに転送(フォワード)するだけのものも存在する。これは一般にDNSフォワーダと呼ばれ、プロキシに近い動作原理を持つ。情報の一貫性が優先される場合、DNSフォワーダのようなキャッシュをもたない動作のほうが、システム全体の情報の不整合の防止という観点で有利であるとされることがある。

  • WindowsmacOSiOSAndroidをはじめとする、ネットワーク通信可能なオペレーティングシステムには、ネットワーク関連の設定に「DNSサーバ」のIPアドレスを指定する項目がある[3]。一般に gethostbyname(3) といったようなライブラリ関数による処理の中で[4]、これらの設定に従い、DNSキャッシュサーバへの問い合わせ等が行われる。
  • 応答がない場合に備え、優先(プライマリ)と代替(セカンダリ)の2つを設定できる。これにより、DNSキャッシュサーバの可用性を高める。これはコンテンツサーバのプライマリ/セカンダリとは全く異なる概念であるので、混同しないように注意したい。(#OSで指定する「DNSサーバ」)。

実装と運用

代表的なDNSサーバソフトウエアは次のものがある。DNSコンテンツサーバとDNSキャッシュサーバが別々になっているものもあれば、両方機能を搭載するものもある。

  • BIND
  • djbdns - コンテンツサーバであるtinydnsとキャッシュサーバであるdnscacheからなる
  • Dnsmasq
  • Microsoft DNS Server
  • NSD
  • Unbound
  • Knot DNS
  • PowerDNS
  • Yadifa
  • XACK DNS - 国産のDNS製品

注意

BINDなどに代表されるDNSサーバソフトウェアの多くでは、1台でコンテンツサーバとキャッシュサーバの両方の機能を設定できる。このため、設定を誤ると、セキュリティ上のリスクを抱えてしまうことが指摘されている[5]

オープンリゾルバ

DNSキャッシュサーバに不適切な設定をすることで、DNSキャッシュサーバが誰からの再帰検索要求に対しても応じてしまう状態になることがある。これを「オープンリゾルバ」という。オープンリゾルバのDNSキャッシュサーバは、攻撃者に利用され、DNSamp攻撃やその他攻撃の踏み台にされる。点検用にオープンリゾルバであるかを確認するサイトがある。

https://www.v3.openresolver.jp/

脚注

注釈

  1. ^ MXレコードなどはIPアドレス以外に解決される。他にも近年はメイルの返信元の真正性確認などに使われるTXTフィールドなどがある。設計上は任意の拡張が容易なように作られている(たとえば、IPv6のために追加されたAAAAレコードなど)。
  2. ^ フィッシングサイトなど悪意のあるウェブサーバへ誘導されてしまったり、メールの転送先を変更され窃取されたりすることになる。

出典

  1. ^ 特に、可用性を上げるためのセカンダリサーバは、上流のネットワークなどができるだけ別系統であることが望ましく、2系統のネットワークを持たない場合などには外部に出すのが現実的なことが多い。
  2. ^ http://technet.microsoft.com/ja-jp/library/cc731204.aspx
  3. ^ Windowsでは、コントロールパネルのネットワーク設定、macOSでは「システム環境設定」の「ネットワーク」、Unix系では/etc/resolve.confなど
  4. ^ 「オペレーティングシステムが名前解決を必要とした際」ではない。
  5. ^ DNSサーバの脆弱性に関する再度の注意喚起:IPA 独立行政法人 情報処理推進機構”. www.ipa.go.jp. 2022年3月10日閲覧。

外部リンク

関連項目

パブリックなDNSキャッシュサーバ

DNSをターゲットとしたエクスプロイト



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「ドメインネームサーバ」の関連用語

ドメインネームサーバのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



ドメインネームサーバのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
IT用語辞典バイナリIT用語辞典バイナリ
Copyright © 2005-2025 Weblio 辞書 IT用語辞典バイナリさくいん。 この記事は、IT用語辞典バイナリの【ドメインネームサーバ】の記事を利用しております。
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのDNSサーバ (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS