如何在 Windows XP 和 Windows Server 2003 中禁用客户端 DNS 缓存
2007-05-07 10:16
417 查看
如何在 Windows XP 和 Windows Server 2003 中禁用客户端 DNS 缓存
察看本文应用于的产品function loadTOCNode(){}
文章编号 | : | 318803 |
最后修改 | : | 2005年12月9日 |
修订 | : | 2.1 |
警告:注册表编辑器使用不当可导致严重问题,可能需要重新安装操作系统。Microsoft 不能保证可以解决因注册表使用不当所导致的问题。使用注册表编辑器需要您自担风险。
本页
概要
更多信息
使用注册表控制缓存时间
子网优先级划分
var sectionFilter = "type != 'notice' && type != 'securedata' && type != 'querywords'";
var tocArrow = "/library/images/support/kbgraphics/public/en-us/downarrow.gif";
var depthLimit = 10;
var depth3Limit = 10;
var depth4Limit = 5;
var depth5Limit = 3;
var tocEntryMinimum = 1;
概要
loadTOCNode(1, 'summary');Windows 包含客户端域名系统 (DNS) 缓存。客户端 DNS 缓存功能可能会令人产生一个错误的印象:DNS“循环”不是从 DNS 服务器到 Windows 客户机进行的。如果您使用 ping 命令搜索同一个 A 记录域名,客户端可能会使用相同的 IP 地址。这种情况不同于 Windows 2000 以前的 Microsoft 操作系统。这些操作系统不包含客户端 DNS 缓存功能。本文介绍了如何禁用 DNS 缓存。
注意:本文讨论 DNS 的客户端部分。不要使用这些信息对 DNS 服务器进行更改。
回到顶端
更多信息
loadTOCNode(1, 'moreinformation');要停止 DNS 缓存,请运行下列任一命令:
• | net stop dnscache - 或者 - |
• | sc 服务器名 stop dnscache |
注意:如果停用 DNS 解析器缓存,客户机的总体性能会降低,并且 DNS 查询的网络通信量会增加。
DNS 客户端服务可通过将以前解析的名称存储在内存中来优化 DNS 名称解析的性能。如果 DNS 客户端服务被关闭,计算机仍然可以使用网络的 DNS 服务器来解析 DNS 名称。
当 Windows 解析器收到对查询的肯定或否定响应时,它会将该肯定或否定响应添加到它的缓存中,从而创建一条 DNS 资源记录。解析器在查询任何 DNS 服务器之前都始终会检查缓存。如果缓存中有 DNS 资源记录,则解析器会使用缓存中的记录而不会查询服务器。这种行为可提高查询速度并降低 DNS 查询的网络通信量。
您可以使用 Ipconfig 工具来查看和刷新 DNS 解析器缓存。要查看 DNS 解析器缓存,请在命令提示符处键入 ipconfig /displaydns。Ipconfig 会显示 DNS 解析器缓存的内容,包括从 Hosts 文件中预先加载的 DNS 资源记录和系统解析过的任何最近查询的名称。一段特定时间之后,解析器会丢弃缓存中的记录。该时间段在与 DNS 资源记录相关联的生存时间 (TTL) 中指定。您还可以手动刷新缓存。刷新完缓存后,计算机必须重新向 DNS 服务器查询计算机以前解析过的任何 DNS 资源记录。要删除 DNS 解析器缓存中的条目,请在命令提示符处键入 ipconfig /flushdns。
回到顶端
使用注册表控制缓存时间
loadTOCNode(2, 'moreinformation');重要说明:本文包含有关修改注册表的信息。修改注册表之前,一定要备份注册表,并且一定要知道在发生问题时如何还原注册表。有关如何备份、还原和编辑注册表的信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
256986 (http://support.microsoft.com/kb/256986/EN-US/) Microsoft Windows 注册表说明
用于缓存肯定或否定响应的时间长度取决于以下注册表项中的条目的值:
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/DNSCache/Parameters
肯定响应的 TTL 是下列值中的较小者:
• | 在解析器收到的查询响应中指定的秒数 |
• | MaxCacheTtl 注册表设置的值。 |
• | 肯定响应的默认 TTL 是 86,400 秒(1 天)。 |
• | 否定响应的 TTL 是在 MaxNegativeCacheTtl 注册表设置中指定的秒数。 |
• | 否定响应的默认 TTL 是 900 秒(15 分钟)。 |
要在客户机上设置缓存时间,请执行下列步骤:
1. | 启动注册表编辑器 (Regedit.exe)。 |
2. | 在注册表中找到并单击以下项: HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Dnscache/Parameters |
3. | 在“编辑”菜单上,指向“新建”,单击“DWORD 值”,然后添加下列注册表值: 数值名称:MaxCacheTtl 数据类型: REG_DWORD 默认值:86400 秒 数值数据:如果您将客户端的 DNS 缓存中的最大 TTL 值降低为 1 秒,则客户端 DNS 缓存看起来已被禁用。 数值名称:MaxNegativeCacheTtl 数据类型:REG_DWORD 默认值:900 秒 数值数据:如果您不希望缓存否定响应,请将该值设为 0。 |
4. | 键入您要使用的值,然后单击“确定”。 |
5. | 退出注册表编辑器。 |
回到顶端
子网优先级划分
loadTOCNode(2, 'moreinformation');Windows XP DNS 解析器还使用“子网优先级划分”。如果解析器从 DNS 服务器收到多个 IP 地址映射(A 资源记录),并且一些记录含有计算机直接连接到的网络中的 IP 地址,则解析器会首先放置这些资源记录。这种行为会强制计算机连接到比较靠近它们的网络资源,从而减少了子网间的网络通信量。
虽然“子网优先级划分”确实可减少子网间的网络通信量,但在某些情况下,您可能喜欢让循环功能按照 RFC 1794 中的说明工作。如果是这样,您可以通过在以下注册表项中添加一个值为 0(REG_DWORD 数据类型)的 PrioritizeRecordData 注册表条目来禁用“子网优先级划分”功能:
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/DnsCache/Parameters
有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
297510 (http://support.microsoft.com/kb/297510/EN-US/) How to Modify Time to Live on Domain Name System Records
286834 (http://support.microsoft.com/kb/286834/EN-US/) The DNS Client Service Does Not Revert to Using the First Server
有关更多信息,请参阅 Windows 2000 DNS 白皮书。要查看此白皮书,请访问下列任一 Microsoft Web 站点:
• | http://www.microsoft.com/windows2000/docs/w2kdns.doc (http://www.microsoft.com/windows2000/docs/w2kdns.doc) |
• | http://www.microsoft.com/technet/prodtechnol/windows2000serv/plan/w2kdns2.mspx (http://www.microsoft.com/technet/prodtechnol/windows2000serv/plan/w2kdns2.mspx) |
回到顶端
这篇文章中的信息适用于:
• | Microsoft Windows Server 2003 Standard Edition |
• | Microsoft Windows XP Professional Edition |
回到顶端
关键字: | kbnetwork kbhowto kbinfo KB318803 |
回到顶端
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务
相关文章推荐
- 如何在 Windows XP 和 Windows Server 2003 中禁用客户端 DNS 缓存
- 如何在 Windows XP 和 Windows Server 2003 中备份、编辑和还原注册表
- 如何在 Windows Server 2003、Windows 2000 和 Windows XP 中备份恢复代理的加密文件系统 (EFS) 私钥
- 如何在 Windows XP 或 Windows Server 2003 的应用程序开发中实现 URL 验证
- 如何在 Windows Server 2003、Windows 2000 和 Windows XP 中备份恢复代理的加密文件系统 (EFS) 私钥
- Windows Server 2003和Windows XP的远程桌面连接客户端下载
- 如何在Windows Server 2003中启用了Active Directory的情况下将 DNS 与现有 DNS 结构集成
- 图解如何在Windows server 2003中设置DNS转发
- 禁用windows DNS客户端缓存
- 如何解决 Windows Server 2003 和 Windows XP 中丢失网络连接图标的问题
- Windows 2000 Server 和 Windows Server 2003 中 DNS 客户端设置的最佳做法
- 如何在 Windows XP 或 Windows Server 2003 的应用程序开发中实现 URL 验证
- 如何刷新本地 DNS 缓存
- windows server 2003-dns
- Windows Server 2003 (Windows xp sp2) 下用JSP访问SQLServer 2000 数据库 (Error establish socket)
- Windows Server 2003 DNS服务器架设注意事项
- 如何给Windows Server 2003安装光盘集成SP1补丁包
- 如何清空linux的DNS缓存
- 分析Memcached客户端如何把缓存数据分布到多个服务器上
- Mac下如何清除DNS缓存?