このページの本文へ

前へ 1 2 次へ

DNSのキホン ― 第3回

DNSのドメインデータベースを知ろう

リソースレコードの種類と役割とは

2009年09月15日 09時00分更新

文● 網野衛二

  • この記事をはてなブックマークに追加
  • 本文印刷

リソースレコード

 DNSのネームサーバは、ドメイン名(及びホスト名)とIPアドレスの対応をデータベースとして保持している。このデータベースが持つデータを「リソースレコード」と呼ぶ

 このデータベースとリソースレコードの構造と形式は、DNSサーバソフトによって異なる。もっとも有名なDNSサーバソフトの「BIND」では、「ゾーンファイル」と呼ばれるデータベースをテキストファイルとして保持している。BINDでは、ゾーンファイルにホスト名とIPアドレスの対応などのリソースレコードを記述している。以下、BINDのゾーンファイルを基準に解説を進める。

 リソースレコードにはいくつかの種類(レコードタイプ)が存在する。一般的に使用されている主なリソースレコードには次のものがある(図1)。

図1 ゾーンとリソースレコード
  • A(アドレス)
  • CNAME(キャノニカルネーム)
  • MX(メールエクスチェンジ)
  • NS(ネームサーバ)
  • SOA(スタートオブオーソリティ)

 それぞれの種類を呼ぶ場合は、たとえばレコードタイプAのリソースレコードは「Aレコード」と呼ぶ。それぞれのレコードの役割を見ていこう。

AレコードとCNAMEレコード

 DNSでもっとも基本となるリソースレコードは、ドメイン名とそれに対応するIPアドレスを記述する「Aレコード」である(図2)。DNSの「ドメイン名とIPアドレスを変換する」役割を果たすための中心的なレコードといえる。

図2 AレコードとCNAMEレコード

 ドメイン名とIPアドレスの対応は必ずしも1対1である必要はない。1つのドメイン名に複数のIPアドレスを対応させることもできる。この場合、1つのAレコードに、複数のIPアドレスが記述されることになる。

 反対に、1つのIPアドレスに複数のドメイン名を持たせることもできる。この場合に使用するのが「CNAMEレコード」だ。CNAMEレコードは、別のAレコードで使用されているIPアドレスに別の名前を付けるときに使う。

メールサーバとMXレコード

 メールアドレスにもドメイン名が使われるが、このドメイン名は特定のホストの名前ではない場合が多い。たとえば、nmag.jpのメールサーバがmail.nmag.jpというホスト名だとしても、メールアドレスは「amino@nmag.jp」という具合に、@の右側はドメインの名前になっている。

 このようにメールサーバのホスト名ではなく、あえてドメイン名にしてあるのには理由がある。というのも、メールアドレスのドメイン名がメールサーバのものだった場合、障害などでメールサーバを変更しなければならなくなったとき、メールアドレスも変更しなければならない。これがドメイン名であれば、メールサーバが変わってもメールの送受信を継続できる。

 この仕組みを実現するために使用されるのが「MXレコード」である(図3)。MXレコードは組織のドメイン名と、その組織のメールサーバのホスト名を結び付けるためのレコードである。メールを送信するメールサーバは、宛先メールアドレスのドメイン名のMXレコードを調べ、実際にメールを送るメールサーバのドメイン名を入手する。その後、メールサーバのドメイン名からAレコードを使用してメールサーバのIPアドレスを入手するのだ。

図3 MXレコードとメールアドレス

 このMXレコードには「プリファレンス」と呼ばれる優先値が書かれている。組織に複数のメールサーバがあった場合、ゾーンファイルに複数のMXレコードを記述できる。その際、まずはMXレコードのプリファレンスが小さい値のメールサーバに対してメールを送ろうとする。もし、そのメールサーバに障害などが発生していた場合は、次にプリファレンスが低いMXレコードのメールサーバを宛先とする。このようにメールサーバの障害に対応することができる。

(次ページ、「分散管理とNSレコード」に続く)


 

前へ 1 2 次へ

この連載の記事
ピックアップ