如何刷新 DNS 缓存 (MacOS, linux, windows) Unix Linux Windows 如何刷新 DNS 缓存 (macOS, FreeBSD, RHEL, Centos, De
如何刷新 DNS 缓存 (MacOS, linux, windows)
Unix Linux Windows 如何刷新 DNS 缓存 (macOS, FreeBSD, RHEL, Centos, Debian, ubuntu, Windows)
请访问原文链接:https://sysin.org/blog/how-to-flush-dns-cache/,查看最新版。原创作品,转载请保留出处。
作者主页:sysin.org
刷新或者清除 DNS 缓存,通常是因为有过时的 DNS 记录,需要立刻从服务端重新获取更新,常见于安全要求或者测试调试等场景。
macOS Catalina and later
打开终端,输入如下命令来重置 DNS 缓存,适用于 macOS 10.15 至 14.x:
sudo killall -HUP mDNSResponder; sudo dscacheutil -flushcache
OS X Yosemite and later
打开终端,输入如下命令来重置 DNS 缓存,适用于 OS X 10.10.4 至 10.14.x:
sudo killall -HUP mDNSResponder
打开终端,输入如下命令来重置 DNS 缓存,适用于 OS X 10.10 至 10.10.3:
sudo discoveryutil mdnsflushcache
OS X Mavericks, Mountain Lion, and Lion
打开终端,输入如下命令来重置 DNS 缓存,适用于 OS X 10.9.5 及之前版本:
sudo killall -HUP mDNSResponder
Mac OS X Snow Leopard
打开终端,输入如下命令来重置 DNS 缓存,适用于 OS X 10.6 至 10.6.8:
sudo dscacheutil -flushcache
参考:Reset the DNS cache in OS X
FreeBSB 自带 nscd(Name Service Cache Daemon),默认没有启用。
以下为 FreeBSD 12 和 13 示例。
运行如下命令启动 nscd 并设置为开机自动运行 (sysin):
sudo service nscd enable && sudo service nscd start
清除缓存即重启 nscd 服务:
sudo service nscd restart
Linux 可以运行 dnsmasq、nscd、unbound 或者 systemd-resolved 作为名称服务缓存守护进程 (sysin)。
如果你的 DNS 服务器是用 dnsmasq 实现的,用下面这个命令:
service dnsmasq restart
如果 dnsmasq 服务不存在,先安装 dnsmasq,命令如下:
sudo yum install dnsmasq
sudo apt install dnsmasq
注:DNSmasq 是一个轻巧的,容易使用的 DNS 服务工具,它可以应用在内部网和 Internet 连接的时候的 IP 地址 NAT 转换,也可以用做小型网络的 DNS 服务。
如果是清除 nscd 上的 Cache,可重新启动 nscd 服务来达成清除 DNS Cache 的效果:
service nscd restart# 或是service nscd reload
如果 nscd 服务不存在,先安装 nscd,命令如下:
sudo yum install nscd
sudo apt install nscd
unbound 使用 unbound-control 命令来管理 DNS 缓存:
# 刷新所有缓存unbound-control flush all# 更多命令查看帮助unbound-control -h
如果 unbound-control 无法执行,先安装 unbound,命令如下:
sudo yum install unbound
sudo apt install unbound
使用 resolvectl 命令刷新 DNS 缓存:
# Step 1. 查看 DNS 缓存状况sudo resolvectl statistics# Step 2. 清除 DNS 缓存,systemd-resolved daemon 默认在所有的 Ubuntu 系统上运行sudo resolvectl flush-caches# Step 3. 正在查看验证结果 (sysin)sudo resolvectl statistics
如果 resolvectl 无法执行,先安装 systemd-resolved,命令如下:
sudo yum install systemd-resolved
sudo apt install systemd-resolved
如果是清除 BIND 服务器上的 CACHE,用这个命令:
rndc flush
如果 rndc 无法执行,先安装 bind,命令如下:
sudo yum install bind
sudo apt install bind9
以下对几个主流发行版单独说明。
包括其兼容发行版:CentOS 及 AlmaLinux、Rocky Linux、oracle Linux
RHEL 及其兼容发行版,默认不启用 DNS 查询缓存。
参看:Best practice for DNS caching in RHEL
常见解决方案:
dnsmasq
使用 dnsmasq 来启用 dns 缓存:
yum -y install dnsmasqsystemctl enable --now dnsmasq
清除缓存即重启 dnsmasq 服务:
systemctl restart dnsmasq
nscd
使用 nscd 来启用 dns 缓存:
yum -y install nscdsystemctl enable --now nscd
清除缓存即重启 nscd 服务:
systemctl restart nscd
Ubuntu 默认运行 systemd-resolved 服务用于名称服务缓存,使用 resolvectl 命令调用 systemd-resolved.service 解析主机名、IP 地址、域名、DNS 资源记录和服务。
systemd-resolved.service 默认启用:
systemctl is-enabled systemd-resolved.serviceenabled
刷新 DNS 缓存:
# Ubuntu 22.04 示例# Step 1. 查看 DNS 缓存状况sudo resolvectl statistics# Step 2. 清除 DNS 缓存,systemd-resolved daemon 默认在所有的 Ubuntu 系统上运行sudo resolvectl flush-caches# Step 3. 正在查看验证结果 (sysin)sudo resolvectl statistics
备注:Ubuntu 也可以配置使用 nscd 或者 dnsmasq。
注意:在旧版本中 resolvectl 命令曾经为 systemd-resolve,现已废弃。命令参数参数略有差异。
# Ubuntu 20.04.5 同时支持 resolvectl 和 systemd-resolve# Step 1. 查看 DNS 缓存状况sudo systemd-resolve --statistics# Step 2. 清除 DNS 缓存,systemd-resolve daemon 默认在所有的 Ubuntu 系统上运行sudo systemd-resolve --flush-caches# Step 3. 正在查看验证结果 (sysin)sudo systemd-resolve --statistics
Debian 默认没有启用 DNS 缓存机制(基本系统)。可以配置使用 systemd-resolved.service 来启用。
以下为 Debian 12 示例。
启用 systemd-resolved.serivce:
sudo apt install systemd-resolved
查看服务已经启用:
systemctl is-enabled systemd-resolved.serviceenabled
刷新 DNS 缓存:
# Step 1. 查看 DNS 缓存状况sudo resolvectl statistics# Step 2. 清除 DNS 缓存,systemd-resolved daemon 默认在所有的 Ubuntu 系统上运行sudo resolvectl flush-caches# Step 3. 正在查看验证结果 (sysin)sudo resolvectl statistics
备注:Debian 也可以配置使用 nscd 或者 dnsmasq。
清除 dns 缓存内容:
ipconfig/flushdns
查看 dns 缓存内容:
ipconfig/displaydns
Windows 下的 DNS Cache 是由 DNS Client 后台进程控制的,你可以在 “服务” 中将其关闭,这样 windows 就不会进行 DNS 缓存,每次都将直接查询 DNS Server。
上述操作通常也和浏览器刷新 DNS 缓存配合使用。
--结束END--
本文标题: 如何刷新 DNS 缓存 (macOS, Linux, Windows)
本文链接: https://www.lsjlt.com/news/389029.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-03-01
2024-03-01
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0