如图所示,基本逻辑为:
客户端 - 本机器dns解析器(如host,dnsmasq)- 本地dns服务器(比如家庭路由器)- 网络dns服务器
为了加速查询,在解析器和服务器上都有缓存在,一般而言我们要清理的是本机器上的dns缓存
显然,我们必须首先了解本地机器用的是什么解析器,可以通过看哪个进程占据了53端口来查询,因为53端口是dns服务器端口。
可以通过以下指令:
分别会下列结果
针对不同的解析器
可以用不同的命令清理
针对system-resolved:
同时为了验证dns缓存真的被清理了,可以用命令来查看缓存
针对dnsmasq:
参考:
https://devconnected.com/how-to-flush-dns-cache-on-linux/
Linux和Unix提供了不同的方法来清除缓存。Linux可以运行 nscd 或者 BIND 或者 dnsmasq 作为名称服务缓存守护进程。Nscd 会缓存libc发起的名称服务的请求。如果把检索NSS数据看做很慢,那么nscd能够显著加快连续访问同一数据的速度,并能提高整个系统的性能。只需重启nscd即可刷新缓存:
$ sudo /etc/init.d/nscd restart
或
# service nscd restart
或
# service nscd reload
Mac下用root用户输入下面的命令:
# dscacheutil -flushcache
或者
$ sudo dscacheutil -flushcache
如果你正在使用OSX 10.5 或者更早的版本,尝试使用下面的命令:
lookupd -flushcache
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)