DNSの動作確認してみた( ・`ω・´)

なぜ確認するのか?

登録されているDNSサーバを確認してないために、
かなり痛い目にあったので、
(セカンダリ設定が、、)
確認方法を自分なりにまとめました。

用意するもの

確認する前に、
登録するDNS(プライマリ、セカンダリ)を
書類から探しましょう\(^o^)/

動作環境

Mac 10.8 ターミナルでやります。

やってみたこと

今回は、nslookup を利用します。

nslookup はDNSの正引き、逆引きチェックで
利用すると思います。

nslookup ドメイン名  

上記のコマンドをターミナルで実行しますと

Server:     利用しているDNSサーバ名
Address:    利用しているDNSサーバのipアドレス

Non-authoritative answer:
Name:   www.google.com
Address: 173.194.38.116
Name:   www.google.com
Address: 173.194.38.112
Name:   www.google.com
Address: 173.194.38.114
Name:   www.google.com
Address: 173.194.38.113
Name:   www.google.com
Address: 173.194.38.115

上記は参考に www.google.com で nslookupしてみた結果です。
普通は Non-authoritative answer: の下に一つしか出ないと思います。
(利用している環境によって変わるかと、AWSとかは違うかも)

本題のDNSサーバの確認ですが、

nslookup ドメイン名 確認したいDNSドメイン名

上記のコマンドで
確認したいDNSサーバがちゃんと動作しているか
確認することが出来ます。

ドメイン名 canonical name = ドメイン名  
Name:   ドメイン名  
Address: ipアドレス

確認したDNSサーバが正しい動作をしていれば
上記のような結果が得られます。

    ** server can't find ドメイン名.SSG5-Serial: REFUSED  

確認したDNSサーバが正しい動作(レコードが登録されていない)など
設定に誤りがあれば上記のようなエラーが表示されます。

教訓

今回の教訓をへて、
当たり前な話かも知れませんが
納品されたサーバで
上記のような確認フローを追加する
もしくは
DNSチェックツール(現在、探してます)
を利用する必要があると思いました。

同時に起こったトラブルについて

別件で利用しているDNSサービスのドメイン名が変更されていて、
ドメイン名の管理は別のサービスを利用していたため、
ドメイン名を管理しているサービスのレジストリ
更新する必要がありました。

新しいDNS情報が浸透するまでに
最大(3日)かかるようで(環境によると思います)
その際にも nslookup で確認すればいいと思います。

nslookup ドメイン名 8.8.8.8

上記の 8.8.8.8 は
googleのpublic DNSサービスです。
そこを指定して確認すれば
結構、浸透してると判断出来るのでは?
(私はそんな確認方法にしてます)

私がよく利用するコマンド

ping ドメイン名 or ipアドレス

パケットを送信して、サーバから返答があるか確認します。 (死活監視)

traceroute ドメイン名 or ipアドレス

コマンドを実行したPCから、ドメイン名までの ネットワークルート経路を教えてくれます。 各ルータが表示され、レスポンスも教えてくれるので 何処がボトルネックか判断材料になります。

未来の私の参考になれ
   ゚゚・+。
   |   ゚
  。∩∧∧  

  + (・ω・`) +゚
 
。ヽ  つ
  ゙・+。・゚⊃ +゚
   ☆ ∪  。

   ゙・+。*・゚