温馨提示×

centos如何清除域名缓存

小樊
44
2026-10-14 14:00:13
栏目: 云计算

在 CentOS 中“清除域名缓存(DNS 缓存)”的方法,取决于你系统里实际使用了哪种 DNS 缓存服务。下面按常见情况说明:


一、使用 systemd-resolved(CentOS 8 / Rocky / Alma 等较新系统)

如果系统使用 systemd-resolved:

sudo systemd-resolve --flush-caches

或新版本:

sudo resolvectl flush-caches

验证:

resolvectl statistics

二、使用 nscd(Name Service Cache Daemon)

很多老 CentOS 会装 nscd:

查看是否运行:

systemctl status nscd

清除 DNS 缓存:

sudo nscd -i hosts

或重启服务:

sudo systemctl restart nscd

三、使用 dnsmasq

如果本机跑了 dnsmasq(常见于桌面或网关):

sudo systemctl restart dnsmasq

或清除缓存(重启即清空)。


四、使用 BIND(named)作为缓存 DNS

如果是本机 named 做缓存:

sudo rndc flush

或:

sudo systemctl restart named

五、CentOS 7 最常见情况(没有 DNS 缓存)

CentOS 7 默认不缓存 DNS(除非装了 nscd / dnsmasq)。

此时:

  • 没有“系统 DNS 缓存”可清
  • 应用直接走 /etc/resolv.conf

可尝试:

sudo systemctl restart NetworkManager

六、浏览器 / 应用层缓存

注意:

  • 浏览器有独立 DNS 缓存
  • Java / Go / Python 程序可能自己缓存

例如 Chrome:

chrome://net-internals/#dns
→ Clear host cache

快速判断你用的是什么

ps aux | grep -E 'nscd|dnsmasq|systemd-resolve|named'

如果你愿意,可以告诉我:

  • CentOS 版本(cat /etc/redhat-release)
  • 是否服务器 / 桌面
  • 具体“域名解析不对”的现象

我可以给你精确的一条命令。

0 踩