6

如何清除DNS缓存

 1 year ago
source link: https://www.myfreax.com/how-to-clear-the-dns-cache/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
dns

如何清除DNS缓存

DNS缓存是一个临时数据库,用于存储已解释的DNS查找信息。换句话说,每当您访问网站时

Updated At 5 Dec 2022 5 min read
By myfreax
如何清除DNS缓存

如何清除DNS缓存

DNS缓存是一个临时数据库,用于存储已解释的DNS查询信息。换句话说,每当您访问网站时,您的操作系统和网络浏览器都会保留域名和相应IP地址的记录。

这消除对远程DNS服务器重复查询,并允许您的操作系统或浏览器快速解析网站的域名。

但是在某些情况下,例如对网络问题进行故障排除或者在更改DNS地址之后,您可能需要刷新DNS缓存。

这将清除缓存的DNS记录根据DNS地址解释域名。在本教程说明如何在WindowsLinux,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问题进行故障排除。

如果您有任何问题或反馈,请随时发表评论。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK