DNS缓存是一个临时数据库,用于存储有关以前的DNS查找的信息。换句话说,每当我们访问时,操作系统和Web浏览器都会保留该域和相应IP地址的记录。这消除了对远程DNS服务器重复查询的需要,并允许操作系统或者浏览器快速解析的URL。
但是,在某些情况下,例如对网络问题进行故障排除或者在更改DNS解析器之后,我们将需要刷新DNS缓存。这将清除缓存的DNS条目,并根据新配置的DNS设置执行后续查找以解析域。
本教程提供了有关如何在不同的操作系统和Web浏览器上刷新DNS缓存的说明。
对于所有Windows版本,清除DNS缓存的过程都是相同的。我们需要使用管理员权限打开命令提示符并运行'ipconfig/flushdns'。
要在Windows 10和8中清除DNS缓存,请执行以下步骤:
ipconfig
/flushdns
成功后,系统将返回以下消息:
Windows IP Configuration
Successfully flushed the DNS Resolver Cache.
要在Windows 7中清除DNS缓存,请执行以下步骤:
在Linux上,除非已安装并运行诸如Systemd-Resolved,DNSMasq或者Nscd之类的缓存服务,否则没有操作系统级DNS缓存。清除DNS缓存的过程因Linux发行版和所使用的缓存服务而异。
大多数现代Linux发行版,例如Ubuntu 18.04,都使用systemd解析的服务来缓存DNS条目。
要确定服务是否正在运行,请使用以下命令:
sudo
systemctl is-active systemd-resolved.service
如果服务正在运行,该命令将显示'active'。否则,我们将看到'inactive'。
要清除系统解析的DNS缓存,请输入:
systemd-resolve --flush-caches
成功执行后,该命令不会返回任何消息。
Dnsmasq是轻量级的DHCP和DNS缓存名称服务器。
如果系统使用DNSMasq作为缓存服务器,则要清除DNS缓存,我们需要重新启动Dnsmasq服务:
systemctl restart dnsmasq.service
或者
service dnsmasq restart
Nscd是一个缓存守护程序,它是大多数基于RedHat的发行版的首选DNS缓存系统。
如果系统使用Nscd清除DNS缓存,则需要重新启动Nscd服务:
systemctl restart nscd.service
service nscd restart
根据我们所运行的版本,在macOS中刷新缓存的命令略有不同。该命令必须以具有系统管理员权限的用户(sudo用户)身份执行。
要清除macOS中的DNS缓存,请执行以下步骤:
killall -HUP mDNSResponder
输入sudo密码,然后再次按Enter。成功后,系统不会返回任何消息。
对于早期版本的macOS,刷新缓存的命令是不同的。
macOS版本10.11和10.9
dscacheutil -flushcache
macOS版本10.10
discoveryutil mdnsflushcache
discoveryutil udnsflushcaches
macOS版本10.6和10.5
大多数现代的Web浏览器都有一个内置的DNS客户端,可以防止每次访问该时重复查询。
要清除Google Chrome的DNS缓存,请执行以下步骤:
如果这样对我们不起作用,请尝试清除缓存和Cookie。
此方法适用于所有基于Chrome的浏览器,包括Chromium,Vivaldi和Opera。
要清除Firefox的DNS缓存,请执行以下步骤:
如果这对我们不起作用,请尝试以下方法并暂时禁用DNS缓存。
原文链接:https://codingdict.com/