このページではネームサーバーについて解説していきます。
下記ページでの「ウェブページが表示される仕組み」の解説の通り、ウェブページを表示する際には指定した URL に対応するウェブサーバーに対してページ表示の要求を送信する必要があります。
Webページ表示の仕組みと表示までの流れただし、ページ表示の要求を送信するためには、URL に対応するウェブサーバーの IP アドレスを事前に取得する必要があります。
この URL に対応するウェブサーバーの IP アドレス取得先となるのが「DNS サーバー」となります。DNS サーバーは、URL 内で指定されるドメイン名を「IP アドレスに変換する」というサービスを提供するサーバーになります。
そして、このページで解説するネームサーバーとは、上記の DNS サーバーのことになります。つまり「ネームサーバー = DNS サーバー」です。
すなわち、ネームサーバーはドメインを IP アドレスに変換するサービスを提供するサーバーになります。また、ドメイン名から IP アドレスに変換することを名前解決と呼びます。
ここまでは上記ページでも解説していますが、このページでは、このネームサーバーによって名前解決が行われる仕組みについて解説をしていきます。
この仕組みを知っておけば、自身がウェブサイトを運営する際に、ネームサーバー関連の設定としてどのようなことを行う必要があるか、なぜそういう設定をする必要があるのかを自然と理解することができるはずです。
Contents
ネームサーバーとは
少し前述でもネームサーバーについて説明しましたが、ここではネームサーバーについて、もう少し詳細な解説をしていきたいと思います。ネームサーバーの説明が不要という方は、次の ネームサーバーによる名前解決の仕組み までスキップしていただければと思います。
IP アドレスとドメイン名
ネームサーバーを理解する上で、IP アドレスとドメイン名の知識が必須となります。
ですので、まずは IP アドレスとドメイン名について簡単に解説をしておきたいと思います。
IP アドレス
IP アドレスとは「ネットワーク上におけるコンピューターの識別子」になります。例えば 192.168.1.5
のように4つの 0
〜 255
の整数を .
区切りで表したものが IP アドレスとなります。
上記のような 0
〜 255
の4つの整数を .
区切りで表す IP アドレスは IPv4 形式のものになります
IPv6 形式の IP アドレスも存在するのですが、このページでは IPv4 形式の IP アドレスのみを扱います
コンピューターがネットワーク上の他のコンピュータを識別する際には、この IP アドレスが利用されます。例えば、コンピューター同士で通信を行う際、通信先のコンピューターを指定するために IP アドレスが利用されます。
ですので、例えばウェブブラウザーからあるコンピューター上(ウェブサーバー上)で公開されているウェブサイトを閲覧したい場合は、そのコンピューターの IP アドレスに対して通信を行い、ページの表示を要求することが必要になります。
コンピュータにとっては都合の良い IP アドレスではあるのですが、IP アドレスは数字が羅列されているだけなので、人間には覚えにくく扱いにくい識別子となります。
ドメイン
そのため、人間でも覚えやすいように、コンピュータの識別子としてドメイン名というものが用意されています。
ドメイン名の例は、このサイトであれば daeuwordpress.com
ですし、有名な例としては google.com
や yahoo.co.jp
などが挙げられると思います。単語として認識できるため人間でも覚えやすく、またドメイン名からどういった企業のサイトであるか、どういったコンテンツのサイトであるかを識別することもできるようになっています。
ただし、前述の通りコンピューターがネットワーク上の他のコンピューターを識別する際に利用されるのは IP アドレスであり、ドメイン名ではありません。
そのため、ユーザーがコンピューターに対してドメイン名を指定するような場合であっても、そのドメイン名を IP アドレスに変換した上で、その IP アドレスを利用して通信等が行われることになります。
スポンサーリンク
ネームサーバー
その変換の役割を担うのがネームサーバーになります。
ここでは、ウェブサイト運営者視点ではなく、ウェブサイト閲覧者側の視点でネームサーバーの動作を確認しておきたいと思います。
ネームサーバーの役割
ネームサーバーは、人間にとって分かりやすいドメイン名を IP アドレスに変換するサービスを提供するサーバー(コンピューター)です。前述の通り、ドメイン名を IP アドレスに変換することを名前解決と呼びます。
ネームサーバーの動作例
例えば、あなたのパソコンからウェブページを閲覧する際のネームサーバーの動作について考えてみましょう!
ウェブブラウザーのアドレスバーにドメイン名を利用して URL を指定した場合、その URL からドメイン名が抽出され、あなたのパソコンからネームサーバーに対してドメイン名の問い合わせが行われます。
それに対し、ネームサーバーは、問い合わせされたドメイン名を IP アドレスに変換し、その IP アドレスを問い合わせ元であるあなたのパソコンに返答します。
さらに、あなたのパソコンは IP アドレスを受け取り、その IP アドレスに対してページ表示の要求を送信します。この要求を受け取ったサーバー(コンピューター)は、ページ表示に必要なデータをあなたのパソコンに送信します。
そして、あなたのパソコンはページ表示に必要なデータを受け取り、そのデータを利用してウェブブラウザー上に最初にアドレスバーに指定した URL のページを表示することになります。
このように、ネームサーバーによってドメイン名から IP アドレスへの変換が行われるため、人間にとって苦手な IP アドレスを意識しなくてもドメイン名のみを利用して色んなウェブサイトのページを閲覧することができるようになっています(コンピュータ同士は変換された IP アドレスを利用して通信を行なっています)。
この名前解決(ドメイン名から IP アドレスの変換)は、ウェブサイトのページ閲覧を行う場合だけでなく、様々な場面で行われることになります。
例えば、特定のコンピューターとのネットワークの疎通確認を行うコマンドとして ping
が存在しますが、ping
の引数に IP アドレスではなくドメイン名を指定した場合には、ページ閲覧時と同様の流れで名前解決が行われて IP アドレスに変換され、その IP アドレスに対して ping
コマンドが実行されることになります。
% ping daeuwordpress.com
また、ここまでパソコンを使用する例でネームサーバーの動作について説明しましたが、パソコンだけでなくスマホやタブレット等からウェブサイトのページ閲覧を行うような際にも同様の動作が行われることになります。
ネームサーバーを利用するための設定
ただし、上記のようにネームサーバーを利用した名前解決を行うためには、ウェブサイトの閲覧等を行うパソコンに、問い合わせ先のネームサーバーの IP アドレスを適切に設定する必要があります。
この設定に関しては詳細な説明は省略しますが、IP アドレスを自動的に割り当てるように設定している場合(DHCP を利用している場合)、この問い合わせ先のネームサーバーの IP アドレスも自動的に適切に設定されるはずなので、そこまでユーザーはネームサーバーの IP アドレスを意識する必要はありません。
ネームサーバーによる名前解決の仕組み
ウェブサイトの閲覧者側の視点で考えれば、名前解決を上手く行うためには、自身のパソコン等に適切にネームサーバーの IP アドレスを指定すれば良いだけになります。
ですが、ウェブサイトを運営し、世界中にウェブサイトを公開していくためには、自身のパソコンではなくネームサーバーに対しての設定が必要になります。
次は、ネームサーバーによる名前解決の仕組みについて解説し、その解説の中で必要になる設定について説明していきたいと思います。
独自ドメインを取得してウェブサイトを運営したことがある方であれば、ネームサーバー関連の設定を行なった経験のある方も多いのではないかと思います。ですが、おそらく、その際には提示された手順だけを実施するだけで、なぜその手順で設定する必要があるのかについては考えたことがないのではないでしょうか?
ここから説明する仕組みについて理解すれば、ネームサーバー関連の設定における各手順が必要である理由が明確に分かると思います。
名前解決の実例
まず仕組みについての解説を行う前に、名前解決の流れのイメージがわかりやすくなるよう、実例を示して名前解決の流れを紹介しておきたいと思います。
ちょっと疑問に思う点はあるかもしれませんが、まずは流れだけを紹介し、後から補足を行う形で詳細を解説していきたいと思います。
da1e2u3.xsrv.jp
の名前解決
まずは、da1e2u3.xsrv.jp
というドメイン名に対して名前解決が行われていく流れを紹介したいと思います。
da1e2u3.xsrv.jp
は、私がエックスサーバーでサーバーの契約をした際にエックスサーバーから付与されたドメイン名をちょっと変更したものになります(実在しないはずなので注意してください)。ポイントは da1e2u3.xsrv.jp
の取得先の会社と da1e2u3.xsrv.jp
に対応するサーバーの運営会社が両方ともエックスサーバーであるという点になります。
例えば、あなたのパソコンのウェブブラウザーから http://da1e2u3.xsrv.jp/
を表示しようとした場合、まず http://da1e2u3.xsrv.jp/
からドメイン名 da1e2u3.xsrv.jp
が抽出され、このドメイン名の問い合わせが行われます。この問い合わせ先のネームサーバーは、あなたのパソコンに設定されたネームサーバーになります。
この、最初に問い合わせが行われるネームサーバーは基本的にはキャッシュサーバーと呼ばれるネームサーバーになります。キャッシュサーバーはフルサービスリゾルバーとも呼ばれます。ネームサーバーの動作例 で登場したネームサーバーはキャッシュサーバーとなります。
もし、問い合わせ先のキャッシュサーバーが da1e2u3.xsrv.jp
の IP アドレスを知っている場合、その IP アドレスがあなたのパソコンに返却されて名前解決に成功することになります。
それに対し、問い合わせ先のキャッシュサーバーが da1e2u3.xsrv.jp
の IP アドレスを知らない場合、キャッシュサーバーから別のネームサーバーに対してドメイン名の問い合わせが行われることになります。そして、別のネームサーバーに問い合わせた結果が、最終的に元々の問い合わせ元であるパソコンに返答されることになります。
その際の da1e2u3.xsrv.jp
の名前解決の流れは下の図のようになります(青色のサーバーがキャッシュサーバーで、複数存在するようにも見えますが全て同じキャッシュサーバーになります)。
まず、最初にキャッシュサーバーから問い合わせが行われるのはルートネームサーバーと呼ばれるネームサーバーになります。
このルートネームサーバーは da1e2u3.xsrv.jp
の IP アドレスは知りませんが、「.jp
に詳しいネームサーバー」のことは知っています。そのため、ルートネームサーバーは da1e2u3.xsrv.jp
の IP アドレスではなく、次の問い合わせ先として「.jp
に詳しいネームサーバー」の情報を返答することになります。
さらに、返答を受け取ったキャッシュサーバーは、da1e2u3.xsrv.jp
の IP アドレスを知るために、返答時に教えてもらったネームサーバー(.jp
に詳しいネームサーバー)に対して da1e2u3.xsrv.jp
の問い合わせを行います。
この .jp
に詳しいネームサーバーも残念ながら daeu.xsrv.jp
の IP アドレスを知りません。ですが「xsrv.jp
に詳しいネームサーバー」のことは知っています。そのため、先ほどと同様に次の問い合わせ先のネームサーバーとして「xsrv.jp
に詳しいネームサーバー」の情報を返答してくれます。
この xsrv.jp
に詳しいネームサーバーとは、具体的には ns1.xserver.jp
〜 ns5.xserver.jp
という「エックスサーバーのネームサーバー」になります。
ですので、その返答受け取ったキャッシュサーバーは、先ほどと同様に da1e2u3.xsrv.jp
の IP アドレスを知るために「エックスサーバーのネームサーバー」に対して da1e2u3.xsrv.jp
の問い合わせを行うことになります。
このエックスサーバーのネームサーバーは da1e2u3.xsrv.jp
の IP アドレスを知っています。そのため、da1e2u3.xsrv.jp
の IP アドレスをキャッシュサーバーに対して返答し、さらにキャッシュサーバーが返答された IP アドレスを問い合わせ元のパソコンに返答します。これにより名前解決に成功することになります。
daeuwordpress.com
の名前解決
続いて daeuwordpress.com
の名前解決がの流れを紹介していきます。
daeuwordpress.com
は私が「お名前.com」から取得したドメインになります。また、この daeuwordpress.com
のウェブサイトは「エックスサーバー」からレンタルしているサーバー上で公開されています。
つまり、da1e2u3.xsrv.jp の名前解決 の場合とは異なり、daeuwordpress.com
の場合はドメイン名の取得先会社とドメイン名に対応するサーバーの運営会社が違います。
この場合の名前解決の流れを確認していきましょう。
最初にキャッシュサーバーに対して問い合わせが行われ、キャッシュサーバーが IP アドレスを知らない場合にルートネームサーバーに問い合わせが行われる点は da1e2u3.xsrv.jp
の場合と同様になります。
ですが、ルートネームサーバーから返答されるのは .jp
に詳しいネームサーバーではなく「.com
に詳しいネームサーバー」となります。
したがって、次にキャッシュサーバーから問い合わせが行われるのは「.com
に詳しいネームサーバー」となります。ただし、.com
に詳しいネームサーバーは daeuwordpress.com
の IP アドレスは知りません。ですが、「daeuwordpress.com
に詳しいネームサーバー」のことは知っているため、次の問い合わせ先のネームサーバーとして、「daeuwordpress.com
に詳しいネームサーバー」の情報を返答します。
この daeuwordpress.com
に詳しいネームサーバーとは、実は da1e2u3.xsrv.jp の名前解決 でも登場した ns1.xserver.jp
〜 ns5.xserver.jp
という「エックスサーバーのネームサーバー」になります。
そして、その返答受け取ったキャッシュサーバーは、先ほどと同様に daeuwordpress.com
の IP アドレスを知るために「エックスサーバーのネームサーバー」に対して daeuwordpress.com
の問い合わせを行います。
このエックスサーバーのネームサーバーは daeuwordpress.com
の IP アドレスを知っています。そのため、daeuwordpress.com
の IP アドレスをキャッシュサーバーに対して返答し、これにより名前解決に成功することになります。
スポンサーリンク
名前解決の仕組み
ここで紹介した2つの名前解決の例は、ウェブサイト運営者が独自ドメインを取得したときに必要な設定を理解する上で良い例になると思います。
名前解決の例を復習しながら、名前解決の仕組みについて説明していきたいと思います。
最初に問い合わせを受けるのはキャッシュサーバー
da1e2u3.xsrv.jp の名前解決 においても daeuwordpress.com の名前解決 においても名前解決を行うために最初に行われることは共通で、まずは名前解決を行う際にはパソコンに設定されたネームサーバーにドメイン名の問い合わせが行われます。
この最初の問い合わせ先のネームサーバーのことはキャッシュサーバーと呼ばれます(フルサービスリゾルバーとも呼ばれる)。この問い合わせ先となるキャッシュサーバーはパソコンやスマホ等の設定によって異なります。
このキャッシュサーバーは、名前の通りキャッシュ機能を備えたネームサーバーであり、一度問い合わせを受けて名前解決を行なったことのあるドメイン名の IP アドレスを一時的に保持しています。なので、保持しているドメイン名の問い合わせを受けた際にはキャッシュサーバーが直接名前解決を行なって問い合わせ元に IP アドレスを返答することになります。
ただし、時間の経過等によって記録していたドメイン名の情報が削除されますし、そもそも問い合わせを受けたことこのないドメイン名に関しては記録されていないため、こういったドメイン名の名前解決はキャッシュサーバーでは行うことができません。
このような場合、キャッシュサーバーは他のネームサーバーに問い合わせを行うことで名前解決を試みることになります。その問い合わせによって名前解決に成功した場合は、問い合わせ元に IP アドレスを返却しますし、失敗した場合は問い合わせ元にエラーを返却することになります。
キャッシュサーバーがルートネームサーバーに問い合わせする
このキャッシュサーバーからの最初の問い合わせ先となるネームサーバーはルートネームサーバーと呼ばれます。
da1e2u3.xsrv.jp の名前解決 においても daeuwordpress.com の名前解決 においても、キャッシュサーバーからの最初の問い合わせ先は同じでしたね!
ですが、問い合わせに対する返答は異なりました。
da1e2u3.xsrv.jp の名前解決 の場合は「.jp
に詳しいネームサーバー」の情報が返答され、daeuwordpress.com の名前解決 の場合は「.com
に詳しいネームサーバー」の情報が返答されました。
なぜ2つの場合で返答が異なるのでしょうか?
その理由は2つのドメイン名においてトップレベルドメインが異なるためです。
ドメイン名は、.
を区切りに右側から順にレベル別に分解することができます。レベル別に分解した場合に一番右側に存在するものがトップレベルドメインとなります。da1e2u3.xsrv.jp
の場合は jp
、daeuwordpress.com
の場合は com
がトップレベルドメインということですね。
そして、ルートネームサーバーは問い合わせを受けたドメイン名に対し、トップレベルドメインに応じて次の問い合わせ先となるネームサーバーを返答するようになっています。
そのため、ルートネームサーバーは da1e2u3.xsrv.jp
の問い合わせを受けた際には .jp
に詳しいネームサーバーの情報を、daeuwordpress.com
の問い合わせを受けた際には .com
に詳しいネームサーバーの情報を返答することになります。
要は、ルートネームサーバーはトップレベルドメインに応じて次の問い合わせ先を振り分けるような処理を行うサーバーになります。
キャッシュサーバーがより詳しいネームサーバーに問い合わせする
そして、次に問い合わせを受けたネームサーバーは、セカンドレベルドメインに応じて返答を行うようになっています。da1e2u3.xsrv.jp
の場合は、セカンドレベルドメインは xsrv.jp
ですので、xsrv.jp
に詳しいネームサーバーの情報を返答することになります。
このように、(キャッシュサーバーを除く)ネームサーバーは問い合わせを受けた際に、そのネームサーバーが詳しいドメインの一段階下位のレベルのドメインに詳しいネームサーバーを次の問い合わせ先として返答するようになっています(そのドメイン名の IP アドレスを返答することもあります)。
これは、キャッシュサーバーを、問い合わせを受けたドメイン名にもっと詳しいネームサーバーに誘導していくイメージになります。
最終的に IP アドレスを知っているネームサーバーに問い合わせする
そして、ネームサーバーからの返答に応じて段階的にキャッシュサーバーからの問い合わせを繰り返していけば、いずれは問い合わせされたドメイン名に一番詳しいネームサーバー、すなわち、ドメイン名の IP アドレスを知っているネームサーバーに辿り着きます。
問い合わせを受けたドメイン名の IP アドレスを知っているネームサーバーは、その問い合わせの返答として IP アドレスを返却することになり、それによってキャッシュサーバーが IP アドレスを取得することができ、さらにその IP アドレスを問い合わせ元に返却してやれば名前解決が完了することになります。
da1e2u3.xsrv.jp
の場合であれば、このドメイン名はエックスサーバーが管理しているもの(エックスサーバーから付与されたドメイン名)ですので、エックスサーバーのネームサーバーは da1e2u3.xsrv.jp
の IP アドレスを知っています。
さらに、.jp
に詳しいネームサーバーは、次の問い合わせ先として .xsrv.jp
に詳しいネームサーバー、すなわちエックスサーバーのネームサーバーを返答してくれますので、この返答先のネームサーバーに問い合わせをした際に、da1e2u3.xsrv.jp
の IP アドレスが返答されることになります。
これによって da1e2u3.xsrv.jp
の名前解決が完了することになります。
ちなみに、ここまでに登場した “キャッシュサーバー以外のネームサーバー” は権威サーバー(もしくはコンテンツサーバー)と呼ばれるサーバーになります。
権威サーバーは問い合わせを受けたドメイン名に対し、自身が知っている情報の返答を行います。自身が知っている情報とは、そのドメインの IP アドレス or そのドメインにもっと詳しいネームサーバーになります。もしくは、そのドメイン名の情報を知らない場合は、知らない旨を返答することになります。
権威サーバーは、キャッシュサーバーとは異なり、他のネームサーバーに問い合わせを行うようなことは行いません。
ネームサーバーには大きく分けてキャッシュサーバーと権威サーバーの2種類が存在することは覚えておくと良いと思います。
名前解決を実現するために必要な設定
da1e2u3.xsrv.jp
の場合は非常に分かりやすい流れで名前解決が行われていると思います。
おさらいしておくと、da1e2u3.xsrv.jp
の場合は下記のように最終的にエックスサーバーのネームサーバーに問い合わせが行われるように誘導され、さらに da1e2u3.xsrv.jp
はエックスサーバーが管理しているドメイン名なので、エックスサーバーのネームサーバーに問い合わせが行われれば、da1e2u3.xsrv.jp
の名前解決が完了することになります。
- ルートネームサーバーへの問い合わせ
.jp
に詳しいネームサーバーへの問い合わせ.xsrv.jp
に詳しいネームサーバー(エックスサーバーのネームサーバー)への問い合わせ
それに対し、daeuwordpress.com
の場合はちょっと不自然で、daeuwordpress.com の名前解決 で説明したように下記のような流れで問い合わせが行われることになります。
- ルートネームサーバーへの問い合わせ
.com
に詳しいネームサーバーへの問い合わせdaeuwordpress.com
に詳しいネームサーバー(エックスサーバーのネームサーバー)への問い合わせ
上記の 3. によって名前解決に成功するのですが、da1e2u3.xsrv.jp
の時とは異なり次の点に不自然さがあります。
1点目は、なぜ .com
に詳しいネームサーバーは daeuwordpress.com
に詳しいネームサーバーとして「エックスサーバーのネームサーバー」を返答するのか?という点になります。
da1e2u3.xsrv.jp
の場合、セカンドレベルドメインが xsrv.jp
なので、エックスサーバーのネームサーバーに問い合わせが行われるように誘導されるのは自然です。
ですが、daeuwordpress.com
は私が独自に名前を考えて「お名前.com」から取得したドメイン名になります。エックスサーバーから取得したドメイン名でもないのに、なぜ、.com
に詳しいネームサーバーは daeuwordpress.com
の問い合わせを受けた際にエックスサーバーのネームサーバーに誘導するのでしょうか?
2点目は、なぜエックスサーバーのネームサーバーは daeuwordpress.com
の IP アドレスを知っているのか?という点になります。
前述の通り、daeuwordpress.com
は私が独自に名前を考えて「お名前.com」から取得したドメイン名になります。「お名前.com」から取得したドメイン名なのに、なぜそのドメイン名に対する IP アドレスをエックスサーバーのネームサーバーが知っているのでしょうか?
これらの理由は単純明快で、下記のような設定を私が行なっているからになります。もっと正確に言えば、下記のような設定を行うことを私が「エックスサーバー」と「お名前.com」に対して依頼をしているからになります。
- 契約したレンタルサーバーで利用するドメイン名に
daeuwordpress.com
を追加 daeuwordpress.com
の問い合わせを受けた際に「.com
に詳しいネームサーバー」が「エックスサーバーのネームサーバー」の情報を返答するように設定
ネームサーバーへのドメインと IP アドレスの登録
上記の1点目はエックスサーバーに対して行なった設定であり、私が契約したレンタルサーバーで使用するドメイン名として daeuwordpress.com
を追加する設定となります。
この設定により、エックスサーバーに対し、レンタルしたサーバーで daeuwordpress.com
のドメイン名を利用することを伝えることになります。これにより、エックスサーバーは daeuwordpress.com
の IP アドレスが「私がレンタルしたサーバーの IP アドレス」であることを知ることになり、この情報にしたがって、エックスサーバーが「エックスサーバのネームサーバー」に対して daeuwordpress.com
の IP アドレスの情報を紐付けて登録してくれることになります。つまり、エックスサーバーのネームサーバーが daeuwordpress.com
の問い合わせを受けた際に IP アドレスを返答できるようになります。
ここで登録されるような、ドメイン名と IP アドレスを紐づけて管理する情報を A レコードと呼びます。
ネームサーバーへの次の問い合わせ先のネームサーバーの登録
さらに、上記の2点目は お名前.com に対して行なった設定であり、私が取得したドメイン名である daeuwordpress.com
に詳しいネームサーバーとして「エックスサーバーのネームサーバー」を登録しています。
この登録により、お名前.com が .com
に詳しいネームサーバーに対し、daeuwordpress.com
に詳しいネームサーバーとして「エックスサーバーのネームサーバー」を登録してくれます。これによって、.com
に詳しいネームサーバーが daeuwordpress.com
の問い合わせを受けた際に、エックスサーバーのネームサーバーを返答してくれるようになります。
ここで登録されるような、ドメイン名とネームサーバーとを紐付けて管理する情報を NS レコードと呼びます。
お名前.com の運営会社である GMO インターネットグループ株式会社はレジストラとして認定されており、.com
に詳しいネームサーバー等に NS レコードの登録を行うことが可能です。
そのため、お名前.com に対してドメイン名とネームサーバーを紐づけて登録しておけば、.com
に詳しいネームサーバーにその情報が NS レコードとして登録され、.com
に詳しいネームサーバーへの問い合わせ時に指定したネームサーバーが返答されるようになります。
このように、エックスサーバーに対して A レコードを登録するための設定と お名前.com に対して NS レコードを追加するための設定を行うことで、daeuwordpress.com
の名前解決が実現できるようになっています。
名前解決の一連の流れが実現できるように設定することが重要
これらの2つの設定のうち、どちらか一方でも設定が抜けていると名前解決に失敗するという点に注意してください。
ここまでの解説を読んでいただければ分かるように、名前解決に成功するためには「ドメイン名の IP アドレスを知っているネームサーバーが存在すること」と「最終的にそのネームサーバーに誘導されるように各ネームサーバーが返答すること」の2つが満たされている必要になります。
例えば、前者のエックスサーバーに対する設定のみを行ない、後者の お名前.com に対する設定を行わなかった場合は「最終的にそのネームサーバーに誘導されるように各ネームサーバーが返答すること」が満たされていないことになります。
この場合、.com
に詳しいネームサーバーは daeuwordpress.com
の存在を知らないことになります。したがって、.com
に詳しいネームサーバーが daeuwordpress.com
の問い合わせを受けた先に「そんなドメイン名は知らない」と返答されることになります。つまり、名前解決に失敗することになります。
また、後者の お名前.com に対する設定のみを行ない、前者のエックスサーバーに対する設定を行わなかった場合は「ドメイン名の IP アドレスを知っているネームサーバーが存在すること」が満たされていないことになります。
この場合、.com
に詳しいネームサーバーが daeuwordpress.com
の問い合わせを受けた際にエックスサーバーのネームサーバーを返答するようにはなりますが、エックスサーバーのネームサーバーは daeuwordpress.com
の存在を知らないため、daeuwordpress.com
の問い合わせを受けた先に「そんなドメイン名は知らない」と返答されることになります。この場合も名前解決に失敗することになります。
ただし、上記のような設定を全く行わなくても名前解決に成功する場合があります。
その一例が da1e2u3.xsrv.jp
になります。da1e2u3.xsrv.jp
の場合、ドメイン名の管理・ドメインを使用するサーバーの管理・ドメイン名が登録されているネームサーバーの管理の全てがエックスサーバーで行われています。このような場合は、わざわざ別途設定を行わなくても、ドメインの発行を行うだけで名前解決に成功するようになります。
ネームサーバーの設定手順
大体ネームサーバーで名前解決が行われる流れは理解していただけたのではないでしょうか?
次は、ウェブサイト公開時のネームサーバーの設定手順の具体例を紹介しておきたいと思います。
今回はウェブサイトを公開するウェブサーバーを エックスサーバー からレンタルし、さらにウェブサイトのドメイン名を お名前.com から取得した際の例で設定手順を紹介していきたいと思います。エックスサーバーからのレンタル契約と、お名前.com からのドメイン名の取得は既に完了している前提で解説していきます。
スポンサーリンク
ドメイン取得直後の状態
まずは、ドメイン名を取得した直後の状態についておさらいしておきましょう。
このドメイン名は、あなたが独自に考えたものであり、さらに お名前.com から取得したものなので、このドメイン名でウェブサイトが運営されることを「あなた」と「お名前.com」しか知りません。
つまり、このドメイン名の情報を知っているネームサーバーは存在しません。
そのため、このドメイン名の名前解決を行うことはできない状態です。名前解決が行うことができるよう、ネームサーバーに設定を行う必要があります。より正確には、ネームサーバーに設定を行うことを、エックスサーバーと お名前.com に依頼する必要があります。
エックスサーバーでの設定
その設定の1つがエックスサーバーでの設定になります。エックスサーバーではレンタルサーバーへの「ドメインの追加」の設定を行います。
この設定手順は次のようになります。
まず、エックスサーバーの サーバーパネル にログインします。ログインすると下の図のようなページが表示されますので、「ドメイン」欄の「ドメイン設定」リンクをクリックします。
クリックすると「ドメイン設定」ページに遷移しますので、「ドメイン設定追加」タブを選択し、「ドメイン名」のエントリーに お名前.com で取得したドメイン名を入力します。
入力した上で「確認画面へ進む」ボタンをクリックし、さらに次に表示されるページで「追加する」ボタンをクリックします。
これにより、エックスサーバーに対するネームサーバーの設定は完了となります。
上記の手順によって、エックスサーバーが2つのことが行ってくれます。
その1つ目が、追加したドメイン運用用のフォルダの追加になります。要は、追加したドメインに対するウェブサイトのデータを格納するためのフォルダがレンタルしたサーバー上に作成されます。あとは、このフォルダ内に必要なデータを格納したり、ワードプレスをインストールしたりすることでウェブサイトを構築していくことになります。
2つ目が、ネームサーバーへのドメイン名の登録になります。上記の手順を行うことで、先ほど追加したドメイン名の情報がエックスサーバーのネームサーバーに登録されます。この登録の際に、追加したドメイン名と契約しているレンタルサーバーの IP アドレスが紐づけて登録されるため(つまり A レコードが登録される)、追加したドメイン名の問い合わせを受けた際に、エックスサーバーのネームサーバーが紐付けされた IP アドレスを返答するようになります。
ですが、現状では、取得したドメイン名の問い合わせを受けたとしても、エックスサーバーのネームサーバーへの誘導は行われません。
これは、取得したドメイン名のことをエックスサーバーのネームサーバーよりも「上位のネームサーバー」が知らないからです(上位のネームサーバー:.com
に詳しいネームサーバーや .jp
に詳しいネームサーバー等)。
ですので、次は上位のネームサーバーがエックスサーバーのネームサーバーへ誘導してくれるように、上位のネームサーバーに対して設定を行なっていきます(設定を行うというよりも、設定を依頼する形になります)。
一応補足しておくと、パソコンへのネームサーバー設定に直接エックスサーバーのネームサーバーの IP アドレスを指定してやれば、現状の状態であってもドメイン名をウェブブラウザに指定してあなたのウェブサイトを閲覧することが可能です
ただし、パソコンへのネームサーバー設定にエックスサーバーのネームサーバーの IP アドレスを指定すると、そのエックスサーバーのネームサーバーに登録されているドメイン名のページしかアクセスできないようになるため(他のドメイン名の名前解決ができなくなるため)、通常はそのような設定は行われません
つまり、このエックスサーバーへの「ドメインの追加設定」のみでは、ウェブサイトを世界中に公開するという意味で不十分ということになります
お名前.com での設定
ということで、次は お名前.com での設定を行なっていきます。
まずは、お名前.com Navi にログインし、続いて「ネームサーバーの設定」リンクをクリックします。
すると、下の図のようにドメイン名の選択が促されますので、事前に取得しておいたドメイン名にチェックを入れます。
さらに、少し画面の下側に移動するとタブの選択ができますので、「他のネームサーバーを利用」のタブを選択します。
この選択により、ネームサーバーの入力欄が表示されますので、ここでエックスサーバーのネームサーバーを入力します。
ここで入力すべきエックスサーバーのネームサーバーに関しては、エックスサーバーのウェブページから確認することが可能です。具体的には、下記 URL のページから確認できると思います。
https://www.xserver.ne.jp/manual/man_domain_namesever_setting.php
先程の入力欄への入力が完了したら「確認画面へ進む」ボタンをクリックし、クリック後に表示されるページで「設定する」ボタンをクリックして設定を完了します。
上記の手順により、お名前.com が適切なネームサーバーに対して選択したドメイン名の登録を行なってくれます。例えば、daeuwordpress.com
のようにトップレベルドメインが com
の場合は、.com
に詳しいネームサーバーに対してドメイン名の登録を行ってくれますし、daeuwordpress.jp
のようにトップレベルドメインが jp
の場合は、.jp
に詳しいネームサーバーに対してドメイン名の登録を行ってくれます。
要は、上記のような手順さえ踏めば、あとは お名前.com が適切なネームサーバーに対して適切に設定を行なってくれます。
また、ここで登録されるのは、最初に選択したドメイン名に詳しいネームサーバーの情報となります(NS レコード)。したがって、その選択したドメイン名の問い合わせを受けた際には、レコード登録先のネームサーバーは上記設定で指定したネームサーバー(今回の例の場合はエックスサーバーのネームサーバー)のいずれかに問い合わせを行うよう誘導してくれるようになります。
以上のエックスサーバーでの設定と お名前.comでの設定により、お名前.com で取得したドメイン名の名前解決が行われるようになります。そして、この名前解決により、あなたが取得したドメインを利用して、あなたのウェブサイトを世界中のユーザーが閲覧することができるようになります。
スポンサーリンク
名前解決の流れを確認するコマンド
最後に参考情報として名前解決の流れを確認するコマンドについて紹介しておきます。
Mac や Linux の場合、dig
コマンドを利用することで名前解決の流れが確認可能です。
dig
コマンドの引数に「名前解決したいドメイン名」と「+trace
」の2つを指定してやれば、どういうネームサーバーに問い合わせを行いながら名前解決が行われていくのかを確認することが可能になります。
実際には、ネームサーバー(権威サーバー)への問い合わせはキャッシュサーバーが行ってくれるのですが、dig
コマンドを利用した場合は dig
がネームサーバーへの問い合わせをしながら名前解決が行われていくことになります。なので、ちょっと実際のネームサーバーの動作とは異なるのですが、それでもどのネームサーバーに対して問い合わせが行われるのかを調べるのには適しているコマンドになると思います。
実際の dig
コマンドの実行結果は下記のようになります(一部省略しています)。
% dig daeuwordpress.com +trace ; <<>> DiG 9.10.6 <<>> daeuwordpress.com +trace ;; global options: +cmd . 81961 IN NS g.root-servers.net. . 81961 IN NS j.root-servers.net. . 81961 IN NS e.root-servers.net. . 81961 IN NS l.root-servers.net. . 81961 IN NS d.root-servers.net. . 81961 IN NS a.root-servers.net. . 81961 IN NS b.root-servers.net. . 81961 IN NS i.root-servers.net. . 81961 IN NS m.root-servers.net. . 81961 IN NS h.root-servers.net. . 81961 IN NS c.root-servers.net. . 81961 IN NS k.root-servers.net. . 81961 IN NS f.root-servers.net. 〜略〜 ;; Received 525 bytes from 8.8.8.8#53(8.8.8.8) in 114 ms com. 172800 IN NS g.gtld-servers.net. com. 172800 IN NS m.gtld-servers.net. com. 172800 IN NS d.gtld-servers.net. com. 172800 IN NS e.gtld-servers.net. com. 172800 IN NS j.gtld-servers.net. com. 172800 IN NS i.gtld-servers.net. com. 172800 IN NS a.gtld-servers.net. com. 172800 IN NS b.gtld-servers.net. com. 172800 IN NS c.gtld-servers.net. com. 172800 IN NS h.gtld-servers.net. com. 172800 IN NS f.gtld-servers.net. com. 172800 IN NS k.gtld-servers.net. com. 172800 IN NS l.gtld-servers.net. 〜略〜 ;; Received 1177 bytes from 192.33.4.12#53(c.root-servers.net) in 140 ms daeuwordpress.com. 172800 IN NS ns1.xserver.jp. daeuwordpress.com. 172800 IN NS ns2.xserver.jp. daeuwordpress.com. 172800 IN NS ns3.xserver.jp. daeuwordpress.com. 172800 IN NS ns4.xserver.jp. daeuwordpress.com. 172800 IN NS ns5.xserver.jp. 〜略〜 ;; Received 695 bytes from 192.41.162.30#53(l.gtld-servers.net) in 134 ms daeuwordpress.com. 3600 IN A 183.90.238.43 ;; Received 62 bytes from 183.90.224.226#53(ns4.xserver.jp) in 27 ms
最初に注目していただきたいのは下記の部分で、この部分は、最後の行に示されているように、IP アドレスが 8.8.8.8
のネームサーバーに対して daeuwordpress.com
の問い合わせをした際の返答結果となります。
. 81961 IN NS g.root-servers.net. . 81961 IN NS j.root-servers.net. . 81961 IN NS e.root-servers.net. . 81961 IN NS l.root-servers.net. . 81961 IN NS d.root-servers.net. . 81961 IN NS a.root-servers.net. . 81961 IN NS b.root-servers.net. . 81961 IN NS i.root-servers.net. . 81961 IN NS m.root-servers.net. . 81961 IN NS h.root-servers.net. . 81961 IN NS c.root-servers.net. . 81961 IN NS k.root-servers.net. . 81961 IN NS f.root-servers.net. 〜略〜 ;; Received 525 bytes from 8.8.8.8#53(8.8.8.8) in 114 ms
IP アドレス 8.8.8.8
は私のパソコンのネームサーバー設定に指定されている IP アドレスであり、名前解決が必要な際には最初に 8.8.8.8
のネームサーバー(キャッシュサーバー)に問い合わせが行われることになっています。
そして、上記のように、問い合わせ結果として a.root-servers.net
〜 m.root-servers.net
が示された13個のレコードが返答されています。これらの13個のレコードで示される a.root-servers.net
〜 m.root-servers.net
はルートネームサーバーになります。実は、ここまで説明を省略してきましたが、ルートネームサーバーは世界中に13個存在しています。
本来であれば、キャッシュサーバー 8.8.8.8
が直接ルートネームサーバーである a.root-servers.net
〜 m.root-servers.net
のいずれかに次の問い合わせを行うのですが、dig
コマンドを実行した場合は dig
がキャッシュサーバー 8.8.8.8
の返答を受け、dig
が a.root-servers.net
〜 m.root-servers.net
のいずれかに次の問い合わせを行うことになります。
この問い合わせ結果が、次に表示されている下記部分になります。
com. 172800 IN NS g.gtld-servers.net. com. 172800 IN NS m.gtld-servers.net. com. 172800 IN NS d.gtld-servers.net. com. 172800 IN NS e.gtld-servers.net. com. 172800 IN NS j.gtld-servers.net. com. 172800 IN NS i.gtld-servers.net. com. 172800 IN NS a.gtld-servers.net. com. 172800 IN NS b.gtld-servers.net. com. 172800 IN NS c.gtld-servers.net. com. 172800 IN NS h.gtld-servers.net. com. 172800 IN NS f.gtld-servers.net. com. 172800 IN NS k.gtld-servers.net. com. 172800 IN NS l.gtld-servers.net. 〜略〜 ;; Received 1177 bytes from 192.33.4.12#53(c.root-servers.net) in 140 ms
最後の行で示されているように、次の問い合わせはルートネームサーバーの1つである c.root-servers.net
に対して行われており、その結果、次の問い合わせとして、.com
に詳しいネームサーバーである a.gtld-servers.net
〜 m.gtld-servers.net
の13個のネームサーバーの情報が返答されています。
この返答結果を受けて、次は a.gtld-servers.net
〜 m.gtld-servers.net
のいずれかのネームサーバーに対して問い合わせが行われます。
その問い合わせ結果を表しているのが下記部分になります。
daeuwordpress.com. 172800 IN NS ns1.xserver.jp. daeuwordpress.com. 172800 IN NS ns2.xserver.jp. daeuwordpress.com. 172800 IN NS ns3.xserver.jp. daeuwordpress.com. 172800 IN NS ns4.xserver.jp. daeuwordpress.com. 172800 IN NS ns5.xserver.jp. 〜略〜 ;; Received 695 bytes from 192.41.162.30#53(l.gtld-servers.net) in 134 ms
最後の行で示されているように、次の問い合わせは .com
に詳しいネームサーバーの1つである l.gtld-servers.net
に対して行われており、その結果、次の問い合わせとして、daeuwordpress.com
に詳しいネームサーバーである ns1.xserver.jp
〜 ns5.xserver.jp
の5個のネームサーバーの情報が返答されています。
これらのネームサーバーは、前述でも説明したようにエックスサーバーのネームサーバーになります。
この返答を受け、最後に ns1.xserver.jp
〜 ns5.xserver.jp
のいずれかに対して問い合わせが行われ、IP アドレスの変換に成功することになります。
その最後の問い合わせの結果を表しているのが下記部分になります。
daeuwordpress.com. 3600 IN A 183.90.238.43 ;; Received 62 bytes from 183.90.224.226#53(ns4.xserver.jp) in 27 ms
ここでは、ns4.xserver.jp
に対して問い合わせが行われ、ns4.xserver.jp
から IP アドレス 183.90.238.43
が返答されていることが示されています。これで daeuwordpress.com
の名前解決が完了したことになります。
以上のように、dig
コマンドを利用すれば、指定したドメイン名の名前解決を行うために、どのようなネームサーバーに対して問い合わせが行われるのかを調べることができます。
まとめ
このページではネームサーバーについて解説を行いました!
ネームサーバーは一言で言えば名前解決を行うサーバー、すなわち、問い合わせを受けたドメイン名を IP アドレスに変換するサーバーになります。
ただし、この名前解決はネームサーバー1台だけで実現されているわけではなく、複数のネームサーバーが連携して動作することで実現されています。
そのため、ウェブサイトやウェブページを閲覧するだけであればパソコンやスマホに適切にネームサーバーの IP アドレスが設定されているだけで良いのですが、ウェブサイトを運営するのであれば、複数のネームサーバーが上手く連携して動作するようにネームサーバーに対して設定を行うことが必要になる場合があります(ネームサーバーに対して設定を行うよう依頼を行う)。
もちろん、この設定方法はドメイン取得先やサーバーのレンタル先の会社が提示してくれているのですが、今回説明したような仕組みを理解しておけば、どういった設定が必要であるかも自ら思いつくようになり、設定漏れなども防ぎやすくなると思います。また、仕組みを理解しておけば、トラブルなどが発生した時も対処しやすいと思います!
結構長々と解説しましたが、ネームサーバーが名前解決を行う仕組みは単純だと思いますので、是非今回説明した内容は頭の片隅にでも置いておいてください!
また、今回説明を行う上で具体例として使用した エックスサーバー や お名前.com に関しては、利用者が多いということもありネット上にも多くの情報が存在します。そのため、困った時やトラブル発生時にもググるだけで解決できることも多いです。
そういった意味では、特にウェブサイト運営初心者の方には、エックスサーバー と お名前.com はオススメです。私もレンタルサーバーはエックスサーバーのものを使用し、ドメインは お名前.com から取得しています。
知りたい情報からその先の疑問まですべて回収されていて、読みやすく理解しやすかったです!
Wordpressでサイト運営をしているなら、ただ手順通りに作業するだけで解決できてしまいますが、仕組みをしっているといざという時に役立ちそうです!この記事は見るべきですね!
リクエストにお応えいただきありがとうございます!
良質な記事作成ありがとうございます!だえうさんのファンになってしまいました。
支援もさせていただきました!
1つアドバイスをいただきたくコメントいたしました。
こちらのページにコメントするのは変かもしれないので、もしそぐわないようでしたら削除いただけますと幸いです。
私は今、ConoHa VPSに契約し、KUSANAGIを導入してWordpressサイトを運営しています。
時折、サイトがクラッシュ?ダウン?したりして見れなくなることがあるのですが、技術的な知識がほぼなく、外部の方に有償で修正いただいております。
それはそれで悪いことではないですが、自分でも解決したり、解決までいかなくても「この日に、ここで、こういう原因でこんなエラーが起きたから解決してください」みたいに中身がわかるようになりたいなと思っています。
ですが、そもそも自分が何がわからないのかがわからず、何を学んでいいかわからないの現状です。
そのためまずはWebページの表示やWordpress周りの基礎知識かと思い、こちらのサイトに行き着いたまでです。
あれもこれもだえうさんに解説してもらうのも申し訳ないので、もしよければ「この順番でここを学んだほうがいいよ」みたいなアドバイスをいただけると嬉しいです。
neo さん
コメントありがとうございます!
ネームサーバーの記事も読んでいただきありがとうございます!
また支援までしていただき大変感謝しております。本当にありがとうございます。
>「この日に、ここで、こういう原因でこんなエラーが起きたから解決してください」みたいに中身がわかるようになりたいなと思っています。
ちょっと何が原因でダウンしているかが分かっていないので的外れな回答になるかもしれませんが、
こういう情報を知りたいのであれば、まずはログファイルの確認ができるようになるのが良いかと思います。
ログファイルには、各ソフトウェアが行なった処理やエラー発生時の情報が出力されるようになっています。
例えばワードプレスの処理が原因でウェブサイトが閲覧できなくなっているのであれば、
どういった時間にどういった処理が行われてエラーが発生したかが記録されてる可能性があります。
ですので、ログファイルを確認できるスキルが備われば、上記のような内容を理解することができるようになるのではないかと思います。
ただ、ログファイルを確認するためには、ログファイルの確認の仕方を知る必要があります。
また、そもそもログの出力設定が OFF の場合はログファイルが存在していない可能性もあるので、ログの出力設定を ON にする必要もあります。
まずは、サイトが見れなくなる原因を理解していくために、上記のことを知るのが良いかなぁと思います。
この辺りは、ワードプレスの動作環境によっても異なりますので、
neo さんの場合は KUSANAGI の運営会社に上記のようなワードプレスのログの確認方法&出力方法を聞いてみるのが良いかと思いました。
また、ログの確認ができるようになっても、ログの記載内容まで理解するのは結構大変です。
ただ、結構ログの記載内容に対する説明などはネット上にも多く情報がありますので、
気になるログを検索ワードとしてググってみれば、ログの記載内容を理解することができ、
さらにエラーの原因まで理解することができるかもしれません。
もちろん、ログファイルを修正を担当してくださっている業者さんに送付してあげるだけでも、
どういうエラーが発生しているかは伝えることができるのではないかと思います。
ここまではワードプレスが原因でサイトが見れなくなることを前提とした説明になっていますが、
ワードプレスが原因でなくても、他にもサーバーがダウンしている・アクセスが集中しているなどの原因も考えられます。
ただ、この場合はサーバーを復旧してもらうしかないので、ウェブサイト運営者にできることは無いのかなぁというのが印象です。
あとは、これを業者さんが OK してくれるか分からないですが、
修正をしてもらった際に、修正担当者の方に、何が原因で、その原因であることをどうやって突き止めたのか?を教えてもらったりできれば、
neo さんの知識も広がって、いずれはエラーの原因を自身で突き止めることができるようになるかもしれません。
学ぶ順序であれば、neoさんの考えていらっしゃる通り、ウェブやワードプレスの仕組みを網羅的に学んでいくのが良いかと思います。
ただ、ネット上の情報に関して言えば、ウェブやワードプレスの初め方の記事は多いのに対し、これらの仕組みを知ることができるページは結構少ないのでは無いかという印象です。
そういう意味で、特に仕組み等を理解したい際には書籍を利用してみるのが良いかと思いました(具体的にオススメの書籍などが挙げられなくて申し訳ないのですが…)。
もちろん、リクエストいただければ、私の書けそうな記事であればリクエストにお答えすることもできるかと思いますので、必要に応じてまたコメントいただければ幸いです(レスポンスが遅かったり、記事の作成が遅い可能性は高いですが…)。
daeuさん
ご返事をいただきありがとうございます!大変参考になりました。
一筋縄ではいかないなと思いましたが、ウェブやWordpressの仕組みなど初歩的なところから学んでいき、ログファイルを見ること、見て中身を理解すること、そして解決することまで段階的に進んでいくしかないですね!
daeuさんの発信はとても深い中身まで記載されているので、また記事リクエストさせてください!
neo さん
ご返信ありがとうございます。
そうなんですよね…。なかなか一筋縄では行かないなぁと思いながら返信内容を考えていました。
特にウェブサイトの場合は登場人物が多いので(ウェブブラウザー・ネームサーバー・ウェブサーバー・ワードプレスなどなど)、
なかなか学ぶことも多いんですよね…。
ということで、まずはそういった登場人物や各々の関係性について幅広く調べてみるのも良いかと思いました。
はい。是非気軽にコメント等いただければと思います!今後ともよろしくお願いいたします。