起因

因众所周知的原因导致我本地的 DNS 缓存经常出现问题,令我不胜其烦,一直以下都是手动运行 ipconfig /flushdns 来进行刷新,今天突然想到是否能自动刷新呢?第一反应是写一个批处理脚本通过win10的计划任务来自动刷新,但是谷哥告诉我还可以通过修改注册表的方式来自动刷新,下面讲一讲如何做。

配置注册表的方式达到自动刷新本地DNS缓存

  1. 首先需要确保服务 DNS Client 在运行且启动类型为自动

    • 使用快捷键 windows+R 打开运行,输入 services.msc 回车

    image-20201010163022146

    • 在弹出的服务窗口中找到 DNS Client 服务,确保其运行且启动类型为自动

image-20201010161957580

  1. 在注册表的DNS缓存部分添加字段MaxCacheTtl 设定自动刷新时间,具体操作如下:

    • 使用快捷键 windows+R 打开运行,输入 regedit 回车

    image-20201010163047213

    • 在新出来的注册表编辑器中的地址栏输入:计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters 然后回车

    • 在右边窗口空白处右键,新建 DWORLD 值,并将该字段重命名为 MaxCacheTtl

    image-20201010162641527

    • 双击 MaxCacheTtl 在弹出的窗口中填入自动刷新的间隔,建议 3600,即一小时刷新一次

    image-20201010162543041

  2. 配置完成