nslookupとdigを使ってみた
先日、DNSのバージョンアップ作業に携わりました。
この手の作業は、未経験のド素人だったので、有識者とGoogle先生に教えてもらいながらの作業でした。
バージョンアップ後の動作検証で使用したのは、「nslookup」と「dig」の2つ
のコマンドです。
2つともネームサーバに対して問い合わせを行い、その応答結果を表示するコマンドです。
両者の違いを簡単に言うと、以下です。
・nslookupコマンドは、ネームサーバの応答結果を見やすいように加工して表示する
・digコマンドは、ネームサーバの応答結果をほぼそのまま表示する
nslookupはさすがに知っていたが、digは恥ずかしながら知らなかったです。
digは、windowsは標準実装されていないから馴染みがなかったのかなぁと。
以下、実行例です。
お題:「www.yahoo.co.jp」というドメイン名の名前解決を実施。
実行環境は、linuxサーバ下。
図 1 nslookupの実行結果
■セクション1
DNSサーバのIPアドレス・ポート番号
■セクション2
「Non-authoritative answer」は、キャッシュDNSサーバ(権威DNSサーバでない)が回答したということ。
CNAMEは別名の定義で、「www.yahoo.co.jp」は、正式名「edge12.g.yimg.jp.」のIPアドレスを見てくださいということ。
続いて、digコマンド。
■HEADER
statusは、
・NOERROR:正しく情報を得られた場合。
・NXDOMAIN:ドメインが存在しない場合。
・REFUSED:何らかの理由でクエリを拒否された場合。
■QUESTION SECTION
DNSサーバへの問い合わせ内容。
■ANSWER SECTION
問い合わせ内容に対する返答。
■AUTHORITY SECTION
問い合わせ内容の権威を持っているDNSサーバ情報(NSレコード)。
■ADDITIONAL SECTION
追加情報(ここでは、回答されたNSレコード・ホストの情報)。
■最後のセクション
問い合わせにかかった時間、DNSサーバ、実施時間、メッセージサイズ。
以上が、「nslookup」と「dig」の一例です。
より詳しくデバッグしたい場合は、digの方が良いかと思いますが、両コマンドともオプションもいくつかあり、使いこなすといろいろできるかと思います。
(逆引き、DNSサーバ指定、再帰問い合わせしないなど)
今回をきっかけにもっと理解を深めていきたいと思います。
◆WEB会議/セミナーシステム『Szia』
https://www.ois-yokohama.co.jp/szia/
◆サーバサイドで動作するミドルウェア『ReDois』
https://www.ois-yokohama.co.jp/redois/wp_redois/