});目的と用途nslookupコマンドは、DNSクライアントの名前解決機能を手動実行するためのコマンドだ。正引き/逆引き、Aレコード/NSレコード/MXレコードなどのレコード種類の絞込み検索や、再帰検索/イテレイティブ検索、DNSサーバの任意切り替え、デバッグの実行など、さまざまなオプションからDNS検索の診断が行える。DNS検索を行いたいだけの場合にも、十分な機能を提供するだろう。-DNSサーバ名]]一般的なコマンド・ライン・モードのほか、ホスト・ドメイン名やIPアドレスが与えられていない場合には、対話モードで使用できる。対話モードでは、コマンドを指定することで、DNSサーバ切り替えやゾーン情報の参照なども行える。Linuxでは、ユーザーのホーム・ディレクトリの「.nslookuprc」ファイルにオプションを記載して、実行時に自動指定しておくこともできる。DNSサーバ名]下記のコマンド以外の文字列が入力された場合、ホスト・ドメイン名またはIPアドレスが入力されたと解釈して、正引きまたは逆引きを実行する。デバッグ・モードを指定する。詳細なデバッグ・モードを指定する。デフォルト・ドメイン名を指定したホスト・ドメイン名に自動的に付加して検索する。wwwと指定された場合に、デフォルト・ドメイン名であるexample.netを付加してwww.example.netとして検索する。recurseは再帰検索を指定する。ドメイン・サーチ・リストを付加して検索する。TCP接続による検索を行う。ドメイン・サーチ・リストを指定する。検索対象とするレコード種別を指定する。DNSサーバへ接続する際のポート番号を指定する。検索するレコード・クラスを指定する。高速ゾーン転送モード(many-answers)を指定する。使用するDNSサーバを、指定したサーバに変更する(デフォルト・サーバの変更)。使用するDNSサーバを、指定したサーバに変更する(デフォルト・サーバの変更)。noignoretcトランケーション・エラーを無視する。TCP接続による再度の検索は行わない。出力ファイル名]指定したドメインのゾーン情報を表示する。これは、通常プライマリ・サーバからセカンダリ・サーバに対して行うゾーン転送と同様の動作である。指定した出力ファイルに内容を出力して、新規作成または追記することもできる。任意のレコードタイプを表示する。一般的な正引きまたは逆引きを行うには、単に解決したいホスト名またはIPアドレスを入力するだけだ。コマンドラインの引数として指定するか、あるいは対話モードで指定する。入力された文字列がホスト名かIPアドレスかは、自動的に判断して検索してくれる。'Name:'が本来のAレコードでの名前。www.example.netがエイリアス(CAMEレコード)の場合にはこのように表されるこの検索では、デフォルト・サーバ(デフォルトで要求を送信するDNSサーバ)に再帰検索を依頼しているだけである点に注意しよう。実際に、ドメイン・ツリーを順に検索する名前解決を行っているのは、デフォルト・サーバだ。一般に、nslookupコマンドなどDNSクライアントは「スタブ・リゾルバ」と呼ばれる、自身では名前解決の依頼をする機能しか提供しない。デフォルト・サーバとして使用されるサーバは、Windowsであれば「ネットワークとダイヤルアップ接続」プロパティ、Linuxであれば「/etc/resolv.conf」ファイルでの指定によって決定されるが、必要に応じてserverまたはlserverコマンドで変更することもできる。192.168.1.201また、指定するホスト名はFQDNに限らない。FQDNでないホスト名(つまり「.(ピリオド)」が含まれていないホスト名)が指定された場合には、デフォルトのドメイン名(DNSサフィックス)を付加して検索してくれる。これはやはり、「ネットワークとダイヤルアップ接続」プロパティや/etc/resolv.confファイルで指定されたドメイン名のほか、必要に応じてdomainオプションで指定することもできる。srchlistオプションで複数の候補を設定しておけば、順に自動的に補完して検索を試行してくれる。ドメイン名は指定していない。192.168.2.20■レコード別に検索を行うnslookupでは、AレコードやPTRレコードの検索だけではなく、SOAレコード/NSレコードなどの任意のレコードの検索を行うこともできる。typeオプションまたはquerytypeオプションで、レコード種別を指定する。レコード種別として'ANY'を指定すれば、関係するドメイン内のすべてのレコードを検索して表示する。192.168.1.201●使用例3(ANYの指定。192.168.1.201■デバックモードで検索の様子を調査する通常の再帰検索だけでは、実際にどのような試行や回答がなされているのかは分からない。debugオプションまたはd2オプションを指定することで、より詳細な検索状況が把握でき、問題点の調査にも役立つだろう。www.example.com突然出力内容が増えてややこしく見えるかもしれないが、これらはDNSプロトコルでサーバとやりとりされたDNSデータの内容そのものだ。「連載:ネットワーク・コマンドでトラブル解決(7)『DNSの設定は正しいか?』」のプロトコルの説明と合わせて見ていただきたい。上記の例では、サーバからの回答においてANSWERSセクションからwww.example.comの正式名(server2.example.com)とIPアドレスが分かる。RECORDSセクションからはそのDNSサーバーのIPアドレスが、それぞれ分かるだろう。DNS検索が正しく稼働しない場合には、検索パスやサーバからのエラーなどを詳しく確認するのに便利だろう。■ゾーン転送を確認するnslookupコマンドでは、ゾーン転送(完全転送:AXFR)をシミュレートすることもできる。これにはlsコマンドを用いる。192.168.1.205serverコマンドでゾーン転送を行うDNSサーバへと切り替えて、lsコマンドを実行すれば、セカンダリDNSサーバによるゾーン転送と同様の動作が行える。引数には転送したいドメイン名を指定する。表示できるレコードは、そのDNSサーバがオーソリティを持っているゾーン情報のみに限られる。プライマリDNSサーバのゾーン転送が正常に動作するかどうかの確認とともに、もう1つの使い方としては、あるドメイン内のレコード定義一覧を表示するのにも使用できるだろう。一般的にはプライマリDNSサーバなどではセキュリティ保護の観点から、ゾーン転送を許可するホストをセカンダリDNSサーバなどだけに制限している場合が多い。その場合にはエラーとなる。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。