DNSの解説 for ビギナー
ちょんまげ英語塾 > WEB制作TIPS > DNSの解説 for ビギナー
DNS(Domain Name System)とは
DNS(Domain Name System、ドメインネームシステム)とはインターネット上のコンピュータを英数字の文字列によって特定するためのシステムです。
インターネット上のコンピュータ同士は 192.0.2.0 などの最大12桁の数字の組み合わせによるIPアドレスでお互いを識別しています(IP4の場合)。しかし人間の方ではこの無機的な数字を憶えるのは困難なために、ドメイン(URLやメールアドレス)という文字列によってコンピュータを識別しており、このままでは人間の思い通りのコンピュータに対してアクセスする事はできません。
このドメインとIPアドレスを相互変換し人間とコンピュータの仲立ちをしてくれるのが、DNSと呼ばれるシステムです。
人間 ドメイン http://example.com/ taro@example.com |
=DNS= 相互変換 |
コンピュータ IPアドレス 192.0.2.0 |
人間がブラウザなどでURLを入力したりメールアドレスにメールを送信したりすると、まずブラウザやメールサーバは、ネームサーバ(DNSサーバ)と呼ばれるDNSを管理するサーバにドメインのIPアドレスを聞きます。そしてネームサーバに教えてもらったIPアドレスのコンピュータにアクセスして始めてWEBサイトが表示されたりメールが相手に届くのです。
つまりDNSをきちんと設定しなければWEBサイトは表示されませんし、メールも届きません。 しかしDNSを理解し、設定をきちんとできればドメインには様々な活用法があります。
このページを書くにあたって
このページはVALUE-DOMAIN(バリュードメイン)などのドメイン登録代行業者で独自ドメインを取得して、WEBサーバ・サイト・ブログなどにドメインを割り当てようとしてはいるがDNSの事が良く解らなくて設定に戸惑っているという方のためにDNSについて簡単に解説をするページです。
出来るだけ簡単に説明する事を重視しているので、厳密な意味では間違った事を言ってる場合があるかも知れません、というかあります。またWEBサイトやブログの運営に関係ないであろう事は出来るだけ省いて説明しますので、DNSを正確に理解したいと思う方は専門書などをお読み下さい。
DNSのかんたん用語解説
DNSの設定をするにあたっての難関はcnameとかmxとかの用語だと思います。ここではそれぞれの意味と働きを出来るだけ「かんたんに」説明します。正確な意味は他で調べて下さい。
私が英語関係のサイトを運営している影響ですが、DNSの設定を英文法で説明しています。
wwwというホストを Aという制御タイプで 192.0.2.0のサーバに割り当てる
S(主語) V(動詞) O(目的語)
基本的にDNSの設定はこの形だと理解して下さい、何も難しくはありません。
制御タイプ(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アドレスは192.0.2.0ですよ、とWEBブラウザ等に教えてあげるために設定します。
CNAME(シーネーム)レコード
特定のホスト(ドメイン・サブドメイン)を別のホストに割り当てる時に使われる情報の事。ドメインとドメインを結びつける。 エイリアス(alias 別名)とも呼ばれる。制御タイプの一つ。Canonical NAME の略。
www2.example.comっていうのは都合でつけたニックネームで本名は www.example.comっていうんですよ、とWEBブラウザ等に教えてあげるために設定します。
WEBブラウザでの動作は割当先のホストの設定によって変わります。
MX(エムエックス)レコード
メールアドレスのホスト(ドメイン・サブドメイン)にメールサーバのホストを割り当てる時に使われる情報の事。制御タイプの一つ。Mail eXchange の略。
@example.comのメールを送受信するメールサーバのホストはmail.example.comですよ、とメールクライアント(メール送信時)やメールサーバ(メール受信時)に教えてあげるために設定します。
複数のメールサーバのホストを優先度をつけて設定する事によってメールの紛失を防ぐ事が出来ます。解り易く言えばメールをたらい回しにして暇なサーバで送受信するのです。
NS(エヌエス)レコード
特定のホスト(ドメイン・サブドメイン)のネームサーバを指定する情報の事。制御タイプの一つ。Name Server の略。
(www.)example.comに関する設定についてはns.example.comに聞いてくださいね、と他のネームサーバに対応をお願い(丸投げ)するために設定します。
TXT(テキスト)レコード
特定のホスト(ドメイン・サブドメイン)に関連づけるテキスト情報の事。制御タイプの一つ。Text の略。
主に送信メールアドレスの他者によるなりすましなどを防ぐために使われます。その場合のTXTレコードはSPFレコード(Sender Policy Framework)とかSenderIDとも呼ばれます。同じようになりすましメールを防ぐ新しい技術として DKIM(DomainKeys Identified Mail) というのもありすが、こちらもTXTレコードによって設定します。
TTL(ティーティーエル)
ネームサーバが他のネームサーバの問い合わせに返したDNS情報を保存させる時間、通常の設定は86400秒=1日。言い換えれば、短いTTL設定にするとネームサーバは頻繁にDNS情報を問い合わされることになる。ただしDNS情報を変更する時にはあらかじめ数分程度に設定して、DNS情報の変更が素早く反映されるようにする事もある。Time To Live の略。
VALUE-DOMAINでの設定例
※VALUE-DOMAINでドメインを管理していても他社のネームサーバを利用していると下記の設定例は使えません。特に一部のドメインは上位レジストラであるENOMのネームサーバに自動的に登録されている事があり、その場合はドメインの管理画面からネームサーバをVALUE-DOMAINのネームサーバに変更して下さい。
ドメインはexample.comだと仮定します。サブドメインのホスト名はwwwやblogを使います。
メールアドレスはxxx@example.comだと仮定します。サブドメインのメールアドレスも使います。
IPアドレスは192.0.2.0だと仮定します。
適宜ご自分の環境に合わせて対応して下さい。
なおVALUE-DOMAINの設定のフォーマットは
制御タイプ ホスト名 ターゲット (優先度) の順番で記入します。
wwwというホストを、192.0.2.0のIPアドレスにaレコードで設定するには
a www 192.0.2.0
と記述します。
英数字は全て半角によって入力され、各項目は半角スペースによって別けられます。
この制御タイプ ホスト名 ターゲットの三つは他社のネームサーバなどでは別の呼び方をされる事があります。それぞれ特徴がありますので、ご自分の環境に合わせて適宜対応して下さい。
優先度はMXレコードの設定の時のみ使用します。
VALUE-DOMAINではホスト名の無いexample.comだけのドメインは@、example.comに関する全てのホストを設定する場合は*(ワイルドカード)を使用します。
Aレコード
a @ 192.0.2.0
http://exmaple.com/ → IPアドレス192.0.2.0のサーバ
a www 192.0.2.0
http://www.example.com → IPアドレス192.0.2.0のサーバ
※別にexample.comとwww.example.comのIPアドレスが同じである必要はありません。
a blog 192.0.2.0
http://blog.example.com → IPアドレス192.0.2.0のサーバ
a * 192.0.2.0
http://exmaple.com/ も http://www.example.com/ も
example.comに関するサブドメインは全て IPアドレス192.0.2.0のサーバ
a *.blog 192.0.2.0
http://taro.blog.example.com/ や http://hanako.blog.example.com/ など
blog.example.com に関するサブドメインは全て IPアドレス 192.0.2.0のサーバ
CNAMEレコード
CNAME www blog
a blog 192.0.2.0
http://www.example.com/ → http://blog.example.com/ =192.0.2.0
※同じexample.comなのでAレコードを指定する必要あり。
CNAME www example2.net.
http://www.example.com → http://example2.net/
VALUE-DOMAINでは別のドメインにCNAMEやMXを設定する時は
ドメインの末尾に.(ドット)を付けます。ドットを付けないとサブドメインのホスト名と解釈されてしまいます。
MXレコード
MX @ 10
a @ 192.0.2.0
xxx@example.comに送られてきたメールをexample.com=192.0.2.0で受信する。
その優先度は10である。
MX example2.net. 20
xxx@example.comに送られてきたメールをexample2.netで受信する。
その優先度は20である。
MX mail.example.com. 30
a mail 192.0.2.0
xxx@example.comに送られてきたメールをmail.example.com=192.0.2.0で受信する。
その優先度は30である。
MX @ 10 mail
a @ 192.0.2.0
xxx@mail.example.comに送られてきたメールをexample.com=192.0.2.0で受信する。その優先度は10である。
MX mail.example.com. 20 mail
a mail 192.0.2.0
xxx@mail.example.comに送られてきたメールをmail.example.com=192.0.2.0で受信する。
その優先度は20である。
NSレコード
ns www ns1.example.com.
a ns1 192.0.2.0
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:192.0.2.0 ~all
example.comのメール送信サーバのIPアドレスは192.0.2.0である。
txt mail v=spf1 a:example2.net ~all
mail.example.comのメール送信サーバのIPアドレスはexample2.netのaレコードと同じである。
txt @ v=spf1 include:_spf.google.com ~all
example.comのSPFレコードは _spf.google.com のSPFレコードを参照せよ。
txt @ v=spf1 -all
このドメイン名を用いて送信される全てのメールを破棄せよ。
SPFレコードの記述内容の意味を簡単に説明します。最初のtxtは制御タイプの事です。次の@やmailなどはドメインのホスト名の事です。この二つは他のレコードでも同じなので解り易いと思います。
V=spf1 というのはSPFレコードの記述方法のバージョンがSPF v1だという意味です。
ip4:192.0.2.0 というのはIPアドレスをIP4の記述方法で指定するという意味です。ip6:から書けばIPv6で記述する事になります。
a:example2.net というのはexample2.netのAレコードを参照しなさいという意味です。mx:から書けばMXレコードを参照しなさいという意味になります。
include:_spf.google.com というのは _spf.google.com のSPFレコードを参照しなさいという意味です。
~all というのは このSPFレコードで指定された送信サーバ以外のメールを出来るだけ受信しないで欲しいという意味です。-allと記述すると指定された送信サーバ以外のメールを決して受信しないで欲しいという意味になります。どちらにせよ決めるのは受信サーバ側ですが、認証失敗などにより正当なメールが破棄されない様に ~all を使うのが一般的です。
他にも色々と細かい設定がありますが、とりあえずはこれくらいで良いと思います
以上でなんとなくDNSの事が解っていただけたでしょうか?
このページで全てが理解できる訳はありませんが、あなたの試行錯誤の手助けにでもなれば良いと思っています。記載内容に間違いがあるかも知れませんが、このページの目的はDNS設定の手助けです。DNSを正しく理解したいと思う方は専門書をお読み下さい。