WindowsベースのLANでDNSキャッシングの問題に苦労しています。
サードパーティのネームサーバーによってホストされているドメインのDNSレコードを変更すると、変更が発生するのを最後に確認したのは、私であることに気づきました。 www.whatsmydns.netのような世界中の伝播をチェックするサービスを使用してドメインにクエリを実行できますが、通常、他のすべてのDNSサーバーが正しく、古いIPを持っているのは自分のサーバーだけです-8〜12時間後でも。私たちがWebサイトの開発者であり、DNSレコードに変更を加えることが多いため、これは私たちにとって問題であり、これらの大きな遅延は苛立たしいものです。
これは、LAN(ローカルDNSサーバーでもあります)上のプライマリドメインコントローラサーバー(+ Active Directory&DNS)がAGES(公開されたTTLをはるかに超える)のレコードをキャッシュするためです。 Windows DNSサーバーのキャッシュを停止したり、キャッシュを1時間程度に減らしたりするにはどうすればよいですか?
私があなたの状況を正しく理解している場合、それはあなたがDNSサーバーの外部レコードのキャッシングに満足していないことです。 DNSサーバー(独自のキャッシュがあるため)とエンドユーザーワークステーションの両方でこれらの設定を試してみるとよいでしょう。レジストリを変更した後、DNSクライアントサービスを再起動します。
受信 MicrosoftサポートKB :
レジストリを使用してキャッシュ時間を制御する
肯定応答または否定応答がキャッシュされる時間の長さは、次のレジストリキーのエントリの値によって異なります。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNSCache\Parameters
TTLは以下の値の小さい方です。
ノート
否定応答をキャッシュしたくない場合は、MaxNegativeCacheTtlレジストリ設定を0に設定します。
クライアントコンピュータでキャッシュ時間を設定するには:
レジストリで次のキーを見つけてクリックします。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters
[編集]メニューの[新規]をポイントし、[DWORD値]をクリックして、次のレジストリ値を追加します。値の名前:MaxCacheTtl
データ型:REG_DWORDデフォルト値:86400秒値データ:クライアントのDNSキャッシュの最大値TTL値を1秒に下げると、クライアント側のDNSキャッシュが無効。
値の名前:MaxNegativeCacheTtl
データタイプ:REG_DWORDデフォルト:900秒値のデータ:否定応答をキャッシュしない場合は、値を0に設定します。
使用する値を入力し、[OK]をクリックします。
レジストリエディターを終了します。