必须同时启用区域级老化、服务器级清理并确保客户端动态更新配合,三者缺一不可;区域需勾选“启用自动老化/清理”,服务器需勾选“启用自动清理”,AD集成区域还需应用到现有区域。要让 Windows Server DNS 真正自动删除失效记录,光在“高级”属性里勾选一项是不够的——必须区域、服务器、客户端三端联动,缺一不可。很多人只改了服务器高级设置,结果记录照堆不误,就是因为其他环节没配。
区域级:先给记录打上“有效期标签”
老化机制从区域开始。没有区域启用老化,服务器再勤快也无记录可删。
- 在 DNS 管理器中,右键你要清理的正向查找区域(如 contoso.com)→ “属性” → 切换到“常规”选项卡
- 点击下方“老化…”按钮 → 勾选为此区域启用自动老化/清理
- 设两个关键时间:
• 无刷新间隔:默认 7 天,表示记录注册后,即使 IP 不变,客户端也不许刷新时间戳的时长
• 刷新间隔:默认 7 天,无刷新期结束后,客户端必须在此期限内主动更新,否则标记为“待清理”
总生命周期 = 两者之和(如各设 7 天,最多存 14 天) - 注意:手动添加的记录默认无时间戳,不参与老化;如需纳入,得单独右键该记录 → “属性” → 勾选“在此记录上启用老化”
服务器级:打开自动扫描开关并调快频率
区域开了老化,只是给记录贴了“到期日”;服务器开启自动清理,才是真动手删的执行者。
- 右键左侧 DNS 服务器节点(不是区域!)→ “属性” → 切换到“高级”选项卡
- 勾选启用自动清理,并把自动清理周期设为 24 小时(别用默认的 7 天)
- 如果是 AD 集成区域,必须额外操作:
右键服务器 → “设置所有区域的老化/清理” → 勾选 Scavenge Stale Resource Records → 弹窗中务必勾选应用到现有 AD 集成区域(这步极易遗漏)
客户端端:确保时间戳能真实更新
服务端全配好,客户端不动,时间戳就永远停在初始值,老化机制直接瘫痪。
- Windows 客户端默认每 24 小时尝试刷新 A 和 PTR 记录,前提是:
• 网络适配器属性中勾选了“在 DNS 中注册此连接的地址”和“使用此连接的 DNS 后缀注册”
• DHCP 服务器已配置为“为 DNS 动态更新配置”,策略匹配环境(如仅安全客户端) - 所有设备(DNS 服务器、域控、客户端)时间偏差 ≤5 分钟;建议统一部署 NTP 服务
- 静态 IP 主机若未手动启用 DNS 注册,其记录不会刷新,也不会老化
验证与临时清理
配完别只看界面勾选了没,得确认实际生效:
- 查看 DNS 服务器事件日志,筛选事件 ID:
• 2501(清理开始)
• 2502(清理完成)
• 4521(拒绝更新,提示权限或时间问题) - 刚启用时历史陈旧记录不会立刻消失,可立即触发一次:
以管理员身份运行命令提示符 → 输入 dnscmd /startscavenging - 想检查某条记录是否在老化流程中:右键该记录 → “属性”,看“时间戳”字段是否随客户端刷新而更新











