DNS クライアントでの DNS クライアント側のキャッシュを無効にするDisable DNS client-side caching on DNS clients

Windows には、クライアント側の DNS キャッシュが含まれています。Windows contains a client-side DNS cache. クライアント側の DNS キャッシュ機能では、dns の "ラウンドロビン" 負荷分散が DNS サーバーから Windows クライアントコンピューターに対して行われていないという誤った印象を生成することがあります。The client-side DNS caching feature may generate a false impression that DNS "round robin" load balancing is not occurring from the DNS server to the Windows client computer. Ping コマンドを使用して同じ A レコードドメイン名を検索すると、クライアントは同じ IP アドレスを使用する場合があります。When you use the ping command to search for the same A-record domain name, the client may use the same IP address.

クライアント側のキャッシュを無効にする方法How to disable client-side caching

DNS キャッシュを停止するには、次のコマンドのいずれかを実行します。To stop DNS caching, run either of the following commands:

net stop dnscache
sc servername stop dnscache

Windows で DNS キャッシュを完全に無効にするには、サービスコントローラーツールまたはサービスツールを使用して、DNS クライアントサービスのスタートアップの種類を [無効] に設定します。To disable the DNS cache permanently in Windows, use the Service Controller tool or the Services tool to set the DNS Client service startup type to Disabled. Windows DNS クライアントサービスの名前は、"Dnscache" として表示される場合もあることに注意してください。Note that the name of the Windows DNS Client service may also appear as "Dnscache."

注意

DNS リゾルバーのキャッシュが非アクティブになると、クライアントコンピューターの全体的なパフォーマンスが低下し、DNS クエリのネットワークトラフィックが増加します。If the DNS resolver cache is deactivated, the overall performance of the client computer decreases and the network traffic for DNS queries increases.

DNS クライアントサービスは、以前に解決された名前をメモリに格納することによって、DNS 名前解決のパフォーマンスを最適化します。The DNS Client service optimizes the performance of DNS name resolution by storing previously resolved names in memory. DNS クライアントサービスが無効になっている場合でも、コンピューターはネットワークの DNS サーバーを使用して DNS 名を解決できます。If the DNS Client service is turned off, the computer can still resolve DNS names by using the network's DNS servers.

Windows リゾルバーがクエリに対して肯定または否定のいずれかの応答を受信すると、その応答がキャッシュに追加され、その結果、DNS リソースレコードが作成されます。When the Windows resolver receives a response, either positive or negative, to a query, it adds that response to its cache and thereby creates a DNS resource record. リゾルバーは、DNS サーバーに対してクエリを実行する前に常にキャッシュをチェックします。The resolver always checks the cache before it queries any DNS server. DNS リソースレコードがキャッシュ内にある場合、競合回避モジュールは、サーバーを照会する代わりにキャッシュのレコードを使用します。If a DNS resource record is in the cache, the resolver uses the record from the cache instead of querying a server. この動作により、クエリが迅速化され、DNS クエリのネットワークトラフィックが減少します。This behavior expedites queries and decreases network traffic for DNS queries.

Ipconfig ツールを使用して、DNS リゾルバーキャッシュを表示およびフラッシュできます。You can use the ipconfig tool to view and flush the DNS resolver cache. DNS リゾルバーのキャッシュを表示するには、コマンドプロンプトで次のコマンドを実行します。To view the DNS resolver cache, run the following command at a command prompt:

ipconfig /displaydns 

このコマンドを実行すると、DNS リゾルバーキャッシュの内容が表示されます。これには、ホストファイルからプリロードされた DNS リソースレコードと、システムによって解決された最近のクエリ名が含まれます。This command displays the contents of the DNS resolver cache, including the DNS resource records that are preloaded from the Hosts file and any recently queried names that were resolved by the system. しばらくすると、リゾルバーはキャッシュからレコードを破棄します。After some time, the resolver discards the record from the cache. この期間は、DNS リソースレコードに関連付けられているTime to Live (TTL) の値によって指定されます。The time period is specified by the Time to Live (TTL) value that is associated with the DNS resource record. キャッシュを手動でフラッシュすることもできます。You can also flush the cache manually. キャッシュをフラッシュした後、コンピューターは、以前にコンピューターによって解決されたすべての DNS リソースレコードについて、DNS サーバーに対してもう一度クエリを実行する必要があります。After you flush the cache, the computer must query DNS servers again for any DNS resource records that were previously resolved by the computer. DNS リゾルバーキャッシュのエントリを削除するには、 ipconfig /flushdnsコマンドプロンプトでを実行します。To delete the entries in the DNS resolver cache, run ipconfig /flushdns at a command prompt.

レジストリを使用したキャッシュ時間の制御Using the registry to control the caching time

重要

このセクションの手順には慎重に従ってください。Follow the steps in this section carefully. レジストリを正しく変更しないと、重大な問題が発生する可能性があります。Serious problems might occur if you modify the registry incorrectly. 変更する前に、問題が発生した場合に復元するためにレジストリをバックアップします。Before you modify it, back up the registry for restoration in case problems occur.

正または負の応答がキャッシュされる時間の長さは、次のレジストリキーのエントリの値によって異なります。The length of time for which a positive or negative response is cached depends on the values of entries in the following registry key:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNSCache\ParametersHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNSCache\Parameters

肯定応答の TTL は、次の値のいずれか小さい方になります。The TTL for positive responses is the lesser of the following values:

  • リゾルバーが受信したクエリ応答に指定された秒数The number of seconds specified in the query response the resolver received

  • MaxCacheTtlレジストリ設定の値。The value of the MaxCacheTtl registry setting.

注意

  • 肯定応答の既定の TTL は86400秒 (1 日) です。The default TTL for positive responses is 86,400 seconds (1 day).
  • 否定応答の TTL は、MaxNegativeCacheTtl レジストリ設定で指定された秒数になります。The TTL for negative responses is the number of seconds specified in the MaxNegativeCacheTtl registry setting.
  • 否定応答の既定の TTL は900秒 (15 分) です。The default TTL for negative responses is 900 seconds (15 minutes). 否定応答をキャッシュしない場合は、MaxNegativeCacheTtl レジストリ設定を0に設定します。If you do not want negative responses to be cached, set the MaxNegativeCacheTtl registry setting to 0.

クライアントコンピューターのキャッシュ時間を設定するには、次のようにします。To set the caching time on a client computer:

  1. レジストリエディター (Regedit.exe) を起動します。Start Registry Editor (Regedit.exe).

  2. レジストリで、次のキーを見つけてクリックします。Locate and then click the following key in the registry:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\ParametersHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters

  3. [編集] メニューの [新規作成] をポイントし、[DWORD 値] をクリックして、次のレジストリ値を追加します。On the Edit menu, point to New, click DWORD Value, and then add the following registry values:

    • 値の名前:MaxCacheTtlValue name: MaxCacheTtl

      データの種類:REG_DWORDData type: REG_DWORD

      値のデータ:既定値は86400秒です。Value data: Default value 86400 seconds.

      クライアントの DNS キャッシュの TTL の最大値を1秒に下げると、クライアント側の DNS キャッシュが無効になっているように見えます。If you lower the Maximum TTL value in the client's DNS cache to 1 second, this gives the appearance that the client-side DNS cache has been disabled.

    • 値の名前:MaxNegativeCacheTtlValue name: MaxNegativeCacheTtl

      データの種類:REG_DWORDData type: REG_DWORD

      値のデータ:既定値は900秒です。Value data: Default value 900 seconds.

      否定応答をキャッシュしない場合は、値を0に設定します。Set the value to 0 if you do not want negative responses to be cached.

  4. 使用する値を入力し、[OK] をクリックします。Type the value that you want to use, and then click OK.

  5. レジストリ エディターを終了します。Quit Registry Editor.