你想做什么?
我正在尝试在具有大约一百条陈旧 DNS 记录的 DNS 区域上启用 DNS 清理。
为了实现这一目标您尝试过什么?
我按照大家最喜欢的 TechNet 博客文章设置了 DNS 清理:不要害怕 DNS 清理。只需耐心等待。
我首先禁用了所有域控制器上的清理功能:
DNSCmd . /ZoneResetScavengeServers contoso.com 192.168.1.1 192.168.1.2
然后我在 DNS 区域上启用了自动清理:
然后,我在其中一个域控制器上启用了 DNS 清理:
然后,我找到了一些我希望删除的带有几年前的时间戳的记录,并确保该Delete this record when it becomes stale
时间戳确实已设置:
最后,我重新加载了区域并等待了 14 天(刷新 + 非刷新时间的总和)。
您期望得到什么样的结果?
我希望在 DNS 服务器日志中看到 2501 事件,指出一堆 DNS 记录被删除。
究竟发生了什么?
什么都没发生。区域老化/清理属性显示该区域可以在上周 2014 年 6 月 12 日上午 10:00:00 之后进行清理。没有记录 2501/2502 事件。所有带有“老化”时间戳的记录仍然存在。
增加七天至 2014 年 6 月 18 日上午 10:00:00 后可以清理区域的日期。
据我了解,除非该日期至少已过去 14 天,否则任何内容都不会符合资格为了拾荒,更不用说真正被拾荒了。
事件日志中记录的唯一 2501 个事件是我通过右键单击并选择“清除过时资源记录”触发的。他们指出,清除将在 168 小时后(即今天早上)尝试再次运行。
我启用 DNS 清理已有几个月了,一直在耐心等待事情发生。我多次重新加载区域(这会重置此时间戳)。
我在这里遗漏了什么?
答案1
这已经是老生常谈了,但我会提出一些建议。
据我了解,直到该日期至少过去 14 天之前,任何东西都无法获得清除资格,更不用说真正被清除了。
我不这么认为。设置听起来是正确的,记录应该被清除。需要三件事:为区域、DNS 服务器和带有时间戳的资源记录设置清除。
首先要检查一下资源记录的安全性。系统和企业域控制器通常具有完全控制权。并且没有拒绝条目。
我会检查 dns.exe 的版本以确保它是最新的。2008 R1 和 R2 都存在 DNS 记录墓碑化和清除方式方面的错误。
Windows Server 2008 R1:6.0.6002.23387
https://support.microsoft.com/en-us/kb/2962612
Windows Server 2008 R2:6.1.7601.22893
https://support.microsoft.com/en-us/kb/3022780
我假设该区域是 AD 集成的。如果是这样,dnscmd.exe /zoneinfo zoneName 99.999% 的时间都会报告目录分区类型为 AD-Domain(或 AD-Forest)。我见过这样的区域,分区被更改为其他类型,然后又改回来,并且在此过程中出现了问题,或者由于域控制器的配置方式,从一开始它就不是预期的值,或者并非所有域控制器都报告相同的分区类型。
检查 ADSIEdit 中 DC=DomainDNSZones、DC=domain、DC=com 分区的 fsmoRoleOwner 属性。DomainDNSZones 和 ForestDNSZones 有第六/第七个 fsmo 角色所有者。如果过去曾发生过损坏,并且拥有该分区的先前域控制器不再存在,则 fsmoRoleOwner 属性将包含 0ADel: 和先前域控制器的 guid。有关更正此问题的更多信息,请参见此处:
可能干扰正常运行的另一种情况是区域重复。Ace Fekay 在此处有一篇精彩的文章:
答案2
在这一点上我同意 briantist 的观点。您也可以在此处查看帮助:http://support.microsoft.com/kb/2791165
首先...确保重新加载 DNS 区域...然后...基本上,您要确保允许使用 DNSCmd 进行清除的 DC 是运行 DNS 的 DC。如果由于问题已久,您仍遇到此问题,请按照此 KB 文章进行操作。此文章和您的 Technet 博客应该会为您指明正确的方向。如果您最终以另一种方式解决了此问题,请在此处发布答案,这将很有帮助!