在 CentOS 中“清除域名缓存(DNS 缓存)”的方法,取决于你系统里实际使用了哪种 DNS 缓存服务。下面按常见情况说明:
如果系统使用 systemd-resolved:
sudo systemd-resolve --flush-caches
或新版本:
sudo resolvectl flush-caches
验证:
resolvectl statistics
很多老 CentOS 会装 nscd:
查看是否运行:
systemctl status nscd
清除 DNS 缓存:
sudo nscd -i hosts
或重启服务:
sudo systemctl restart nscd
如果本机跑了 dnsmasq(常见于桌面或网关):
sudo systemctl restart dnsmasq
或清除缓存(重启即清空)。
如果是本机 named 做缓存:
sudo rndc flush
或:
sudo systemctl restart named
CentOS 7 默认不缓存 DNS(除非装了 nscd / dnsmasq)。
此时:
/etc/resolv.conf可尝试:
sudo systemctl restart NetworkManager
注意:
例如 Chrome:
chrome://net-internals/#dns
→ Clear host cache
ps aux | grep -E 'nscd|dnsmasq|systemd-resolve|named'
如果你愿意,可以告诉我:
cat /etc/redhat-release)我可以给你精确的一条命令。