天涼好個秋.

Windows DNS cache TTL调整

990 阅 0 评 问题&解决方案

问题

由于SS插件的精准模式采用dnsmasq配合ipset方式实现,所以很依赖dns解析,如果客户端DNS Cache时间过长则需要手动清除DNScache来达到翻墙的目的。手动清除DNSCache很烦呢~!所以调整TTL很重要。PS:TTL(time to live)

解决方法

微软官方support
摘要:

  • 启动注册表编辑器 (Regedit.exe)。
  • 在以下注册表项中找到 MaxCacheEntryTtlLimit 值:
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters
  • 在编辑菜单上,单击修改。键入 1,然后单击确定。
  • 退出注册表编辑器。

注意此设置并没有真正禁用客户端 DNS 缓存,而是把客户端的 DNS 缓存中的最大 TTL 值降为 1 秒。这样看起来已经禁用了客户端 DNS 缓存。每个后续的 ping 操作将导致对 DNS 服务器进行 DNS 查询。

快捷导入、删除

导入:设置DNSCache超时时间为10S
删除:设置DNSCache超时时间为默认时间

其他

  • 上面的注册列表默认修改时间为10S,如果要修改此时间请编辑DNS_Cache_10s.reg中的0000000a便是(a既十六进制的10)。
  • 如果您的网络状况极差,请勿修改DNS Cache时间,否则只会导致网络更加慢。
EOF