今回、XserveでVPSを利用する案件を請負いした時のトラブルシューティングです。
ドメインも取得してもらっていたので、「ドメインの伝播が遅いなあ」と待っていたのです。
最大72時間という説明もあったのですが、普通は24時間くらいで使えるので、1日半待ちましたが、
どうもおかしいのです。
私がVPSもドメインを申し込んだわけではないので、それもよくわからなかった状態でした。
それでいろいろ調べていきました。そのことを踏まえて、マニュアル的な記事にしました。
ドメインとサーバーを繋ぐ!DNS設定の基本とトラブルシューティング
ウェブサイトを公開するためには、ドメイン名とサーバーを紐付ける必要があります。その重要な役割を担うのがDNS(Domain Name System)です。
この記事では、DNSの基本的な仕組みから、実際のトラブルシューティングまで、初心者にも分かりやすく解説します。
1. DNSとは?
DNSは、インターネット上の住所録のようなものです。私たちがウェブサイトにアクセスする際、ブラウザにはドメイン名(例:example.com)を入力します。しかし、コンピューターが通信を行うためには、IPアドレス(例:192.168.1.1)が必要です。
DNSは、ドメイン名とIPアドレスを相互に変換する仕組みを提供します。これにより、私たちは複雑なIPアドレスを覚えることなく、ドメイン名だけでウェブサイトにアクセスできるのです。
2. DNSの仕組み
DNSは、階層的な構造を持つDNSサーバーによって構成されています。
- ルートサーバー: DNSの最上位に位置し、トップレベルドメイン(.com、.jpなど)を管理します。
- トップレベルドメインサーバー: トップレベルドメインごとに存在し、セカンドレベルドメイン(example.comのexampleなど)を管理します。
- 権威DNSサーバー: 各ドメインごとに存在し、そのドメインのDNSレコードを管理します。
私たちがブラウザにドメイン名を入力すると、DNSクエリと呼ばれる問い合わせがDNSサーバーに送信され、最終的に権威DNSサーバーからIPアドレスが返されます。
3. ネームサーバーとは?
ネームサーバーは、権威DNSサーバーのことで、特定のドメインのDNSレコードを管理します。ドメイン登録時に、そのドメインのネームサーバーを指定する必要があります。
ネームサーバーには、ドメイン名とIPアドレスの対応関係などの情報が登録されています。
4. DNSレコードの種類
DNSレコードには、様々な種類がありますが、代表的なものを紹介します。
- Aレコード: ドメイン名とIPv4アドレスを紐付けます。 ★重要
- AAAAレコード: ドメイン名とIPv6アドレスを紐付けます。
- CNAMEレコード: ドメイン名の別名を定義します。
- MXレコード: メールサーバーの情報を定義します。
- TXTレコード: 任意のテキスト情報を定義します。
- NSレコード: ドメインのネームサーバーを指定します。
- SOAレコード: ゾーンに関する権威情報(シリアル番号、更新間隔など)を定義します。
5. DNS設定の流れ
- ドメイン登録: ドメイン登録業者でドメイン名(例:example.com)を登録します。
- ネームサーバー設定: ドメイン登録業者の管理画面で、ネームサーバー(例:ns1.xvps.ne.jp、ns2.xvps.ne.jp、ns3.xvps.ne.jp)を設定します。
- DNSレコード設定: ネームサーバーの管理画面で、DNSレコード(例:Aレコード、NSレコード、SOAレコード)を設定します。
Xserverでは、「VPSの管理画面」と「ドメインの管理画面」のそれぞれに「DNS設定」のメニューがあります。通常はドメインの方から設定するように思えますが、違いました。
ドメインの管理画面からでは、今回のケースではDNS設定はできないのです。
まず、クライアントがVPS管理画面で、「ドメインを追加」していないことがわかりました。
なので、VPSのDNS設定から、ドメインを追加して、DNSのAレコードにVPSのIPを設定しました。
ようは、これをする必要があったということです。
6. トラブルシューティング
DNS設定が正しく行われていない場合、ウェブサイトにアクセスできないなどの問題が発生することがあります。
以下に、代表的なトラブルシューティング方法を紹介します。
- nslookupコマンド: ドメイン名やネームサーバーのIPアドレスを確認できます。
- 例:
nslookup example.com - 例:
nslookup ns1.xvps.ne.jp - 例:
nslookup example.com 202.226.36.195
- 例:
- digコマンド: より詳細なDNS情報を確認できます。
- 例:
dig example.com - 例:
dig ns1.xvps.ne.jp
- 例:
- オンラインDNSルックアップツール: WebブラウザからDNS情報を確認できます。
- 例:https://dnschecker.org/ これ結構役立ちます
7. よくある質問
- Q: ネームサーバーの設定が反映されるまでどのくらい時間がかかりますか?
- A: 通常、24時間から72時間程度かかります。
- Q: DNSレコードの設定を変更した後、すぐに反映されますか?
- A: DNSレコードにはTTL(Time To Live)という有効期限があり、TTLが切れるまで古い情報がキャッシュされることがあります。
8. 今回の事例
今回の事例では、ドメイン会社の管理画面でネームサーバーの設定(ns1.xvps.ne.jp, ns2.xvps.ne.jp, ns3.xvps.ne.jp)は完了していたものの、利用するVPSサーバー(192.0.2.0)にドメイン(example.com)の設定がされておらず、DNSレコードが設定されていなかったことが原因でした。
解決策として、VPSサーバーのDNS設定でAレコードにVPSサーバーのIPアドレス(192.0.2.0)を設定することで解決しました。
9. コマンドプロンプトでの確認方法
- ドメインだけでnslookupする:
nslookup example.com- ドメインのIPアドレスを確認できます。
- ネームサーバーのIPを知る:
nslookup ns1.xvps.ne.jp- ネームサーバーのIPアドレスを確認できます。
- ネームサーバーのIPを使って、ドメインをnslookupする:
nslookup example.com 202.226.36.195- 指定したネームサーバーにドメインの情報を問い合わせることができます。
10. まとめ
DNSは、ドメイン名とサーバーを紐付ける重要な仕組みです。DNS設定に問題が発生した場合、この記事で紹介したトラブルシューティング方法を参考に、問題を解決してください。
WEBプログム、WEBデザインなどの制作については、以下を御覧ください。
WEBプログム、WEBデザインなどの制作