ネーム(DNS)サーバーとは何?ざっくり説明してみます

レンタルサーバーでドメイン登録をした後、ドメインを取得先でネームサーバーを設定します。
WordPressなどでサイトをつくるための手順として説明されていますが、どうしてこんなことをするのかという解説がない。

そこで今回は、ネームサーバーとは何か、どうして設定する必要があるのかということを、専門用語をあまり交えずに解説します。

ドメインとIPアドレスの関係

ネームサーバーについての説明の前に、まずはドメインとIPアドレスの関係について説明します。

ドメインは、「abcde.com」や「abcde.co.jp」など表現されます。

これは人で例えると、名前と大まかな住んでいる地域です。

「日本の花子さん」「イギリスのハリー君」のようなイメージです。

ドメインは名前と大まかな住んでいる地域

一方IPアドレスは、住所です。
「日本の東京都の〇〇区の〇〇番地」というイメージです。
ここに誰が住んでいるかという情報はありません。

つまりドメインだけでは、花子さんはどこに住んでいるのかわかりませんし、IPアドレスだけではこの土地には誰が住んでいるのかわかりません。

そこで、その二つを関連付けることを「名前解決(Name Resolution)」といい、その役割を持っているのがDNS(Domain Name System)サーバー、別名ネームサーバーです。

ネームサーバーは街の住所録

レンタルサーバーは、それぞれ独自のネームサーバーを持っていて、その中にドメイン名とIPアドレスの一覧を作成しています。

ネームサーバー ドメイン名とIPアドレスの一覧

つまり、自分の地域に住んでいる人の名前と住所の一覧です。

ドメイン名からIPアドレスを調べ名前解決するには、この一覧を見れば一目瞭然なのです。

IPアドレスを調べる

しかし、まだ問題があります。

〇〇さんの住所が登録されている住所録がどこにあるのか、ということがわかりません。

ネームサーバーがどこにあるのかわからない

そこで誰でも見ることができる場所に、その情報を載せておく必要があります。

トップレベルドメインに登録

それがドメインの取得先で、ネームサーバーを登録するということなのです。

実際はドメイン取得先に登録されるわけではない

ネームサーバーはドメイン取得先に登録すると書きました。

しかし実際にIPアドレスを調べるとき、ドメイン取得先のサーバーを見に行くわけではないのです。

ドメインは、「com」や「jp」などから選んで取得します。
これはトップレベルドメインと呼ばれていて、それぞれにネームサーバーを持っています。

このネームサーバーには、ドメイン名とネームサーバーの一覧が登録されています。

トップレベルドメイン ドメイン名とネームサーバー

ドメインのIPアドレスを調べるときは、このトップレベルドメインを見に行くのです。

そしてドメイン取得先は、ネームサーバーを自動的にトップレベルドメインに登録してくれているのです。

トップレベルドメインの登録確認はWhois検索でおこなう

ドメイン取得先にネームサーバーを登録した後、その情報が広まるまで数十分から数時間かかります。

そのため、設定ができていないのではないかと、非常に不安です。

そこでWhois検索を使用することで、トップレベルドメインに登録されている情報を見ることができます。

ということで、Whois検索できるツールを作成しました。

Whois検索 | ドメイン所有者・ネームサーバー確認
Whois検索 結果

ドメイン名を入力するだけで、ネームサーバーの登録状況を簡単に調査することができます。

ぜひ、ご利用ください!

ネームサーバーを複数登録する理由

上のWhois検索結果を見ると、ネームサーバーが5つも登録されています。
なぜ、複数登録されているのでしょうか。

ネームサーバーも機械です。
なのでいつ止まってもおかしくないですよね。

そのためネームサーバーは2台以上の機器を用意して、故障のリスクを分散するのが望ましいとされています。

そのため主となるネームサーバー(プライマリやマスターと呼ばれる)を用意し、そのコピーをサブとなるネームサーバー(セカンダリやスレーブと呼ばれる)に保存しておくのが一般的です。

ちなみにmixhostの場合、NS1.MIXHOST.JPからNS5.MIXHOST.JPまでの5つありますが、全てMIXHOST.JPのサブドメインです。

私たちがレンタルサーバーを利用する場合、サブドメインも同じサーバーに作成します。
つまり、サーバーが止まると、すべて止まってしまいます。

この理屈からいくと、mixhostのネームサーバーもすべて止まってしまいそうですね。
しかし実際は、全て別のIPアドレスとなっています。
確認してみましょう。

Windowsの場合、コマンドプロンプトを開いて、次のコマンドを入力してみてください。

> ping ドメイン名

>ping NS1.MIXHOST.JP
NS1.MIXHOST.JP [162.159.24.192]に ping を送信しています 32 バイトのデータ:
162.159.24.192 からの応答: バイト数 =32 時間 =12ms TTL=59
162.159.24.192 からの応答: バイト数 =32 時間 =13ms TTL=59
162.159.24.192 からの応答: バイト数 =32 時間 =12ms TTL=59
162.159.24.192 からの応答: バイト数 =32 時間 =12ms TTL=59

162.159.24.192がNS1.MIXHOST.JPのIPアドレスです。

>ping NS2.MIXHOST.JP
NS2.MIXHOST.JP [162.159.25.9]に ping を送信しています 32 バイトのデータ:
>ping NS3.MIXHOST.JP
NS3.MIXHOST.JP [162.159.24.192]に ping を送信しています 32 バイトのデータ:
>ping NS4.MIXHOST.JP
NS4.MIXHOST.JP [162.159.25.9]に ping を送信しています 32 バイトのデータ:
>ping NS5.MIXHOST.JP
NS5.MIXHOST.JP [162.159.24.192]に ping を送信しています 32 バイトのデータ:

このように全て異なるIPアドレスに…なっていませんね…

162.159.24.192と162.159.25.9の二つだけです。

どういうことなんでしょうか…?

一般家庭のネットワークについて考えてみると、わかりやすいです。

家庭内のネットワークには、複数の機器がつながっています。
しかし、外からみたIPアドレスは一つだけです。

mixhostの内部情報が公開されていないので、実際のところはわかりませんが、おそらく各ネームサーバーも別の機器だと思われます。

これもリスク管理の一つですね。