DNS缓存是一个临时数据库,用于存储已解释的DNS查询信息。换句话说,每当您访问网站时,您的操作系统和网络浏览器都会保留域名和相应IP地址的记录。
这消除对远程DNS服务器重复查询,并允许您的操作系统或浏览器快速解析网站的域名。
但是在某些情况下,例如对网络问题进行故障排除或者在更改DNS地址之后,您可能需要刷新DNS缓存。
这将清除缓存的DNS记录根据DNS地址解释域名。在本教程说明如何在Windows,Linux,MacOS操作系统和Web浏览器清除DNS缓存。
Windows 清除DNS缓存
对于所有Windows版本,清除DNS缓存的过程都是相同的。您需要使用管理员权限打开命令提示符CMD并运行命令ipconfig /flushdns
。
例如在Windows 10清除DNS缓存。首先在Windows 10搜索栏键入cmd。右键单击命令提示符
,然后右击以管理员身份运行
。这将打开命令提示符
窗口。
在命令提示符
窗口,键入命令ipconfig /flushdns
,然后按Enter
。成功后,系统将返回消息Successfully flushed the DNS Resolver Cache.
。
ipconfig /flushdns
Linux 清除DNS缓存
在Linux,除非你已安装并运行Systemd-Resolved,DNSMasq或Nscd之类的缓存服务,否则操作系统不会缓存DNS解释结果。
根据Linux发行版和所使用的缓存服务,清除DNS缓存的过程有所不同。大多数de Linux发行版,例如Ubuntu 18.04之后都使用Systemd-Resolved服务缓存DNS记录。
如果你的Linux发行版使用systemd作为初始化服务,可以运行命令sudo systemctl is-active systemd-resolved.service
确定Systemd-Resolved服务是否正在运行。
如果Systemd-Resolved服务正在运行,命令将会打印active
,否则命令打印inactive
。
如果Systemd-Resolved服务正在运行,则可以运行命令sudo systemd-resolve --flush-caches
清除系统DNS缓存。命令不返回任何消息
sudo systemctl is-active systemd-resolved.service
Dnsmasq是轻量级的DHCP和DNS缓存服务器。如果您的系统使用DNSMasq作为缓存服务器。
要清除DNS缓存,则需要重新启动Dnsmasq服务,运行命令sudo systemctl restart dnsmasq.service
。
sudo systemctl restart dnsmasq.service
Nscd是一个缓存守护程序,它是基于RedHat发行版首选DNS缓存系统。如果你的Linux发行版使用Nscd来缓存DNS记录,
要清除DNS缓存,则需要重新启动Nscd服务。运行命令sudo systemctl restart nscd.service
。
sudo systemctl restart nscd.service
MacOS 清除DNS缓存
根据您所运行的版本,在MacOS中刷新缓存的命令略有不同。清除DNS缓存必须以系统管理员权限运行命令。
要清除MacOS DNS缓存,首先打开mac finder。转到应用程序>程序>终端。这将打开终端窗口。
终端运行命令sudo killall -HUP mDNSResponder
然后按Enter。输入您的sudo密码,然后再次按Enter。成功后,系统不会返回任何消息。
早期版本的MacOS,刷新缓存的命令略有不同。MacOS版本10.11和10.9
sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder
MacOS版本10.10
sudo discoveryutil mdnsflushcache
sudo discoveryutil udnsflushcaches
MacOS版本10.6和10.5
sudo dscacheutil -flushcache
Chrome 浏览器清除DNS缓存
现代的Web浏览器都有一个内置的DNS客户端,以防止每次访问网站时重复查询DNS解释IP地址。
要清除Google Chrome浏览器DNS缓存。首先打开一个新标签,然后输入chrome://net-internals/#dns
在Chrome的地址栏。点击清除缓存
按钮。
如果那对您不起作用,请尝试清除缓存和cookie。按下CTRL+Shift+Del
打开清除浏览数据
对话框窗口。
在选择一个时间范围。选择所有时间
以删除所有内容。选中Cookie和其他站点数据
和缓存的图像和文件。点击清除数据
按钮。方法适用于基于Chromium浏览器,包括Vivaldi和Opera。
Firefox 浏览器清除DNS缓存
要清除Firefox的DNS缓存。首先在右上角,单击汉堡包图标☰
打开Firefox的菜单。
点击⚙ Options (Preferences)
链接。单击左侧的隐私和安全性
或隐私
选项卡。向下滚动到该History
部分,然后单击Clear History...
按钮。
选择要清除的时间范围。选择所有内容
将会删除所有内容。选择所有复选框,然后单击立即清除
。
如果这对您不起作用,请尝试以下方法并暂时禁用DNS缓存。打开一个新标签,然后about:config
在Firefox的地址栏中输入。
搜索network.dnsCacheExpiration
,将值暂时设置为0,然后单击确定
。然后,改回默认值,然后单击确定
。
搜索network.dnsCacheEntries
,将值暂时设置为0,然后单击确定
。然后,改回默认值,然后单击确定
。
结论
您已经了解如何在Windows,Linux和MacOS操作系统清除或刷新DNS缓存。Linux和MacOS用户可以使用dig命令查询DNS并对DNS问题进行故障排除。
如果您有任何问题或反馈,请随时发表评论。