DNSサーバ

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

DNSサーバ(ディーエヌエスサーバ)またはネームサーバとは、Domain Name System を担う、コンピュータサーバソフトウェアのことである。Domain Name System は、ホストの識別子利用者が理解し易い形式(ドメイン名、例えば'ja.wikipedia.org')とコンピュータがインターネットプロトコル (IP) で通信するために必要な識別情報(IPアドレス)とを対応付ける仕組みである。

概要[編集]

コンピューターが他のコンピュータとネットワーク(インターネットプロトコル)を介して通信する際には、相手先のIPアドレスを知る必要がある。一方、一般にインターネットを利用するシステム(ウェブブラウザメールサーバその他)では、ヒトには覚えにくいIPアドレスよりもドメイン名によりコンピュータを把握するようになっている。ドメイン名とIPアドレスとの関連情報をコンピュータが知るために、ネットワーク上で情報を提供する仕組みが Domain Name System、それを担う各サーバがDNSサーバである。

DNSサーバは分散型データベースの1ノードとして機能している。単体のDNSサーバは、おおむね次の2種類のいずれか、または両方の役割をもっている。

  • DNSコンテンツサーバ - 自らの「ゾーン」(ドメイン名空間)について、情報を管理し問い合わせに回答する。独自のドメイン名をドメインレジストラで登録する際、「そのドメイン名を管理するDNSサーバ」として指定するのがDNSコンテンツサーバである[1]。権威DNSサーバとも呼ばれる。
  • DNSキャッシュサーバ - 依頼された問い合わせに応じて、自らまたは他のDNSサーバへ必要な問い合わせを行い、結果を依頼元に返す。結果を再利用できるよう、一定期間自らキャッシュする。フルリゾルバ・フルサービスリゾルバ・キャッシュDNSサーバとも呼ばれる。


DNSコンテンツサーバ[編集]

DNSコンテンツサーバの役割は、Domain Name Systemにおいて自ゾーンで管理するサーバのIPアドレスなどの各種リソースレコード(RR)を保持し、問い合わせ要求があったときに応答することである。

リソースレコードの例
  • Aレコード
名前に対するIPアドレス
  • PTRレコード
IPアドレスに対する名前 (IPアドレスは 1.1.168.192.in-addr.arpa. の様に表記される)
  • NSレコード
そのゾーンの権威あるDNSコンテンツサーバの名前
  • MXレコード
そのゾーンのメールサーバの名前
  • SOAレコード
ゾーンそのものの情報
  • CNAMEレコード
 その名前に対する別名
  • TXTレコード
テキスト情報

など。

wikipedia.orgのDNSコンテンツサーバの例
このDNSコンテンツサーバは、ja.wikipedia.orgやwww.wikipedia.orgなどwikipedia.orgゾーンの各種リソースレコードを保持している。ただし、orgゾーンに保持されているIPアドレスは知らない(間違った設定によってorgのNSレコードをキャッシュで答えてしまうサーバも実際には多く存在する)。このDNSコンテンツサーバは、DNSクライアント(再帰検索の場合はDNSキャッシュサーバ)から、ja.wikipedia.orgのIPアドレスを教えるよう要求を受けると、自らが保持しているコンテンツから、ja.wikipedia.orgのIPアドレスを探し、それをDNSクライアントに返答する。

このようにドメイン名からIPアドレスを検索する事を正引きと呼び、反対ににIPアドレスからドメイン名を検索することを逆引きと呼ぶ。

プライマリサーバとセカンダリサーバ[編集]

コンテンツサーバの役割での「プライマリサーバ」と「セカンダリサーバ」は、マスタとスレーブの関係にある。類似の用語である、オペレーティングシステムのネットワーク構成で指定する「DNSサーバ設定」の「優先」「代替」とは趣旨が異なる(#OSで指定する「DNSサーバ」)。

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

セキュリティ[編集]

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

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

DNSキャッシュサーバ[編集]

DNSキャッシュサーバの役割は、DNSクライアント(この場合はWindowsなど)から名前解決を依頼されたとき、再帰検索を行いドメイン名の解決を図ることである。

Webブラウザで、www.wikipedia.orgなどを入力した際、そのコンピュータがまず名前解決しに行くのがDNSキャッシュサーバである。DNSキャッシュサーバのIPアドレスは、Dynamic Host Configuration Protocol(DHCP)などから取得するほか、設定ファイルとしてマシン内に保存することもある。

反復検索と再帰検索[編集]

反復検索
問い合わせを受けた内容について、自らの情報のみ提供する。クライアントが別のDNSサーバへ問い合わせを行う(一般的にはルートサーバから順にドメインツリーをたどる)ことになる。反復クエリーとも呼ばれる。
再帰検索
問い合わせを受けた内容について、自らが情報を持っていない場合は他のDNSサーバへ自らが問い合わせを行い、得た結果をクライアントに回答する(フルサービズリゾルバがこのように振る舞う)。自らは再帰検索を行わず、別のDNSサーバ(フォワーダー)へ再帰検索を依頼する(中継する)DNSサーバもある。再帰クエリーとも呼ばれる。

実装[編集]

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

OSで指定する「DNSサーバ」[編集]

Microsoft WindowsOS X (Macintosh)、各種UNIXLinuxAndroid をはじめとする、ネットワーク通信可能なオペレーティングシステムには、ネットワーク関連の設定に「DNSサーバ」のIPアドレスを指定する項目がある[4]。オペレーティングシステムが名前解決を必要とした際、問い合わせるDNSサーバのIPアドレスである。

これらの情報は、DHCPサーバから(割当IPアドレス情報とあわせて)受け取ることが可能である[5]

大抵、複数のDNSサーバを指定可能になっている。DNSサーバへ問い合わせる際に優先順位の高い順に行い、応答がない場合(該当DNSサーバが停止、通信経路で障害発生など)に次位(代替)以降のDNSサーバへ問い合わせを行うようになっている。クライアントコンピュータが名前解決できないと、電子メールやウェブサーバの利用ができなくなってしまうため、DNSサーバの可用性は大変重要である。

脚注[編集]

  1. ^ 社内専用など、一般に公開しないゾーンを管理するDNSサーバ(コンテンツサーバ)を立ててももちろん構わない。その際はレジストラへ登録する必要はない。
  2. ^ http://technet.microsoft.com/ja-jp/library/cc731204.aspx
  3. ^ フィッシングサイトなど悪意のあるウェブサーバへ誘導されてしまったり、メールの転送先を変更され窃取されたりすることになる。
  4. ^ Microsoft Windowsでは、コントロールパネルのネットワーク設定、Mac OS X では「システム環境設定」の「ネットワーク」、UNIX系では/etc/resolve.confなど
  5. ^ DHCPサーバから得た情報で設定する場合の指定項目は「DNSサーバのアドレスを自動的に取得する」などと表現されている。

関連項目[編集]

外部リンク[編集]