Windows XP および Windows Server 2003 でクライアント側の DNS キャッシュを無効にする方法

Windows XP のサポートは終了しました

マイクロソフトでは、2014 年 4 月 8 日に Windows XP のサポートを終了しました。この変更は、ソフトウェアの更新プログラムおよびセキュリティ オプションに影響しています。 この変更の意味および保護された状態を維持する方法について説明します。

Windows Server 2003 のサポートは 2015 年 7 月 14 日で終了しています

Windows Server 2003 のサポートは 2015 年 7 月 14 日で終了しています。この変更は、ソフトウェアの更新プログラムおよびセキュリティ オプションに影響します。 この変更の意味および保護された状態を維持する方法について説明します。

Microsoft Windows 2000 については、次の資料を参照してください。245437
警告 : レジストリ エディタの使い方を誤ると、深刻な問題が発生することがあります。最悪の場合、オペレーティング システムの再インストールが必要になることがあります。マイクロソフトは、レジストリ エディタの誤用により発生した問題に関しては、一切責任を負わないものとします。レジストリ エディタは、自己の責任においてご使用ください。
概要
Windows にはクライアント側の DNS (ドメイン ネーム システム) キャッシュ機能があります。このクライアント側の DNS キャッシュ機能は、DNS サーバーから Windows クライアント コンピュータへの DNS "ラウンド ロビン" 機能が実行されないという間違った印象を与える場合があります。同じ A レコードのドメイン名を検索するために ping コマンドを使用した場合、クライアントが同じ IP アドレスを使用している場合があります。この動作は、Windows 2000 より前の Microsoft オペレーティング システムの動作とは異なります。これらのオペレーティング システムはクライアント側の DNS キャッシュ機能を備えていません。この資料では、DNS キャッシュを無効にする方法について説明します。

: この資料では、DNS のクライアント部分について説明します。この情報を DNS サーバーの変更には使用しないでください。
詳細
DNS キャッシュを停止するには、次のいずれかのコマンドを実行します。
  • net stop dnscache

    - または -
  • sc サーバー名 stop dnscache
Windows で DNS キャッシュを恒久的に無効にするには、サービス コントローラ ツールまたはサービス ツールを使用して DNS Client サービスの [スタートアップの種類] を [無効] に設定します。Windows DNS Client サービスのサービス名は、"Dnscache" と表示される場合もあります。

: DNS リゾルバ キャッシュを無効にすると、クライアント コンピュータの全体的なパフォーマンスが低下し、DNS クエリによるネットワーク トラフィックが増大します。

DNS Client サービスは、既に解決された名前をメモリに保存することにより、DNS 名前解決のパフォーマンスを最適化します。DNS Client サービスが無効になっている場合でも、コンピュータはネットワークの DNS サーバーを使用して DNS 名を解決することができます。

Windows リゾルバは、クエリに対する肯定応答または否定応答を受信すると、その応答をキャッシュに追加し、その結果、DNS リソース レコードを作成します。リゾルバは DNS サーバーへの照会に先立って、必ずキャッシュを確認します。DNS リソース レコードがキャッシュ内に存在すると、リゾルバはサーバーに照会せずに、そのキャッシュのレコードを使用します。この動作により、照会は迅速に処理され、DNS クエリによるネットワーク トラフィックも減少します。

Ipconfig ツールを使用すると、DNS リゾルバ キャッシュを参照したり、消去することができます。DNS リゾルバ キャッシュを参照するには、コマンド プロンプトで ipconfig /displaydns と入力します。Ipconfig は、Hosts ファイルからあらかじめ読み込まれている DNS リソース レコードや最近システムによって解決された名前を含む DNS リゾルバ キャッシュの内容を表示します。一定の時間が経過すると、リゾルバはキャッシュからレコードを廃棄します。その時間は、DNS リソース レコードに関連付けられた Time to Live (TTL) に指定します。また、キャッシュを手動で消去することもできます。キャッシュが消去されると、コンピュータはこれまでに解決したすべての DNS リソース レコードについて、もう一度 DNS サーバーに照会しなければなりません。DNS リゾルバ キャッシュのエントリを消去するには、コマンド プロンプトで ipconfig /flushdns と入力します。

レジストリを使用してキャッシュ時間を制御する

重要 : この資料には、レジストリの編集に関する情報が含まれています。レジストリを編集する前に、問題が発生した場合に備えて、レジストリをバックアップし、復元方法を理解しておいてください。レジストリのバックアップ、復元、および編集方法の詳細については、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
256986 Microsoft Windows レジストリの説明
肯定応答や否定応答がキャッシュされる時間は、次のレジストリ キーに設定するエントリの値に依存します。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNSCache\Parameters
肯定応答の TTL は、次の値のいずれか低い値になります。
  • リゾルバが受信したクエリ応答に指定された秒数
  • レジストリ
    MaxCacheTtl
    の設定値

  • 肯定応答に対するデフォルトの TTL は、86,400 秒 (1 日) です。
  • 否定応答に対する TTL は、レジストリ
    MaxNegativeCacheTtl
    に指定した秒数になります。
  • 否定応答に対するデフォルトの TTL は、900 秒 (15 分) です。
否定応答をキャッシュしたくない場合は、レジストリ
MaxNegativeCacheTtl
の設定値を 0 にします。

クライアント コンピュータでキャッシュ時間を設定するには、次の手順を実行します。
  1. レジストリ エディタ (Regedit.exe) を起動します。
  2. 次のレジストリ キーを探して、クリックします。
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters
  3. [編集] メニューの [新規] をポイントし、[DWORD 値] をクリックして、次のレジストリ値を追加します。
    値の名前 :
    MaxCacheTtl

    データの種類 : REG_DWORD
    デフォルト値 : 86,400 秒
    値のデータ : クライアントの DNS キャッシュの TTL の最大値を 1 秒に下げると、クライアント側の DNS キャッシュが無効になっているように見えます。

    値の名前 :
    MaxNegativeCacheTtl

    データの種類 : REG_DWORD
    デフォルト値 : 900 秒
    値の名前 : 否定応答をキャッシュしたくない場合は、この値を 0 に設定します。
  4. 設定する値を入力し、[OK] をクリックします。
  5. レジストリ エディタを終了します。

サブネットの優先順位付け

Windows XP の DNS リゾルバはサブネットの優先順位付け機能も使用しています。リゾルバが DNS サーバーから複数の IP アドレス マッピング (A リソース レコード) を受信し、そのレコードの中にコンピュータが直接接続しているネットワークの IP アドレスが含まれている場合、リゾルバは、それらのリソース レコードを先頭に配置します。この動作は、コンピュータがより近いネットワーク リソースに接続するよう強制することにより、サブネット間のネットワーク トラフィックを削減します。

サブネットの優先順位付け機能は、サブネット間のネットワーク トラフィックを削減しますが、RFC 1794 に記述されているラウンド ロビン機能を使用することが必要になる場合もあります。このような場合は、次のレジストリ キーに PrioritizeRecordData というレジストリ エントリを追加して、値に 0 (REG_DWORD データ型) を設定することにより、クライアントのサブネット優先順位付け機能を無効にすることができます。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DnsCache\Parameters
関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
297510 [HOW TO] DNS レコードの Time to Live を変更する方法
286834 DNS Client サービスがリストの最初のサーバーを使用しない
関連情報については、ホワイト ペーパー「Windows 2000 DNS」を参照してください。この資料を参照するには、下記のいずれかのマイクロソフト Web サイトにアクセスしてください。関連情報については、『Microsoft Windows XP Professional リソース キット 下巻』 の第 4 部 ネットワーク管理と構成 「DNS キャッシュ、サブネット優先機能、セキュリティの構成」 の章を参照してください。
dnscache DNS cache client MaxCacheEntryTtlLimit NegativeCacheTime MaxCacheTtl
関連情報
この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 318803 (最終更新日 2003-04-02) をもとに作成したものです。
プロパティ

文書番号:318803 - 最終更新日: 05/01/2003 05:46:00 - リビジョン: 2.1

Microsoft Windows Server 2003, Enterprise Edition (32-bit x86), Microsoft Windows Server 2003, Standard Edition (32-bit x86), Microsoft Windows Server 2003, Web Edition, Microsoft Windows XP Professional

  • kbhowto kbinfo kbnetwork KB318803
フィードバック