你目前正处于脱机状态,正在等待 Internet 重新连接

如何在 Windows 中禁用客户端 DNS 缓存

本文的发布号曾为 CHS245437
重要说明:本文包含有关修改注册表的信息。修改注册表之前,一定要先进行备份,并且一定要知道在发生问题时如何还原注册表。有关如何备份、还原和编辑注册表的信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
256986 Microsoft Windows 注册表说明
概要
Windows 包含客户端域名系统 (DNS) 缓存。客户端 DNS 缓存可能会产生一种错误印象,即从 DNS 服务器到 Windows 客户端之间不发生 DNS“循环”。Ping 相同的 A 记录域名可能会导致客户端使用相同的 IP 地址。这种情况与以前版本的 Microsoft 操作系统有所不同。

注意:本文是针对 DNS 的客户端。不要使用这些信息对 DNS 服务器进行更改。
更多信息
真正的 DNS 请求被发送到本地 DNS 缓存。如果已经列出该项,则 Windows 会使用该项,并且不将请求发送到 DNS 服务器。当该项超时(根据其生存时间或 TTL 值)后,将从本地 DNS 缓存中将其清除。下次再将请求发送到 DNS 服务器。

要查看 DNS 缓存,请在命令提示符下键入 ipconfig /displaydns

要从 DNS 缓存中删除该项,请在命令提示符下键入 ipconfig /flushdns

禁用客户端 DNS 缓存

警告:注册表编辑器使用不当可导致严重问题,可能需要重新安装操作系统。Microsoft 不能保证您可以解决因注册表编辑器使用不当而导致的问题。使用注册表编辑器需要您自担风险。

  1. 启动注册表编辑器 (Regedit.exe)。
  2. 在以下注册表项中找到 MaxCacheEntryTtlLimit 值:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters
  3. 编辑菜单上,单击修改。键入 1,然后单击确定
  4. 退出注册表编辑器。
注意此设置并没有真正禁用客户端 DNS 缓存,而是把客户端的 DNS 缓存中的最大 TTL 值降为 1 秒。这样看起来已经禁用了客户端 DNS 缓存。每个后续的 ping 操作将导致对 DNS 服务器进行 DNS 查询。
属性

文章 ID:245437 - 上次审阅时间:02/20/2006 11:21:00 - 修订版本: 3.0

  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows 2000 Datacenter Server
  • kbhowto kbenv KB245437
反馈