web-dev-qa-db-ja.com

ウィンドウでのWindows DNSサービスのキャッシュを減らす

WindowsベースのLANでDNSキャッシングの問題に苦労しています。

サードパーティのネームサーバーによってホストされているドメインのDNSレコードを変更すると、変更が発生するのを最後に確認したのは、私であることに気づきました。 www.whatsmydns.netのような世界中の伝播をチェックするサービスを使用してドメインにクエリを実行できますが、通常、他のすべてのDNSサーバーが正しく、古いIPを持っているのは自分のサーバーだけです-8〜12時間後でも。私たちがWebサイトの開発者であり、DNSレコードに変更を加えることが多いため、これは私たちにとって問題であり、これらの大きな遅延は苛立たしいものです。

これは、LAN(ローカルDNSサーバーでもあります)上のプライマリドメインコントローラサーバー(+ Active Directory&DNS)がAGES(公開されたTTLをはるかに超える)のレコードをキャッシュするためです。 Windows DNSサーバーのキャッシュを停止したり、キャッシュを1時間程度に減らしたりするにはどうすればよいですか?

4
NickG

私があなたの状況を正しく理解している場合、それはあなたがDNSサーバーの外部レコードのキャッシングに満足していないことです。 DNSサーバー(独自のキャッシュがあるため)とエンドユーザーワークステーションの両方でこれらの設定を試してみるとよいでしょう。レジストリを変更した後、DNSクライアントサービスを再起動します。

受信 MicrosoftサポートKB

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

肯定応答または否定応答がキャッシュされる時間の長さは、次のレジストリキーのエントリの値によって異なります。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNSCache\Parameters

TTLは以下の値の小さい方です。

  • リゾルバが受け取ったクエリ応答で指定された秒数
  • MaxCacheTtlレジストリ設定の値。

ノート

  • デフォルトのTTLは86,400秒(1日)です。
  • 否定応答のTTLは、MaxNegativeCacheTtlレジストリ設定で指定された秒数です。
  • デフォルトのTTLは900秒(15分)です。

否定応答をキャッシュしたくない場合は、MaxNegativeCacheTtlレジストリ設定を0に設定します。

クライアントコンピュータでキャッシュ時間を設定するには:

  • レジストリエディター(Regedit.exe)を起動します。
  • レジストリで次のキーを見つけてクリックします。

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters

  • [編集]メニューの[新規]をポイントし、[DWORD値]をクリックして、次のレジストリ値を追加します。値の名前:MaxCacheTtl

    データ型:REG_DWORDデフォルト値:86400秒値データ:クライアントのDNSキャッシュの最大値TTL値を1秒に下げると、クライアント側のDNSキャッシュが無効。

    値の名前:MaxNegativeCacheTtl

    データタイプ:REG_DWORDデフォルト:900秒値のデータ:否定応答をキャッシュしない場合は、値を0に設定します。

  • 使用する値を入力し、[OK]をクリックします。

  • レジストリエディターを終了します。

5
Ryan Ries