如何清除DNS缓存
DNS缓存是一个临时数据库,用于存储有关以前的DNS查找的信息。换句话说,每当您访问网站时,您的操作系统和网络浏览器都会保留该域和相应IP地址的记录。这消除了对远程DNS服务器重复查询的需要,并允许您的OS或浏览器快速解析网站的URL。
但是,在某些情况下,例如对网络问题进行故障排除,或者在更改DNS解析器之后,您将需要刷新DNS缓存。这将清除缓存的DNS条目,并根据新配置的DNS设置执行后续查找以解析域。
本指南提供有关如何在不同的操作系统和Web浏览器上刷新DNS缓存的说明。
在Windows上清除/刷新DNS缓存
对于所有Windows版本,清除DNS缓存的过程都是相同的。您需要使用管理员权限打开命令提示符并运行ipconfig /flushdns
。
Windows 10和Windows 8
要在Windows 10和8中清除DNS缓存,请执行以下步骤:
- 在Windows搜索栏中键入cmd。
右键单击“命令提示符”,然后右击“以管理员身份运行”。这将打开“命令提示符”窗口。
在命令行上,键入以下行,然后按Enter:
ipconfig /flushdns
成功后,系统将返回以下消息:
Windows IP ConfigurationSuccessfully flushed the DNS Resolver Cache.
Windows 7
要在Windows 7中清除DNS缓存,请执行以下步骤:
- 单击开始按钮。
- 在开始菜单搜索文本框中键入cmd。
- 右键单击“命令提示符”,然后单击“以管理员身份运行”。这将打开“命令提示符”窗口。
在命令行上,键入以下行,然后按Enter:
ipconfig /flushdns
成功后,系统将返回以下消息:
Windows IP ConfigurationSuccessfully flushed the DNS Resolver Cache.
在Linux上清除/刷新DNS缓存
在Linux上,除非已安装并运行诸如Systemd-Resolved,DNSMasq或Nscd之类的缓存服务,否则没有操作系统级DNS缓存。根据Linux发行版和所使用的缓存服务,清除DNS缓存的过程有所不同。
系统化解决
大多数现代Linux发行版,例如Ubuntu 18.04,都使用systemd解析的服务来缓存DNS条目。
要查找服务是否正在运行,请运行:
sudo systemctl is-active systemd-resolved.service
如果该服务正在运行,则将打印命令active
,否则将看到inactive
。
要清除系统解析的DNS缓存,您需要键入以下命令。
sudo systemd-resolve --flush-caches
成功后,该命令不会返回任何消息。
Dnsmasq
Dnsmasq是轻量级的DHCP和DNS缓存名称服务器。
如果您的系统使用DNSMasq作为缓存服务器,则要清除DNS缓存,需要重新启动Dnsmasq服务:
sudo systemctl restart dnsmasq.service
也可以使用以下命令
sudo service dnsmasq restart
NSCD
Nscd是一个缓存守护程序,它是大多数基于RedHat的发行版的首选DNS缓存系统。
如果系统使用Nscd来清除DNS缓存,则需要重新启动Nscd服务:
sudo systemctl restart nscd.service
sudo service nscd restart
在MacOS上清除/刷新DNS缓存
根据您所运行的版本,在MacOS中刷新缓存的命令略有不同。该命令必须以具有系统管理员特权的用户(sudo用户)身份运行。
要清除MacOS中的DNS缓存,请执行以下步骤:
- 打开查找器。
- 转到应用程序>实用程序>终端。这将打开终端窗口。
在命令行中,输入以下行,然后按Enter:
sudo killall -HUP mDNSResponder
输入您的sudo密码,然后再次按Enter。成功后,系统不会返回任何消息。
对于早期版本的MacOS,刷新缓存的命令不同。
MacOS版本10.11和10.9
sudo dscacheutil -flushcachesudo killall -HUP mDNSResponder
MacOS版本10.10
sudo discoveryutil mdnsflushcachesudo discoveryutil udnsflushcaches
MacOS版本10.6和10.5
sudo dscacheutil -flushcache
清除/刷新浏览器DNS缓存
大多数现代的Web浏览器都有一个内置的DNS客户端,以防止每次访问该网站时重复查询。
谷歌浏览器Chrome
要清除Google Chrome的 DNS缓存,请执行以下步骤:
- 打开一个新标签,然后输入
chrome://net-internals/#dns
Chrome的地址栏。 - 点击“清除主机缓存”按钮。
如果那对您不起作用,请尝试清除缓存和cookie。
- 按下
CTRL+Shift+Del
以打开“清除浏览数据”对话框窗口。 - 选择一个时间范围。选择“所有时间”以删除所有内容。
- 选中“ Cookie和其他站点数据”和“缓存的图像和文件”框。
- 点击“清除数据”按钮。
此方法适用于所有基于Chrome的浏览器,包括Chromium,Vivaldi和Opera。
火狐Firefox
要清除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问题进行故障排除。
如果您有任何问题或反馈,请随时发表评论。
以上是 如何清除DNS缓存 的全部内容, 来源链接: utcz.com/z/507001.html