開設したwebサーバに接続できない、メールサーバがメールを受信できないなどのトラブルは良くあることです。
さまざまな要因が考えられますが可能性の一つとして、DNSが正しく設定されていないことが考えられます。
DNSはインターネットで通信を行う上で重要な役割となりますので、DNSの情報がどのように設定されているのかを
確認することは非常に大事なことです。
では、DNSの情報をどのように確認すればよいのかその方法をこの記事で説明いたします。
確認するツールは「nslookup」や「dig」などのコマンドがありますが、
今回はwindowsのコマンドプロンプトから利用可能である「nslookup」コマンドで説明していきます。
まずは、コマンドプロンプトを起動します。(windows10の場合で説明)
①windowsボタンを押下した後に、「cmd」とキーボードから打ち込みます。
②ソフト「コマンドプロンプト」が表示されるので選択し、起動します。
すると、コマンドプロンプトが開きました。
これで準備はできました。
では、さっそくDNSの各項目を確認していきましょう。
Aレコードを確認する
「yahoo.co.jp」や「google.com」などFQDNからそれに紐づくIPアドレスを確認します。
書式 → nslookup -type=A [調べたいFQDN] [参照先DNSのIPアドレス]
※[調べたいFQDN]はこのブログのFQDNにし、参照先DNSはgoogleのDNSサーバを指定しています。
コマンド結果として、nojio.netのFQDNに紐づくIPアドレス「183.90.237.28」である事がわかります。
NSレコードを確認する
「yahoo.co.jp」や「google.com」などFQDNのゾーン情報がどのDNSサーバに登録されているかを確認します。
書式 → nslookup -type=NS [調べたいFQDN] [参照先DNSのIPアドレス]
※[調べたいFQDN]はこのブログのFQDNにし、参照先DNSはgoogleのDNSサーバを指定しています。
コマンド結果として、nojio.netのFQDNのゾーン情報が登録されているDNSサーバは「ns5.xserver.jp」の他
5つあります。内容を見ると、「エックスサーバ」のDNSサーバを利用しており
5台に冗長化されていることが分かります。
余談ですが、これだけ冗長化されていれば万が一、1台のDNSサーバで障害等が発生しても安心ですね。
MXレコードを確認する
「yahoo.co.jp」や「google.com」などFQDNのメールサーバを確認することができます。
※メールサーバは運用されていなければ表示はされません。
書式 → nslookup -type=MX [調べたいFQDN] [参照先DNSのIPアドレス]
※[調べたいFQDN]はこのブログのFQDNにし、参照先DNSはgoogleのDNSサーバを指定しています。
コマンド結果として、nojio.netのメールサーバは「nojio.net」であるが分かります。
余談ですが、通常、メールサーバは、「mail.nojio.net」のようにホスト名が「mail」のようになっていますが、エックスサーバでメールサーバを登録した場合、デフォルトではドメインの名前がそのまま登録されるようです。
PTRレコードを確認する
「yahoo.co.jp」や「google.com」などのFQDNのIPアドレスから、逆にFQDNを確認するためのレコードがPTRです。
プロバイダとかであれば登録されていることがほとんどですが、個人のホームページとかでは、わざわざPTRレコードを登録していないことが多いです。
書式 → nslookup -type=PTR [調べたいIPアドレス] [参照先DNSのIPアドレス]
※[調べたいIPアドレス]はこのブログのIPアドレスにし、参照先DNSはgoogleのDNSサーバを指定しています。
コマンド結果として、nojio.netでは、PTRレコードが登録されていないことが分かります。
登録されていないため、レコードが見つからず一定時間が経過しても検索できなかったため「要求がタイムアウトしました」という結果が表示されています。
全てのレコードを確認する
「yahoo.co.jp」や「google.com」などのFQDNから登録されているレコード全てを一括で確認することができます。
書式 → nslookup -type=ANY [調べたいFQDN] [参照先DNSのIPアドレス]
コマンド結果として、Aレコード、NSレコード、MXレコード全てが表示されています。
また、NSサーバについて「ns1.xserver.jp」がプライマリに設定されていることも確認できます。
※プライマリとは、メインで使用するサーバのことです。プライマリが利用できなくなった場合には、別のサーバを参照しに行きます。
まとめ
いかがでしたでしょうか。
このように、DNSの情報は簡単に確認することができますので
是非、「nslookup」コマンドをご活用いただければと思います。
余談ですが、例えば自社のwebサーバと通信できないといった事象があった場合、
そもそもDNSのゾーン上に正しいwebサーバのIPアドレスが登録されていない可能性があります。
また、メールサーバを送信はできるけど受信ができないといった場合にも
MXレコードが正しく登録されていない可能性があります。
そういった、切り分けの際にも大いに役立つのでぜひゾーンの登録状況の確認方法については、マスターしていただければと思います。