DNSの解説 for ビギナー

DNS(Domain Name System)とは

DNS(Domain Name System、ドメインネームシステム)とはインターネット上のコンピュータを英数字の文字列によって特定するためのシステムです。

インターネット上のコンピュータ同士は127.0.0.1などの最大12桁の数字の組み合わせによるIPアドレスでお互いを識別しています(IP4の場合)。しかし人間の方ではこの無機的な数字を憶えるのは困難なため、ドメイン(URLやメールアドレス)という文字列によってコンピュータを識別しており、このままでは外国語で道を尋ねるようなものです。

このドメインとIPアドレスを相互変換し人間とコンピュータの仲立ちをしてくれるのが、DNSと呼ばれるシステムです。

人間
ドメイン
http://example.com/
taro@example.com
=DNS=
相互変換
コンピュータ
IPアドレス
127.0.0.1

人間がブラウザなどでURLを入力したりメールアドレスにメールを送信したりすると、まずブラウザやメールサーバは、ネームサーバ(DNSサーバ)と呼ばれるDNSを管理するサーバにドメインのIPアドレスを聞きます。そしてネームサーバに教えてもらったIPアドレスのコンピュータにアクセスして始めてWEBサイトが表示されたりメールが相手に届くのです。

つまりDNSをきちんと設定しなければWEBサイトは表示されませんし、メールも届きません。 しかしDNSを理解し、設定をきちんとできればドメインには様々な活用法があります。

このページを書くにあたって

このページはVALUE-DOMAIN(バリュードメイン)などのドメイン登録代行業者で独自ドメインを取得して、WEBサーバ・サイト・ブログなどにドメインを割り当てようとしてはいるがDNSの事が良く解らなくて設定に戸惑っているという方のためにDNSについて簡単に解説をするページです。

出来るだけ簡単に説明する事を重視しているので、厳密な意味では間違った事を言ってる場合があるかも知れません、というかあります。またWEBサイトやブログの運営に関係ないであろう事は出来るだけ省いて説明しますので、DNSを正確に理解したいと思う方は専門書などをお読み下さい。

DNSのかんたん用語解説

DNSの設定をするにあたっての難関はcnameとかmxとかの用語だと思います。ここではそれぞれの意味と働きを出来るだけ「かんたんに」説明します。正確な意味は他で知らべて下さい。

私が英語関係のサイトを運営している影響ですが、DNSの設定を英文法で説明しています。

wwwというホストを Aという制御タイプで 123.123.123.123のサーバに割り当てる
     S            V                   O

基本的にDNSの設定はこの形だと理解して下さい、何も難しくはありません。
ネームサーバによって出てくるINという文字はそのまま前置詞のinの意味です。

www.example.com IN A 123.123.123.123

上記の記述方法だと

www.example.comというホストは Aという制御タイプによって指定された 123.123.123.123のサーバに存在するホストである

という事になります。名詞を前置詞によって後ろから修飾する感じです。

制御タイプ(Record Type)

A,CNAME,MX,NS,TXTなどで表されるDNS情報の項目名の事です。
英文法のSVOで言えばV、つまり動詞にあたります。

ホスト名(host)

example.com、www.example.comなどのドメイン・サブドメインのDNSにおける別の呼び方です。英文法のSVOで言えばS、つまり主語にあたります。

ネームサーバの設定画面によってはwww.example.comなどとサブドメインの部分だけをホストと呼ぶ場合もあります。(VALUE-DOMAINなど)

ターゲット(Value)

制御タイプでホストに割り当てられるIPアドレスやドメインの値の事です。
英文法のSVOで言えばO、つまり目的語にあたります。

優先度(Preference Value)

プリファレンス値とも呼ばれます、MXレコードで設定するメールサーバの優先度を設定します。数字の大小によって表され、数字が小さい方が優先度が高いという意味です。メールは優先度の高いサーバから順に配信されます。
英文法で言えばSVOCまたはSVCのC、つまり補語にあたります。

A(エー)レコード

DNSの最も基本的な、特定のホスト(ドメイン・サブドメイン)とIPアドレスを結びつける情報の事。制御タイプの一つ。
Addressの略

(www.)example.comのIPアドレスは123.123.123.123ですよ、とWEBブラウザ等に教えてあげるために設定します。

CNAME(シーネーム)レコード

特定のホスト(ドメイン・サブドメイン)を別のホストに割り当てる時に使われる情報の事。ドメインとドメインを結びつける。 エイリアス(alias 別名)とも呼ばれる。制御タイプの一つ。
CanonicalNAMEの略。

www2.example.comっていうのは都合でつけたニックネームで本名はwww.example.comっていうんですよ、とWEBブラウザ等に教えてあげるために設定します。

WEBブラウザでの動作は割当先のWEBサーバの設定によって変わります。

MX(エムエックス)レコード

メールアドレスのホスト(ドメイン・サブドメイン)にメールサーバのホストを割り当てる時に使われる情報の事。制御タイプの一つ。
Mail eXchangeの略。

@example.comのメールを送受信するメールサーバのホストはmail.example.comですよ、とメールクライアント(メール送信時)やメールサーバ(メール受信時)に教えてあげるために設定します。

複数のメールサーバのホストを優先度をつけて設定する事によってメールの紛失を防ぐ事が出来ます。解り易く言えばメールをたらい回しにして暇なサーバで送受信するのです。

NS(エヌエス)レコード

特定のホスト(ドメイン・サブドメイン)のネームサーバを指定する情報の事。制御タイプの一つ。
NameServerの略。

(www.)example.comに関する設定についてはns.example.comに聞いてくださいね、と他のネームサーバに対応をお願い(丸投げ)するために設定します。

TXT(テキスト)レコード(SPFレコード)

特定のホスト(ドメイン・サブドメイン)関連づけるテキスト情報の事。制御タイプの一つ。
主に送信メールアドレスの他者によるなりすましなどを防ぐために使われる。
その場合のTXTレコードはSPFレコード(Sender Policy Framework)とかSenderIDとも呼ばれます。Textの略。

VALUE-DOMAINでの設定例

※VALUE-DOMAINでドメインを管理していても他社のネームサーバを利用していると下記の設定例は使えません。特に一部のドメインは上位レジストラであるENOMのネームサーバに自動的に登録されている事があり、その場合はドメインの管理画面からネームサーバをVALUE-DOMAINのネームサーバに変更して下さい。

ドメインはexample.comだと仮定します。サブドメインのホスト名はwwwやblogを使います。

メールアドレスはxxx@example.comだと仮定します。サブドメインのメールアドレスも使います。

IPアドレスは123.123.123.123だと仮定します。
適宜ご自分の環境に合わせて対応して下さい。

 

なおVALUE-DOMAINの設定のフォーマットは

制御タイプ ホスト名 ターゲット (優先度) の順番で記入します。

wwwというホストを、123.123.123.123のIPアドレスにaレコードで設定するには

a www 123.123.123.123

と記述します。

英数字は全て半角によって入力され、各項目は半角スペースによって別けられます。

この制御タイプ ホスト名 ターゲットの三つは他社のネームサーバなどでは別の呼び方をされる事があります。それぞれ特徴がありますので、ご自分の環境に合わせて適宜対応して下さい。

優先度はMXレコードの設定の時のみ使用します。

VALUE-DOMAINではホスト名の無いexample.comだけのドメインは@、example.comに関する全てのホストを設定する場合は*(ワイルドカード)を使用します。

Aレコード

a @ 123.123.123.123
http://exmaple.com/ → IPアドレス123.123.123.123のサーバ

a www 123.123.123.123
http://www.example.com → IPアドレス123.123.123.123のサーバ
※別にexample.comとwww.example.comのIPアドレスが同じである必要はありません。

a blog 123.123.123.123
http://blog.example.com → IPアドレス123.123.123.123のサーバ

a * 123.123.123.123
http://exmaple.com/ も http://www.example.com/ も
example.comに関するサブドメインは全て IPアドレス123.123.123.123のサーバ

a *.blog 123.123.123.123
http://taro.blog.example.com/ や http://hanako.blog.example.com/ など
blog.example.com に関するサブドメインは全て IPアドレス 123.123.123.123のサーバ

CNAMEレコード

CNAME www blog
a blog 123.123.123.123
http://www.example.com/ → http://blog.example.com/ =123.123.123.123
※同じexample.comなのでAレコードを指定する必要あり。

CNAME www example2.net.
http://www.example.com → http://example2.net/

VALUE-DOMAINでは別のドメインにCNAMEやMXを設定する時は
ドメインの末尾に.(ドット)を付けます。ドットを付けないとサブドメインのホスト名と解釈されてしまいます。

MXレコード

MX @ 10
a @ 123.123.123.123
xxx@example.comに送られてきたメールをexample.com=123.123.123.123で受信する。 その優先度は10である。

MX example2.net. 20
xxx@example.comに送られてきたメールをexample2.netで受信する。 その優先度は20である。

MX mail.example.com. 30
a mail 123.123.123.123
xxx@example.comに送られてきたメールをmail.example.com=123.123.123.123で受信する。 その優先度は30である。

MX @ 10 mail
a @ 123.123.123.123
xxx@mail.example.comに送られてきたメールをexample.com=123.123.123.123で受信する。その優先度は10である。

MX mail.example.com. 20 mail
a mail 123.123.123.123
xxx@mail.example.comに送られてきたメールをmail.example.com=123.123.123.123で受信する。 その優先度は20である。

NSレコード

ns www ns1.example.com.
a ns1 123.123.123.123
www.example.comのネームサーバはns1.example.comである。
※同じexample.comなのでAレコードを指定する必要あり。

ns www ns.example2.net.
www.example.comのネームサーバはns.example2.netである。

TXTレコード(SPFレコード)

txt @ v=spf1 ip4:123.123.123.123 ~all
example.comのメール送信サーバのIPアドレスは123.123.123.123である。

txt mail v=spf1 a:example2.net ~all
mail.example.comのメール送信サーバのアドレスはexample2.netのaレコードと同じである。

txt @ v=spf1 include:aspmx.googlemail.com ~all
example.comのメール送信サーバの中にaspmx.googlemail.comが含まれる。

 

SPFレコードの記述内容の意味を簡単に説明します。
最初のtxtは制御タイプの事です。
次の@やmailなどはドメインのホスト名の事です。
この二つは他のレコードでも同じなので解り易いと思います。

V=spf1 というのはSPFレコードの記述方法のバージョンがSPF v1だという意味です。

ip4:123.123.123.123 というのはIPアドレスをIP4の記述方法で指定するという意味です。ip6:から書けばIPv6で記述する事になります。

a:example2.net というのはexample2.netのAレコードを参照しなさい、という意味です。mx:から書けばMXレコードを参照しなさいという意味になります。

include:aspmx.googlemail.comというのはメインの送信サーバの他にもaspmx.googlemail.comという送信サーバが存在している、という意味です。

~all というのは このSPFレコードで指定された送信サーバ以外のメールを出来るだけ受信しないで欲しい、という意味です。-allと記述すると指定された送信サーバ以外のメールを決して受信しないで欲しい、という意味になります。どちらにせよ決めるのは受信サーバ側です。

他にも色々と細かい設定がありますが、とりあえずはこれくらいで良いと思います

 

 

以上でなんとなくDNSの事が解っていただけたでしょうか?
このページで全てが理解できる訳はありませんが、あなたの試行錯誤の手助けにでもなれば良いと思っています。記載内容に間違いがあるかも知れませんが、このページの目的はDNS設定の手助けです。DNSを正しく理解したいと思う方は専門書をお読み下さい。

よろしければ、DNSの設定で悩んでいる他の方のために、このページをあなたのサイトやブログの片隅で紹介していただければ幸いです。ついでに補足説明などもしていただけると一層嬉しいです。