在某些复杂的网络系统中,需要保持内部DNS服务器与防火墙的DNS解析的一致性,否则可能对外部网络的访问会出现异常。
很多实践中,内部DNS服务器将无法解析的内容转发至防火墙的DNS服务解析,有时候内部Windows Server上的DNS服务可能因为Cache的原因,其解析结果无法与防火墙上的解析结果保持一致。出现不一致的问题后,我们把内部DNS Server上的Cache清除往往可以解决问题。
要一劳永逸地解决这个问题,我们只需要将内部Windows Server的DNS服务器的Cache关掉即可。
方法简单,以管理员权限运行PowerShell,执行下面命令:
Set-DnsServerCache -MaxTtl 00:00:00
上面的命令把DNS服务器上Cache的内容的TTL置0,相当于没有缓存了。
查看设置结果使用:
Get-DnsServerCache
结果如下图中第一行所示:
图1. 查询DNS Server缓存的设置结果