Windows TIPS
[Network]
  Windows TIPS TOPへ
Windows TIPS全リストへ

DNSサーバのキャッシュの内容を調査する

解説をスキップして操作方法を読む

デジタルアドバンテージ
2004/04/24
 
対象ソフトウェア
Windows 2000 Server
Windows Server 2003
DNSサーバは、外部のDNSサーバに問い合わせた結果をDNSキャッシュに保存することで、無駄な外部サーバへの問い合わせを減らし、クライアントからの問い合わせにも高速に応答できる。
DNSキャッシュの内容を確認するには、DNS管理コンソールで詳細設定を選択する。
DNSキャッシュの内容をクリアするには、DNS管理コンソールかdnscmdコマンドを利用する。
 
解説

DNSサーバの動作とDNSキャッシュ

 DNSサーバは、クライアントからの名前解決要求を受け付けて、その名前(FQDN名)からIPアドレスを求めたり、その逆を行ったりするためのサービスを提供する。例えばwww.microsoft.comというFQDN名の問い合わせ要求を受け取ったら、wwwというホストのIPアドレスを、microsoft.comドメインのDNSサーバに問い合わせる(microsoft.comドメインの情報はcomドメインのDNSサーバに問い合わせ、comドメインの情報はさらにその上位にあるルートDNSサーバに問い合わせるというふうに動作している)。そして1度外部のDNSサーバに問い合わせた結果は、以後の問い合わせに備えて、「DNSキャッシュ」と呼ばれる内部的なデータベースに格納している。この仕組みにより、何度も外部へ問い合わせることなく、クライアントからの名前解決要求に高速に応答することができる。

 DNSサーバが正しく動作している場合は、このDNSキャッシュに次々とDNSの問い合わせ結果(DNSレコード)が蓄積されていく。そのため、このキャッシュの内容を調査することにより、DNSサーバが正しく動作しているかどうかを確認することができる。またキャッシュされているDNSレコードの内容を調べることにより、正しいレコード情報がキャッシュされているかどうかを知ることができる。DNSサーバの動作が不調な場合や、返されるDNSレコードの内容が正しくないと思われる場合は、DNSキャッシュの内容を調査するのもよいだろう。

 本TIPSでは、DNSサーバにおけるDNSキャッシュの内容の確認方法と、DNSキャッシュをクリアする方法について解説する。


操作方法

DNSキャッシュの表示方法

 Windows 2000 ServerやWindows Server 2003に含まれるDNSサーバのキャッシュの内容を確認するには、[管理ツール]の[DNS]管理コンソールを利用する。このDNS管理コンソールは、DNSサービスをインストールしているサーバOSでは標準で用意されているはずであるが、それ以外のWindows サーバOS(メンバ・サーバ)や、クライアントOSでも、管理者用ツールをインストールすることにより利用できる。管理ツールのインストール方法についてはWindows TIPSの「サーバ用管理ツールをクライアントPCにインストールする」を参照してほしい。

 DNS管理コンソールを起動したら、左側ペインでDNSサーバ名を選択し(リモートのDNSサーバを管理する場合は、[操作]メニューの[DNSサーバーに接続]であらかじめ目的のDNSサーバに接続しておくこと)、[表示]メニューをクリックして[詳細設定]を選択する。デフォルトではこのメニュー項目はオフ(チェックマークが付いていない状態)になっている。これを選んでチェックマークをオンにすることにより、DNSキャッシュの内容や、デフォルトで定義されている逆引きゾーン(「0.in-addr.arpa」「127.in-addr.arpa」「255.in-addr.arpa」の3つ)が表示されるようになる。

DNSキャッシュの表示
これはWindows Server 2003のDNS管理コンソールの例。DNSキャッシュを表示させるには、DNSの管理コンソールの左側ペインにおいて、サーバ名をクリックして選択状態にする。次に[表示]メニューにある[詳細設定]を選択する。
  DNSサーバ名を左クリックして、選択状態にしておく。
  [表示]メニューにある[詳細設定]を選択する。デフォルトではこの項目は無効になっているので、DNSキャッシュの内容は表示されない。

 このメニュー項目を選択することにより、管理コンソールの左側ペインに新しく[キャッシュされた状態]という項目が表示されるようになる。これをクリックしてツリーを展開することにより、現在キャッシュに格納されているDNSレコードの内容が階層的に表示される(最新の状態にするには、ときどき[更新]ボタンか[F5]キーを押して、強制的に再表示させること)。

表示されたDNSキャッシュの例
これはキャッシュが空の状態で、「www.microsoft.com」というFQDN名をDNSサーバに問い合わせた直後のキャッシュの例。
  表示されたキャッシュの状態。[詳細設定]メニューを選択することにより、このツリーが表示される。
  comドメインに関するDNSレコードのキャッシュ。microsoft.comはcomドメインに属するので、このようなDNSレコードがキャッシュされている。
  netドメインに関するDNSレコードのキャッシュ。ドメインの情報は、ルートDNSサーバと呼ばれる基幹DNSサーバからたどることができるが、これらのサーバはa.root-servers.netやb.root-servers.netというふうに、netドメインに属している。そのため、netドメインのDNSレコードもキャッシュされている。
  microsoft.comドメインに関するDNSレコードのキャッシュ。comドメインの下に属している。
  microsoft.comドメインに登録されているDNSレコードの情報。DNSレコードはmicrosoft.comドメインのDNSサーバを表している。
  wwwという項目が求めるDNSレコード。この項目をダブルクリックすると、このDNSレコードに関する詳細情報(FQDN名やこのレコードの有効生存期間など)が表示される。
  ルートDNSサーバはroot-servers.netドメインに属している。
  [詳細表示]では、これらデフォルトの逆引きゾーンが表示される。

 DNSサーバは階層的に構築されており、その最上位には「ルートDNSサーバ」が配置されている。これらのルートDNSサーバはroot-servers.netドメインに属しているので、comやnet、root-servers.netドメインなどの情報もキャッシュされていることが分かる。ルートDNSサーバに関する情報はWindows TIPSの「DNSサービスのルート・ヒントを変更する」を参照してほしい。

 なおDNSの検索結果は、クライアント側でも独自にキャッシュしているので(Windows TIPS「名前解決のトラブルシューティング(DNSリゾルバ・キャッシュ編)」参照)、DNSサーバのキャッシュの内容を確認する場合は、あらかじめ「ipconfig /flushdns」コマンドを使ってクライアント側のキャッシュの内容をクリアしておくのが望ましい。

DNSキャッシュのクリア

 このように、DNSキャッシュには問い合わせ結果のDNSレコードがキャッシュされているが、キャッシングの前後の状態を確認したいのでキャッシュをクリアしたい場合や、キャッシュされているDNSレコードが多すぎて確認が難しいといった場合には、その内容をクリアすることができる。

 キャッシュの内容はDNSサービスを再起動させるとクリアされるが、手動で強制的にクリアすることもできる。GUIでクリア操作を行うためには、DNSの管理コンソールで、サーバ名もしくは[キャッシュされた参照]というツリー項目を選択し、[操作]メニューから[キャッシュの消去]を選ぶか、右クリックしてポップアップ・メニューから[キャッシュの消去]を選ぶ。

DNSキャッシュの消去
DNS管理コンソールでDNSキャッシュの内容を消去するには、サーバ名か[キャッシュされた参照]を右クリックし、ポップアップ・メニューから[キャッシュの消去]を選択する([操作]メニューから[キャッシュの消去]を選んでもよい)。
  サーバ名を右クリックする。
  ポップアップ・メニューから[キャッシュの消去]を選択すると、現在のDNSキャッシュの内容がクリアされる。

 これ以外にも、サポート・ツールに含まれるdnscmd.exeというコマンドを使って、「dnscmd サーバ名 /clearcache」を実行してもよい。サポート・ツールについてはWindows TIPSの「Windows 2000管理者向けツールの種類と使い分け」を参照していただきたい。End of Article

関連記事(Windows Server Insider)
  Windows TIPS:サーバ用管理ツールをクライアントPCにインストールする
  Windows TIPS:DNSサービスのルート・ヒントを変更する
  Windows TIPS:名前解決のトラブルシューティング(DNSリゾルバ・キャッシュ編)
  Windows TIPS:Windows 2000管理者向けツールの種類と使い分け
     
この記事と関連性の高い別のWindows TIPS
nslookupの基本的な使い方(イントラネット編)
DNSサービスのルート・ヒントを変更する
優先DNSサーバと代替DNSサーバの動作について
名前解決のトラブルシューティング(DNSリゾルバ・キャッシュ編)
DNSのラウンドロビン設定を確認する
DNSサーバでゾーンごとに異なるフォワーダを使う
分散サービス拒否(DDoS)攻撃を仕掛けるDNS ampとは?
Google Public DNSでWeb表示を高速化する
リモート・ネットワークの名前解決をhosts/lmhostsで行う
ネットワークの修復機能とは
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「Windows TIPS」

TechTargetジャパン

Windows Server Insider フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

キャリアアップ

- PR -
@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

ホワイトペーパーTechTargetジャパン

@IT Sepcial
ソリューションFLASH